From: Sylvain Desbureaux Date: Tue, 19 Jan 2021 13:51:24 +0000 (+0100) Subject: [COMMON][CERTS] Use sh to onboard custom certs X-Git-Tag: 7.0.1~17^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=oom.git;a=commitdiff_plain;h=400b9424a04806d8515e64e0bc586e49ff5c6762 [COMMON][CERTS] Use sh to onboard custom certs Today, onboarding custom certificates relies on `bash`. But image used for that doesn't have bash. Therefore, we need to use `sh` in order to onboard the certs. Issue-ID: OOM-2666 Signed-off-by: Sylvain Desbureaux Change-Id: Ia8087bd9484a013ac76044681059f634a4e45eb8 --- diff --git a/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh b/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh index 7e2fa91363..1ef6d77ced 100755 --- a/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh +++ b/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh {{/* # Copyright © 2020 Bell Canada @@ -26,14 +26,20 @@ mkdir -p $WORK_DIR # Decrypt and move relevant files to WORK_DIR for f in $CERTS_DIR/*; do - if [[ $AAF_ENABLED == false ]] && [[ $f == *$ONAP_TRUSTSTORE* ]]; then + export canonical_name_nob64=$(echo $f | sed 's/.*\/\([^\/]*\)/\1/') + export canonical_name_b64=$(echo $f | sed 's/.*\/\([^\/]*\)\(\.b64\)/\1/') + if [ "$AAF_ENABLED" == "false" ] && [ "$canonical_name_b64" == "$ONAP_TRUSTSTORE" ]; then # Dont use onap truststore when aaf is disabled continue fi - if [[ $f == *.sh ]]; then + if [ "$AAF_ENABLED" == "false" ] && [ "$canonical_name_nob64" == "$ONAP_TRUSTSTORE" ]; then + # Dont use onap truststore when aaf is disabled + continue + fi + if [ ${f: -3} == ".sh" ]; then continue fi - if [[ $f == *.b64 ]] + if [ ${f: -4} == ".b64" ] then base64 -d $f > $WORK_DIR/`basename $f .b64` else @@ -42,7 +48,7 @@ for f in $CERTS_DIR/*; do done # Prepare truststore output file -if [[ $AAF_ENABLED == true ]] +if [ "$AAF_ENABLED" == "true" ] then mv $WORK_DIR/$ONAP_TRUSTSTORE $WORK_DIR/$TRUSTSTORE_OUTPUT_FILENAME else @@ -52,10 +58,10 @@ fi # Import Custom Certificates for f in $WORK_DIR/*; do - if [[ $f == *.pem ]]; then + if [ ${f: -4} == ".pem" ]; then echo "importing certificate: $f" keytool -import -file $f -alias `basename $f` -keystore $WORK_DIR/$TRUSTSTORE_OUTPUT_FILENAME -storepass $TRUSTSTORE_PASSWORD -noprompt - if [[ $? != 0 ]]; then + if [ $? != 0 ]; then echo "failed importing certificate: $f" exit 1 fi diff --git a/kubernetes/common/certInitializer/templates/_certInitializer.yaml b/kubernetes/common/certInitializer/templates/_certInitializer.yaml index 800364f1a2..85396a7740 100644 --- a/kubernetes/common/certInitializer/templates/_certInitializer.yaml +++ b/kubernetes/common/certInitializer/templates/_certInitializer.yaml @@ -121,7 +121,7 @@ securityContext: runAsUser: 0 command: - - /bin/bash + - /bin/sh - -c - /root/import-custom-certs.sh env: