[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 <sylvain.desbureaux@orange.com>
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 7e2fa91..87e584c 100755
--- a/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh
+++ b/kubernetes/common/cert-wrapper/resources/import-custom-certs.sh
@@ -26,14 +26,20 @@
# 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 == *.b64 ]]
+ if [ ${f: -3} == ".sh" ]; then
+ continue
+ fi
+ if [ ${f: -4} == ".b64" ]
then
base64 -d $f > $WORK_DIR/`basename $f .b64`
else
@@ -42,7 +48,7 @@
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 @@
# 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 c1459bf..5a8e84c 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: