Skip to content

Commit 14fa459

Browse files
committed
Rework generate-deployment.sh to be simpler
* Restrict envsubst to only replace predefined env vars * Use envsubst on kustomize-built yaml to avoid needing to copy templates to .bak files Signed-off-by: Angel Misevski <[email protected]>
1 parent e46bea4 commit 14fa459

File tree

1 file changed

+11
-21
lines changed

1 file changed

+11
-21
lines changed

deploy/generate-deployment.sh

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424

2525
set -e
2626

27+
# List of environment variables that will be replaced by envsubst
28+
SUBST_VARS='$NAMESPACE $DWO_IMG $RBAC_PROXY_IMAGE $PROJECT_CLONE_IMG $ROUTING_SUFFIX $DEFAULT_ROUTING $PULL_POLICY'
29+
2730
SCRIPT_DIR=$(cd "$(dirname "$0")"; pwd)
2831

2932
function print_help() {
@@ -95,7 +98,7 @@ if $USE_DEFAULT_ENV; then
9598
export PULL_POLICY=Always
9699
export DEFAULT_ROUTING=basic
97100
export DEVWORKSPACE_API_VERSION=cd9c30e6aa05b15445bb05386692f470323c826f
98-
export ROUTING_SUFFIX=""
101+
export ROUTING_SUFFIX='""'
99102
export FORCE_DEVWORKSPACE_CRDS_UPDATE=true
100103
fi
101104

@@ -148,32 +151,19 @@ elif [ "$($KUSTOMIZE version | grep -o 'Version:[^ ]*')" != "Version:kustomize/v
148151
| bash -s "$KUSTOMIZE_VER" "$KUSTOMIZE_DIR"
149152
fi
150153

151-
# Create backups of templates with env vars
152-
mv "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml" "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml.bak"
153-
mv "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml" "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml.bak"
154-
mv "${SCRIPT_DIR}/templates/base/config.properties" "${SCRIPT_DIR}/templates/base/config.properties.bak"
155-
mv "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml" "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml.bak"
156-
157-
# Fill env vars in templates
158-
envsubst < "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml.bak" > "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml"
159-
envsubst < "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml.bak" > "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml"
160-
envsubst < "${SCRIPT_DIR}/templates/base/config.properties.bak" > "${SCRIPT_DIR}/templates/base/config.properties"
161-
envsubst < "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml.bak" > "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml"
162-
163154
# Run kustomize to build yamls
164155
echo "Generating config for Kubernetes"
165-
${KUSTOMIZE} build "${SCRIPT_DIR}/templates/cert-manager" > "${KUBERNETES_DIR}/${COMBINED_FILENAME}"
156+
${KUSTOMIZE} build "${SCRIPT_DIR}/templates/cert-manager" \
157+
| envsubst "$SUBST_VARS" \
158+
> "${KUBERNETES_DIR}/${COMBINED_FILENAME}"
166159
echo "File saved to ${KUBERNETES_DIR}/${COMBINED_FILENAME}"
160+
167161
echo "Generating config for OpenShift"
168-
${KUSTOMIZE} build "${SCRIPT_DIR}/templates/service-ca" > "${OPENSHIFT_DIR}/${COMBINED_FILENAME}"
162+
${KUSTOMIZE} build "${SCRIPT_DIR}/templates/service-ca" \
163+
| envsubst "$SUBST_VARS" \
164+
> "${OPENSHIFT_DIR}/${COMBINED_FILENAME}"
169165
echo "File saved to ${OPENSHIFT_DIR}/${COMBINED_FILENAME}"
170166

171-
# Restore backups to not change templates
172-
mv "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml.bak" "${SCRIPT_DIR}/templates/cert-manager/kustomization.yaml"
173-
mv "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml.bak" "${SCRIPT_DIR}/templates/service-ca/kustomization.yaml"
174-
mv "${SCRIPT_DIR}/templates/base/config.properties.bak" "${SCRIPT_DIR}/templates/base/config.properties"
175-
mv "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml.bak" "${SCRIPT_DIR}/templates/base/manager_image_patch.yaml"
176-
177167
if ! $SPLIT_YAMLS; then
178168
echo "Skipping split combined.yaml step. To split the combined yaml, use the --split-yamls argument."
179169
exit 0

0 commit comments

Comments
 (0)