X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fdocker%2Faaf.sh;h=5e70403fc8fcb992815a6860a20f8865ceed1b16;hb=a6c8596ac600c5cd25ed8af1c420a414e1bcd916;hp=a54c54a17a6b1ebf5feb5c2864b514cf6d61fda4;hpb=e44d2f770f28c3290863e509cb2406dcb67bd686;p=aaf%2Fauthz.git diff --git a/auth/docker/aaf.sh b/auth/docker/aaf.sh index a54c54a1..5e70403f 100644 --- a/auth/docker/aaf.sh +++ b/auth/docker/aaf.sh @@ -1,9 +1,8 @@ #!/bin/bash . ./d.props -docker run \ - -it \ - --rm \ +function run_it() { + docker run $@ \ --mount 'type=volume,src=aaf_config,dst='$CONF_ROOT_DIR',volume-driver=local' \ --add-host="$HOSTNAME:$HOST_IP" \ --add-host="aaf.osaaf.org:$HOST_IP" \ @@ -13,4 +12,59 @@ docker run \ --env LONGITUDE=${LONGITUDE} \ --name aaf_config_$USER \ $PREFIX${ORG}/${PROJECT}/aaf_config:${VERSION} \ - /bin/bash "$@" + /bin/bash $PARAMS +} + +function set_prop() { +docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP setProp "$1" "$2" "$3" +} + +function encrypt_it() { + docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP encrypt "$1" "$2" +} + +function set_it() { + docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP setProp "$1" "$2" +} + +P12_LOAD="no" + +for PROP in AAF_INITIAL_X509_P12 AAF_INITIAL_X509_PASSWORD AAF_SIGNER_P12 AAF_SIGNER_PASSWORD CADI_X509_ISSUERS; do + if [ "${!PROP}" != "" ]; then + P12_LOAD='yes' + break; + fi +done + +# First Time Run does a bit more setup +if [ "$(docker volume ls | grep aaf_config)" = "" ] && [ ${P12_LOAD} = "yes" ]; then + echo "Initializing first aaf_config" + if [ "$(docker container ls | grep aaf_config_$USER)" = "" ]; then + PARAMS="bash" + run_it -t -d + else + echo "aaf_config_$USER is already running" + fi + docker container cp ${AAF_INITIAL_X509_P12} aaf_config_$USER:/opt/app/osaaf/local/org.osaaf.aaf.p12 + docker container cp ${AAF_SIGNER_P12} aaf_config_$USER:/opt/app/osaaf/local/org.osaaf.aaf.signer.p12 + + set_prop cm_ca.local "${CM_CA_LOCAL}" org.osaaf.aaf.cm.ca.props + set_prop cadi_x509_issuers "${CADI_X509_ISSUERS}" org.osaaf.aaf.props + + encrypt_it cadi_keystore_password "${AAF_INITIAL_X509_PASSWORD}" + encrypt_it cm_ca.local "${AAF_SIGNER_PASSWORD}" + + set_it cadi_x509_issuers "${CADI_X509_ISSUERS}" + + + echo -n "Stopping " + docker container stop aaf_config_$USER + echo -n "Removing " + docker container rm aaf_config_$USER +fi + +PARAMS="$@" +if [ "$PARAMS" != "" ]; then + run_it -it --rm +fi +