Skip to content

Commit 24cee71

Browse files
vcarluerjreynard-code
authored andcommitted
dev script compatible with argo multi tenant
1 parent 0cbf852 commit 24cee71

File tree

1 file changed

+49
-40
lines changed

1 file changed

+49
-40
lines changed

api/kubernetes/deploy_via_helm-dev.sh

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ export REQUEUE_TIME="${ARGO_REQUEUE_TIME:-1s}"
5656
export ARGO_RELEASE_NAME=argocsmv2
5757
export MINIO_RELEASE_NAME=miniocsmv2
5858
export POSTGRES_RELEASE_NAME=postgrescsmv2
59-
export ARGO_VERSION="0.16.6"
59+
export ARGO_VERSION="3.4.9"
60+
export ARGO_CHART_VERSION="0.32.2"
6061
export MINIO_VERSION="12.1.3"
6162
export POSTGRESQL_VERSION="11.6.12"
6263
export VERSION_REDIS="17.3.14"
@@ -126,44 +127,44 @@ helm upgrade --install prometheus-operator prometheus-community/kube-prometheus-
126127

127128

128129
# Create namespace keycloak if it does not exist
129-
# kubectl create namespace ${KEYCLOAK_NAMESPACE} --dry-run=client -o yaml | kubectl apply -f -
130+
kubectl create namespace ${KEYCLOAK_NAMESPACE} --dry-run=client -o yaml | kubectl apply -f -
130131

131-
# KEYCLOAK_ADM_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak -o jsonpath="{.data.admin-password}" | base64 -d || "")}
132-
# if [[ -z "${KEYCLOAK_ADM_PASSWORD}" ]] ; then
133-
# KEYCLOAK_ADM_PASSWORD=$(date +%s | sha256sum | base64 | head -c 32)
134-
# fi
132+
KEYCLOAK_ADM_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak -o jsonpath="{.data.admin-password}" | base64 -d || "")}
133+
if [[ -z "${KEYCLOAK_ADM_PASSWORD}" ]] ; then
134+
KEYCLOAK_ADM_PASSWORD=$(date +%s | sha256sum | base64 | head -c 32)
135+
fi
135136

136-
# KEYCLOAK_DB_PASS=${KEYCLOAK_DB_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak-postgresql -o jsonpath="{.data.postgres-password}" | base64 -d || "")}
137-
# if [[ -z "${KEYCLOAK_DB_PASS}" ]] ; then
138-
# KEYCLOAK_DB_PASS=$(date +%s | sha256sum | base64 | head -c 32)
139-
# fi
137+
KEYCLOAK_DB_PASS=${KEYCLOAK_DB_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak-postgresql -o jsonpath="{.data.postgres-password}" | base64 -d || "")}
138+
if [[ -z "${KEYCLOAK_DB_PASS}" ]] ; then
139+
KEYCLOAK_DB_PASS=$(date +%s | sha256sum | base64 | head -c 32)
140+
fi
140141

141-
# KEYCLOAK_DB_USER_PASS=${KEYCLOAK_DB_USER_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak-postgresql -o jsonpath="{.data.password}" | base64 -d || "")}
142-
# if [[ -z "${KEYCLOAK_DB_USER_PASS}" ]] ; then
143-
# KEYCLOAK_DB_USER_PASS=$(date +%s | sha256sum | base64 | head -c 32)
144-
# fi
142+
KEYCLOAK_DB_USER_PASS=${KEYCLOAK_DB_USER_PASSWORD:-$(kubectl get secret --namespace ${KEYCLOAK_NAMESPACE} csm-keycloak-postgresql -o jsonpath="{.data.password}" | base64 -d || "")}
143+
if [[ -z "${KEYCLOAK_DB_USER_PASS}" ]] ; then
144+
KEYCLOAK_DB_USER_PASS=$(date +%s | sha256sum | base64 | head -c 32)
145+
fi
145146

146-
# curl -sSL "https://raw.githubusercontent.com/Cosmo-Tech/azure-platform-deployment-tools/JREY/keycloak/deployment_scripts/v3.0/values-keycloak-config-map-template.yaml" \
147-
# -o "${WORKING_DIR}"/values-keycloak-config-map-template.yaml
147+
curl -sSL "https://raw.githubusercontent.com/Cosmo-Tech/azure-platform-deployment-tools/JREY/keycloak/deployment_scripts/v3.0/values-keycloak-config-map-template.yaml" \
148+
-o "${WORKING_DIR}"/values-keycloak-config-map-template.yaml
148149

149-
# curl -sSL "https://raw.githubusercontent.com/Cosmo-Tech/azure-platform-deployment-tools/JREY/keycloak/deployment_scripts/v3.0/csm-keycloak-config-map.yaml" \
150-
# -o "${WORKING_DIR}"/csm-keycloak-config-map.yaml
150+
curl -sSL "https://raw.githubusercontent.com/Cosmo-Tech/azure-platform-deployment-tools/JREY/keycloak/deployment_scripts/v3.0/csm-keycloak-config-map.yaml" \
151+
-o "${WORKING_DIR}"/csm-keycloak-config-map.yaml
151152

152153
# Create config map for Keycloak base configuration
153-
# kubectl create configmap csm-keycloak-map -n ${KEYCLOAK_NAMESPACE} --from-file=csm-keycloak-config-map.yaml -o yaml --dry-run=client | kubectl -n ${KEYCLOAK_NAMESPACE} apply -f -
154+
kubectl create configmap csm-keycloak-map -n ${KEYCLOAK_NAMESPACE} --from-file=csm-keycloak-config-map.yaml -o yaml --dry-run=client | kubectl -n ${KEYCLOAK_NAMESPACE} apply -f -
154155

155-
# KEYCLOAK_ADM_PASSWORD_VAR=${KEYCLOAK_ADM_PASSWORD} \
156-
# KEYCLOAK_DB_PASS_VAR=${KEYCLOAK_DB_PASS} \
157-
# KEYCLOAK_DB_USER_PASS_VAR=${KEYCLOAK_DB_USER_PASS} \
158-
# envsubst < "${WORKING_DIR}"/values-keycloak-config-map-template.yaml > "${WORKING_DIR}"/values-keycloak-config-map.yaml
156+
KEYCLOAK_ADM_PASSWORD_VAR=${KEYCLOAK_ADM_PASSWORD} \
157+
KEYCLOAK_DB_PASS_VAR=${KEYCLOAK_DB_PASS} \
158+
KEYCLOAK_DB_USER_PASS_VAR=${KEYCLOAK_DB_USER_PASS} \
159+
envsubst < "${WORKING_DIR}"/values-keycloak-config-map-template.yaml > "${WORKING_DIR}"/values-keycloak-config-map.yaml
159160

160161
helm repo add bitnami https://charts.bitnami.com/bitnami
161162
helm repo update
162163

163-
# helm upgrade --install csm-keycloak bitnami/keycloak -n ${KEYCLOAK_NAMESPACE} --version ${KEYCLOAK_VERSION} \
164-
# --values values-keycloak-config-map.yaml \
165-
# --wait \
166-
# --timeout 10m0s
164+
helm upgrade --install csm-keycloak bitnami/keycloak -n ${KEYCLOAK_NAMESPACE} --version ${KEYCLOAK_VERSION} \
165+
--values values-keycloak-config-map.yaml \
166+
--wait \
167+
--timeout 10m0s
167168

168169

169170
# nginx
@@ -431,20 +432,24 @@ type: Opaque
431432
EOF
432433
kubectl apply -n ${NAMESPACE} -f postgres-secret.yaml
433434

434-
# To fix CRD errors due to Argo update
435-
# Only on update case otherwise you'll get an error crd doesn't exist
436-
#CRD=('clusterworkflowtemplates.argoproj.io' 'cronworkflows.argoproj.io' 'workfloweventbindings.argoproj.io' \
437-
# 'workflows.argoproj.io' 'workflowtaskresults.argoproj.io' 'workflowtasksets.argoproj.io' 'workflowtemplates.argoproj.io')
438-
#
439-
#for crd in "${CRD[@]}"
440-
#do
441-
# kubectl label --overwrite crd $crd app.kubernetes.io/managed-by=Helm
442-
# kubectl annotate --overwrite crd $crd meta.helm.sh/release-namespace=phoenix
443-
# kubectl annotate --overwrite crd $crd meta.helm.sh/release-name=argocsmv2
444-
#done
445-
446435
# Argo
436+
## CRDs
437+
echo "Installing Argo CRDs"
438+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_clusterworkflowtemplates.yaml
439+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_cronworkflows.yaml
440+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workflowartifactgctasks.yaml
441+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workfloweventbindings.yaml
442+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workflows.yaml
443+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workflowtaskresults.yaml
444+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workflowtasksets.yaml
445+
kubectl apply -n ${NAMESPACE} -f https://raw.githubusercontent.com/argoproj/argo-workflows/v${ARGO_VERSION}/manifests/base/crds/minimal/argoproj.io_workflowtemplates.yaml
446+
447+
## Chart
447448
cat <<EOF > values-argo.yaml
449+
singleNamespace: true
450+
createAggregateRoles: false
451+
crds:
452+
install: false
448453
images:
449454
pullPolicy: IfNotPresent
450455
workflow:
@@ -473,6 +478,8 @@ artifactRepository:
473478
name: ${MINIO_RELEASE_NAME}
474479
key: root-password
475480
server:
481+
clusterWorkflowTemplates:
482+
enabled: false
476483
extraArgs:
477484
- --auth-mode=server
478485
secure: false
@@ -496,6 +503,8 @@ controller:
496503
extraEnv:
497504
- name: DEFAULT_REQUEUE_TIME
498505
value: "${REQUEUE_TIME}"
506+
clusterWorkflowTemplates:
507+
enabled: false
499508
podLabels:
500509
networking/traffic-allowed: "yes"
501510
serviceMonitor:
@@ -559,7 +568,7 @@ mainContainer:
559568
EOF
560569

561570
helm repo add argo https://argoproj.github.io/argo-helm
562-
helm upgrade --install -n ${NAMESPACE} ${ARGO_RELEASE_NAME} argo/argo-workflows --version ${ARGO_VERSION} --values values-argo.yaml
571+
helm upgrade --install -n ${NAMESPACE} ${ARGO_RELEASE_NAME} argo/argo-workflows --version ${ARGO_CHART_VERSION} --values values-argo.yaml
563572

564573
LOKI_RELEASE_NAME="loki"
565574
helm repo add grafana https://grafana.github.io/helm-charts

0 commit comments

Comments
 (0)