billions-morning-53195
06/06/2022, 3:40 PMkafka-setup-job  pod when configuring Datahub to work with SSL AWS MSK. Is there an example of how to create datahub-certs  secret on K8s? I found one for creating mysql and elasticsearch secrets in Datahub docs but not for SSL secrets for Kafka. If anyone could give me a sample snippet of how to create datahub-certs  secret would help a lot. Thanks in advance!delightful-barista-90363
06/06/2022, 3:58 PMbig-carpet-38439
06/06/2022, 5:14 PMearly-lamp-41924
06/06/2022, 5:18 PMTRUSTSTORE_PASSWORD=$(pwgen -s -1 14)
  KEYSTORE_PASSWORD=$(pwgen -s -1 14)
  cp ${JAVA_HOME}/lib/security/cacerts kafka.client.truststore.jks
  keytool -storepasswd -keystore kafka.client.truststore.jks -storepass changeit -new ${TRUSTSTORE_PASSWORD}
  keytool -genkey -keystore kafka.client.keystore.jks -validity 300 -storepass ${KEYSTORE_PASSWORD} -dname "CN=${namespace}" -alias ${namespace} -storetype pkcs12
  keytool -keystore kafka.client.keystore.jks -certreq -file client-cert-sign-request -alias ${namespace} -storepass ${KEYSTORE_PASSWORD} -keypass ${KEYSTORE_PASSWORD}
  sed -i -e "s/NEW CERTIFICATE REQUEST/CERTIFICATE REQUEST/g" client-cert-sign-request
  PRIVATE_CA_ARN=$(aws ssm get-parameters --region us-west-2 --name "/private-ca/root/arn" --with-decryption --no-cli-pager --query "Parameters[*].{Value:Value}" --output text | tr -d "\n")
  CERTIFICATE_ARN=$(aws acm-pca issue-certificate --region us-west-2 --certificate-authority-arn ${PRIVATE_CA_ARN} --csr <fileb://client-cert-sign-request> --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" | jq -r '.CertificateArn')
  sleep 10 ## Sleep to make sure the issue certificate command has finished
  aws acm-pca get-certificate --region us-west-2 --certificate-authority-arn ${PRIVATE_CA_ARN} --certificate-arn ${CERTIFICATE_ARN} | jq -r '[.Certificate, .CertificateChain] | join("\n")' > signed-certificate-from-acm
  keytool -keystore kafka.client.keystore.jks -import -file signed-certificate-from-acm -alias ${namespace} -storepass ${KEYSTORE_PASSWORD} -keypass ${KEYSTORE_PASSWORD} -noprompt
  kubectl create secret generic ssl-config --from-file=keystore=./kafka.client.keystore.jks --from-file=truststore=./kafka.client.truststore.jks --from-literal=keystore_password=$KEYSTORE_PASSWORD --from-literal=truststore_password=$TRUSTSTORE_PASSWORD --namespace ${namespace}early-lamp-41924
06/06/2022, 5:19 PMearly-lamp-41924
06/06/2022, 5:19 PMglobal:
  ...
  credentialsAndCertsSecrets:
    name: ssl-config
    secureEnv:
      ssl.keystore.password: keystore_password
      ssl.key.password: keystore_password
      ssl.truststore.password: truststore_password
  springKafkaConfigurationOverrides:
    security.protocol: SSL
    ssl.keystore.location: /mnt/certs/keystore
    ssl.truststore.location: /mnt/certs/truststorebillions-morning-53195
06/06/2022, 5:22 PMkafka-setup-job  pod. It doesnt seem to pickup these(SASL and IAM config) values as mentioned here - https://datahubproject.io/docs/how/kafka-config#kafkaearly-lamp-41924
06/06/2022, 5:23 PMbillions-morning-53195
06/06/2022, 5:23 PMkafka-setup-job  to pickup these new env variablesearly-lamp-41924
06/06/2022, 5:23 PMearly-lamp-41924
06/06/2022, 5:24 PMdelightful-barista-90363
06/06/2022, 5:24 PMspringKafkaConfigurationOverrides:
  security.protocol: SSLbillions-morning-53195
06/06/2022, 5:25 PMearly-lamp-41924
06/06/2022, 5:25 PMdelightful-barista-90363
06/06/2022, 5:25 PMearly-lamp-41924
06/06/2022, 5:25 PMbillions-morning-53195
06/06/2022, 5:26 PMbillions-morning-53195
06/06/2022, 5:27 PMspringKafkaConfigurationOverrides:
    ssl.keystore.location: /mnt/datahub/certs/datahub.linkedin.com.keystore.jks
    ssl.truststore.location: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
    kafkastore.ssl.truststore.location: /mnt/datahub/certs/datahub.linkedin.com.truststore.jks
    security.protocol: SASL_SSL
    sasl.mechanism: AWS_MSK_IAM
    sasl.jaas.config: software.amazon.msk.auth.iam.IAMLoginModule required;
    sasl.client.callback.handler.class: software.amazon.msk.auth.iam.IAMClientCallbackHandler
    kafkastore.security.protocol: SSL
    ssl.keystore.type: JKS
    ssl.truststore.type: JKS
    ssl.protocol: TLS
    ssl.endpoint.identification.algorithm:big-carpet-38439
06/06/2022, 5:27 PMearly-lamp-41924
06/06/2022, 5:27 PMearly-lamp-41924
06/06/2022, 5:27 PMbillions-morning-53195
06/06/2022, 5:29 PMEnvironment:                                                                                                                                                                                                                                           
β       KAFKA_ZOOKEEPER_CONNECT:                                 <redacted>                                                                                                                                                                                                                                                    
β       KAFKA_BOOTSTRAP_SERVER:                                  <redacted>                                                           β
β       KAFKA_PROPERTIES_KAFKASTORE_SECURITY_PROTOCOL:           SSL                                                                                                                                                                                         
β       KAFKA_PROPERTIES_KAFKASTORE_SSL_TRUSTSTORE_LOCATION:     /mnt/datahub/certs/datahub.linkedin.com.truststore.jks                                                                                                                                      
β       KAFKA_PROPERTIES_SASL_CLIENT_CALLBACK_HANDLER_CLASS:     software.amazon.msk.auth.iam.IAMClientCallbackHandler                                                                                                                                       
β       KAFKA_PROPERTIES_SASL_JAAS_CONFIG:                       software.amazon.msk.auth.iam.IAMLoginModule required;                                                                                                                                       
β       KAFKA_PROPERTIES_SASL_MECHANISM:                         AWS_MSK_IAM                                                                                                                                                                                 
β       KAFKA_PROPERTIES_SECURITY_PROTOCOL:                      SASL_SSL                                                                                                                                                                                    
β       KAFKA_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM:                                                                                                                                                                                              
β       KAFKA_PROPERTIES_SSL_KEYSTORE_LOCATION:                  /mnt/datahub/certs/datahub.linkedin.com.keystore.jks                                                                                                                                        
β       KAFKA_PROPERTIES_SSL_KEYSTORE_TYPE:                      JKS                                                                                                                                                                                         
β       KAFKA_PROPERTIES_SSL_PROTOCOL:                           TLS                                                                                                                                                                                         
β       KAFKA_PROPERTIES_SSL_TRUSTSTORE_LOCATION:                /mnt/datahub/certs/datahub.linkedin.com.truststore.jks                                                                                                                                      
β       KAFKA_PROPERTIES_SSL_TRUSTSTORE_TYPE:                    JKS                                                                                                                                                                                         
β       PARTITIONS:                                              2                                                                                                                                                                                           
β       REPLICATION_FACTOR:                                      2early-lamp-41924
06/06/2022, 5:29 PMbillions-morning-53195
06/06/2022, 5:29 PMdelightful-barista-90363
06/06/2022, 7:14 PMbillions-morning-53195
06/06/2022, 7:37 PMdelightful-barista-90363
06/06/2022, 7:55 PMdelightful-barista-90363
06/06/2022, 7:55 PMearly-lamp-41924
06/06/2022, 8:02 PMearly-lamp-41924
06/06/2022, 8:04 PMearly-lamp-41924
06/06/2022, 8:04 PMdelightful-barista-90363
06/06/2022, 8:05 PMearly-lamp-41924
06/06/2022, 8:05 PMdelightful-barista-90363
06/06/2022, 8:05 PMspringKafkaConfigurationOverrides:   
  security.protocol: SSL
  kafkastore.security.protocol: SSL
  ssl.protocol: TLS
  ssl.endpoint.identification.algorithm: ""
the kafka_setup job complains that the keystore and truststore files cant be found, even though they are set to emptyearly-lamp-41924
06/06/2022, 8:10 PMdelightful-barista-90363
06/06/2022, 8:11 PMdelightful-barista-90363
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:12 PMearly-lamp-41924
06/06/2022, 8:13 PMearly-lamp-41924
06/06/2022, 8:13 PMdelightful-barista-90363
06/06/2022, 9:09 PMdelightful-barista-90363
06/07/2022, 2:42 PM