| 
									
										
										
										
											2021-04-16 18:40:39 +02:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | : ${PARTITIONS:=1} | 
					
						
							|  |  |  | : ${REPLICATION_FACTOR:=1} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : ${KAFKA_PROPERTIES_SECURITY_PROTOCOL:=PLAINTEXT} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-11 15:41:42 -07:00
										 |  |  | : ${DATAHUB_ANALYTICS_ENABLED:=true} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-19 15:39:38 -07:00
										 |  |  | CONNECTION_PROPERTIES_PATH=/tmp/connection.properties | 
					
						
							| 
									
										
										
										
											2021-04-16 17:51:43 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | echo "bootstrap.servers=$KAFKA_BOOTSTRAP_SERVER" > $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  | echo "security.protocol=$KAFKA_PROPERTIES_SECURITY_PROTOCOL" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							| 
									
										
										
										
											2021-04-16 18:40:39 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-14 02:17:23 +05:30
										 |  |  | ## Add support for SASL_PLAINTEXT | 
					
						
							|  |  |  | if [[ $KAFKA_PROPERTIES_SECURITY_PROTOCOL == "SASL_PLAINTEXT" ]]; then | 
					
						
							|  |  |  |     echo "sasl.jaas.config=$KAFKA_PROPERTIES_SASL_JAAS_CONFIG" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |     echo "sasl.kerberos.service.name=$KAFKA_PROPERTIES_SASL_KERBEROS_SERVICE_NAME" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-23 00:01:10 +01:00
										 |  |  | ## Add support for SASL_SSL | 
					
						
							|  |  |  | if [[ $KAFKA_PROPERTIES_SECURITY_PROTOCOL == "SASL_SSL" ]]; then | 
					
						
							|  |  |  |     echo "sasl.jaas.config=$KAFKA_PROPERTIES_SASL_JAAS_CONFIG" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |     echo "sasl.mechanism=$KAFKA_PROPERTIES_SASL_MECHANISM" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-16 18:40:39 +02:00
										 |  |  | if [[ $KAFKA_PROPERTIES_SECURITY_PROTOCOL == "SSL" ]]; then | 
					
						
							| 
									
										
										
										
											2022-05-16 16:51:19 -04:00
										 |  |  |     if [[ -n $KAFKA_PROPERTIES_SSL_KEYSTORE_LOCATION ]]; then | 
					
						
							|  |  |  |         echo "ssl.keystore.location=$KAFKA_PROPERTIES_SSL_KEYSTORE_LOCATION" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |         echo "ssl.keystore.password=$KAFKA_PROPERTIES_SSL_KEYSTORE_PASSWORD" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |         echo "ssl.key.password=$KAFKA_PROPERTIES_SSL_KEY_PASSWORD" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							| 
									
										
										
										
											2022-06-14 10:29:24 -07:00
										 |  |  |         if [[ -n $KAFKA_PROPERTIES_SSL_KEYSTORE_TYPE ]]; then | 
					
						
							|  |  |  |             echo "ssl.keystore.type=$KAFKA_PROPERTIES_SSL_KEYSTORE_TYPE" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2022-05-16 16:51:19 -04:00
										 |  |  |     fi | 
					
						
							|  |  |  |     if [[ -n $KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION ]]; then | 
					
						
							|  |  |  |         echo "ssl.truststore.location=$KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |         echo "ssl.truststore.password=$KAFKA_PROPERTIES_SSL_TRUSTSTORE_PASSWORD" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							| 
									
										
										
										
											2022-06-14 10:29:24 -07:00
										 |  |  |         if [[ -n $KAFKA_PROPERTIES_SSL_TRUSTSTORE_TYPE ]]; then | 
					
						
							|  |  |  |             echo "ssl.truststore.type=$KAFKA_PROPERTIES_SSL_TRUSTSTORE_TYPE" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2022-05-16 16:51:19 -04:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2021-04-16 17:51:43 -07:00
										 |  |  |     echo "ssl.endpoint.identification.algorithm=$KAFKA_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM" >> $CONNECTION_PROPERTIES_PATH | 
					
						
							| 
									
										
										
										
											2021-04-16 18:40:39 +02:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-11 15:41:42 -07:00
										 |  |  | cub kafka-ready -c $CONNECTION_PROPERTIES_PATH -b $KAFKA_BOOTSTRAP_SERVER 1 60 | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $METADATA_AUDIT_EVENT_NAME | 
					
						
							|  |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $METADATA_CHANGE_EVENT_NAME | 
					
						
							|  |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $FAILED_METADATA_CHANGE_EVENT_NAME | 
					
						
							|  |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $METADATA_CHANGE_LOG_VERSIONED_TOPIC | 
					
						
							| 
									
										
										
										
											2022-03-29 18:32:04 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-30 17:41:03 -07:00
										 |  |  | # Set retention to 90 days | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --config retention.ms=7776000000 --topic $METADATA_CHANGE_LOG_TIMESERIES_TOPIC | 
					
						
							|  |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $METADATA_CHANGE_PROPOSAL_TOPIC | 
					
						
							|  |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $FAILED_METADATA_CHANGE_PROPOSAL_TOPIC | 
					
						
							| 
									
										
										
										
											2022-03-29 18:32:04 -07:00
										 |  |  | kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $PLATFORM_EVENT_TOPIC_NAME | 
					
						
							| 
									
										
										
										
											2021-07-30 17:41:03 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-11 15:41:42 -07:00
										 |  |  | # Create topic for datahub usage event | 
					
						
							|  |  |  | if [[ $DATAHUB_ANALYTICS_ENABLED == true ]]; then | 
					
						
							| 
									
										
										
										
											2022-01-29 01:25:57 +01:00
										 |  |  |   kafka-topics.sh --create --if-not-exists --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --partitions $PARTITIONS --replication-factor $REPLICATION_FACTOR --topic $DATAHUB_USAGE_EVENT_NAME | 
					
						
							| 
									
										
										
										
											2021-05-11 15:41:42 -07:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2022-07-17 18:59:09 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-18 13:25:17 -07:00
										 |  |  | kafka-configs.sh --command-config $CONNECTION_PROPERTIES_PATH --bootstrap-server $KAFKA_BOOTSTRAP_SERVER --entity-type topics --entity-name _schemas --alter --add-config cleanup.policy=compact |