| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | # Using as a base image because to get the needed jars for confluent utils
 | 
					
						
							|  |  |  | FROM confluentinc/cp-base-new:6.1.4 as confluent_base
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Based on https://github.com/blacktop's alpine kafka build
 | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | FROM python:3-alpine
 | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-20 14:14:17 +01:00
										 |  |  | ENV KAFKA_VERSION 2.8.2
 | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | ENV SCALA_VERSION 2.13
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Set the classpath for JARs required by `cub`
 | 
					
						
							|  |  |  | ENV CUB_CLASSPATH='"/usr/share/java/cp-base-new/*"'
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Confluent Docker Utils Version (Namely the tag or branch to grab from git to install)
 | 
					
						
							|  |  |  | ARG PYTHON_CONFLUENT_DOCKER_UTILS_VERSION="v0.0.49"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # This can be overriden for an offline/air-gapped builds
 | 
					
						
							|  |  |  | ARG PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC="git+https://github.com/confluentinc/confluent-docker-utils@${PYTHON_CONFLUENT_DOCKER_UTILS_VERSION}"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | LABEL name="kafka" version=${KAFKA_VERSION}
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 18:44:28 +01:00
										 |  |  | RUN apk add --no-cache bash coreutils
 | 
					
						
							|  |  |  | RUN apk --no-cache add openjdk11-jre --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | RUN apk add --no-cache -t .build-deps git curl ca-certificates jq gcc musl-dev libffi-dev zip
 | 
					
						
							|  |  |  | RUN mkdir -p /opt \
 | 
					
						
							|  |  |  |   && mirror=$(curl --stderr /dev/null https://www.apache.org/dyn/closer.cgi\?as_json\=1 | jq -r '.preferred') \
 | 
					
						
							|  |  |  |   && curl -sSL "${mirror}kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz" \
 | 
					
						
							|  |  |  |   | tar -xzf - -C /opt \
 | 
					
						
							|  |  |  |   && mv /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} /opt/kafka \
 | 
					
						
							|  |  |  |   && adduser -DH -s /sbin/nologin kafka \
 | 
					
						
							|  |  |  |   && chown -R kafka: /opt/kafka \
 | 
					
						
							|  |  |  |   && echo "===> Installing python packages ..."  \
 | 
					
						
							|  |  |  |   && pip install --no-cache-dir jinja2 requests \
 | 
					
						
							|  |  |  |   && pip install --prefer-binary --prefix=/usr/local --upgrade "${PYTHON_CONFLUENT_DOCKER_UTILS_INSTALL_SPEC}" \
 | 
					
						
							|  |  |  |   && echo "===> Applying log4j log4shell fix based on https://www.slf4j.org/log4shell.html ..." \
 | 
					
						
							|  |  |  |   && zip -d /opt/kafka/libs/log4j-1.2.17.jar org/apache/log4j/net/JMSAppender.class \
 | 
					
						
							|  |  |  |   && rm -rf /tmp/* \
 | 
					
						
							|  |  |  |   && apk del --purge .build-deps
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENV PATH /sbin:/opt/kafka/bin/:$PATH
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | WORKDIR /opt/kafka
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RUN ls -la
 | 
					
						
							|  |  |  | COPY --from=confluent_base /usr/share/java/cp-base-new/ /usr/share/java/cp-base-new/
 | 
					
						
							| 
									
										
										
										
											2020-06-08 13:37:14 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-22 16:37:24 -05:00
										 |  |  | ADD --chown=kafka:kafka https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.5/aws-msk-iam-auth-1.1.5-all.jar /usr/share/java/cp-base-new
 | 
					
						
							|  |  |  | ADD --chown=kafka:kafka https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.5/aws-msk-iam-auth-1.1.5-all.jar /opt/kafka/libs
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-14 19:07:50 -07:00
										 |  |  | ENV METADATA_AUDIT_EVENT_NAME="MetadataAuditEvent_v4"
 | 
					
						
							|  |  |  | ENV METADATA_CHANGE_EVENT_NAME="MetadataChangeEvent_v4"
 | 
					
						
							|  |  |  | ENV FAILED_METADATA_CHANGE_EVENT_NAME="FailedMetadataChangeEvent_v4"
 | 
					
						
							| 
									
										
										
										
											2021-05-11 15:41:42 -07:00
										 |  |  | ENV DATAHUB_USAGE_EVENT_NAME="DataHubUsageEvent_v1"
 | 
					
						
							| 
									
										
										
										
											2021-07-30 17:41:03 -07:00
										 |  |  | ENV METADATA_CHANGE_LOG_VERSIONED_TOPIC="MetadataChangeLog_Versioned_v1"
 | 
					
						
							|  |  |  | ENV METADATA_CHANGE_LOG_TIMESERIES_TOPIC="MetadataChangeLog_Timeseries_v1"
 | 
					
						
							|  |  |  | ENV METADATA_CHANGE_PROPOSAL_TOPIC="MetadataChangeProposal_v1"
 | 
					
						
							|  |  |  | ENV FAILED_METADATA_CHANGE_PROPOSAL_TOPIC="FailedMetadataChangeProposal_v1"
 | 
					
						
							| 
									
										
										
										
											2022-04-19 15:22:49 -07:00
										 |  |  | ENV PLATFORM_EVENT_TOPIC_NAME="PlatformEvent_v1"
 | 
					
						
							| 
									
										
										
										
											2021-04-13 07:58:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-26 10:09:08 -06:00
										 |  |  | COPY docker/kafka-setup/kafka-setup.sh ./kafka-setup.sh
 | 
					
						
							|  |  |  | RUN chmod +x ./kafka-setup.sh
 | 
					
						
							| 
									
										
										
										
											2021-04-16 18:40:39 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | CMD ./kafka-setup.sh
 |