diff --git a/hooks/install-application.sh b/hooks/install-application.sh index 8648059..970260a 100755 --- a/hooks/install-application.sh +++ b/hooks/install-application.sh @@ -23,25 +23,30 @@ kubernetes: EOF else export $(jq -r .[0].object.data.vars $BINDING_CONTEXT_PATH) - export SP_CUSTOMER_ID=$(jq -r .[0].object.metadata.namespace $BINDING_CONTEXT_PATH) - export SP_CONFIG_NAME=$(jq -r .[0].object.metadata.name $BINDING_CONTEXT_PATH) + export NAMESPACE=$(jq -r .[0].object.metadata.namespace $BINDING_CONTEXT_PATH) + export NAME=$(jq -r .[0].object.metadata.name $BINDING_CONTEXT_PATH) export SP_APPLICATION=$(jq -r '.[0].object.data."values.yaml"' $BINDING_CONTEXT_PATH | base64 -d | yq '.helm.release') export SP_ENVIRONMENT_ID=$(jq -r .[0].object.metadata.labels.environment $BINDING_CONTEXT_PATH) + kubectl patch configmap -n ${SP_CUSTOMER_ID} ${SP_ENVIRONMENT} \ + -p '{"metadata":{"finalizers":["softplayer.net/bootstrapped"]}}' --type=merge + flux create source helm $SP_APPLICATION \ - --namespace=$SP_CUSTOMER_ID \ + --namespace=$NAMESPACE \ --url=oci://registry.badhouseplants.net/softplayer/helm flux create helmrelease $SP_APPLICATION \ --source=HelmRepository/$SP_APPLICATION \ - --namespace=$SP_CUSTOMER_ID \ + --namespace=$NAMESPACE \ --chart=helmrelease \ - --values-from Secret/$SP_CONFIG_NAME \ + --values-from Secret/$NAME \ --kubeconfig-secret-ref=$SP_ENVIRONMENT_ID-config \ --target-namespace=default --export \ | yq '.spec.storageNamespace="helm-installations"' \ | kubectl apply -f - - flux reconcile helmrelease --namespace=$SP_CUSTOMER_ID $SP_APPLICATION + + + flux reconcile helmrelease --namespace=$NAMESPACE $SP_APPLICATION fi diff --git a/hooks/uninstall-application.sh b/hooks/uninstall-application.sh new file mode 100755 index 0000000..2b7a796 --- /dev/null +++ b/hooks/uninstall-application.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# --------------------------------------------------------------------- +# This script should bootstrap a new environment, or update +# existing ones +# Get the configmap name and namespace to prepare the +# --------------------------------------------------------------------- + +if [[ $1 == "--config" ]] ; then + cat <