summaryrefslogtreecommitdiffstats
path: root/auth/docker/aaf.sh
diff options
context:
space:
mode:
authorInstrumental <jonathan.gathman@att.com>2018-08-20 14:31:35 -0500
committerInstrumental <jonathan.gathman@att.com>2018-08-20 14:31:42 -0500
commitab50267d7a22cffddb4ebf22dc4bee6904f787a9 (patch)
tree9fa97a103f4fc4ef63a969af54c3cc4226927d0a /auth/docker/aaf.sh
parent7fa31dee0dcfc9ef37703feef1c3d573728be742 (diff)
Bootstrap initial CA
Issue-ID: AAF-419 Change-Id: I762c1990e3de5a438082ae9ea137bc278f4c6ada Signed-off-by: Instrumental <jonathan.gathman@att.com>
Diffstat (limited to 'auth/docker/aaf.sh')
-rw-r--r--auth/docker/aaf.sh48
1 files changed, 44 insertions, 4 deletions
diff --git a/auth/docker/aaf.sh b/auth/docker/aaf.sh
index a54c54a1..efd4fe37 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,45 @@ docker run \
--env LONGITUDE=${LONGITUDE} \
--name aaf_config_$USER \
$PREFIX${ORG}/${PROJECT}/aaf_config:${VERSION} \
- /bin/bash "$@"
+ /bin/bash $PARAMS
+}
+
+function encrypt_it() {
+ docker exec -t aaf_config_$USER /bin/bash /opt/app/aaf_config/bin/agent.sh NOOP encrypt "$1" "$2"
+}
+
+P12_LOAD="no"
+
+for PROP in AAF_INITIAL_X509_P12 AAF_INITIAL_X509_PASSWORD AAF_SIGNER_P12 AAF_SIGNER_PASSWORD; 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
+
+ encrypt_it cadi_keystore_password "${AAF_INITIAL_X509_PASSWORD}"
+ encrypt_it cm_ca.local "${AAF_SIGNER_PASSWORD}"
+
+ 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
+