From 5ce090e45eba35e718b1f54bbdd12a96a86a2a5e Mon Sep 17 00:00:00 2001 From: Vaibhav Pathak Date: Mon, 19 Jan 2026 11:49:06 +0530 Subject: [PATCH] workflow updated for new approach --- .../workflow-template.yaml | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/environment-provisioner/workflow-template.yaml b/environment-provisioner/workflow-template.yaml index 9f8bd9d..dc5e8bb 100644 --- a/environment-provisioner/workflow-template.yaml +++ b/environment-provisioner/workflow-template.yaml @@ -23,7 +23,7 @@ spec: value: '{}' - name: manualDependencyUrls value: '{}' - - name: helmParameterOverrides + - name: valuesContentEdits value: '{}' - name: helmExternalParams value: '{}' @@ -39,7 +39,7 @@ spec: - name: dependencyPreferences - name: valuesFileOverrides - name: manualDependencyUrls - - name: helmParameterOverrides + - name: valuesContentEdits - name: helmExternalParams name: provision-environment steps: @@ -61,8 +61,8 @@ spec: value: '{{inputs.parameters.valuesFileOverrides}}' - name: manualDependencyUrls value: '{{inputs.parameters.manualDependencyUrls}}' - - name: helmParameterOverrides - value: '{{inputs.parameters.helmParameterOverrides}}' + - name: valuesContentEdits + value: '{{inputs.parameters.valuesContentEdits}}' - name: helmExternalParams value: '{{inputs.parameters.helmExternalParams}}' name: create-git-repo @@ -93,7 +93,7 @@ spec: - name: dependencyPreferences - name: valuesFileOverrides - name: manualDependencyUrls - - name: helmParameterOverrides + - name: valuesContentEdits - name: helmExternalParams name: create-repo script: @@ -129,7 +129,7 @@ spec: DEPENDENCY_PREFS='{{inputs.parameters.dependencyPreferences}}' VALUES_FILE_OVERRIDES='{{inputs.parameters.valuesFileOverrides}}' MANUAL_DEPENDENCY_URLS='{{inputs.parameters.manualDependencyUrls}}' - HELM_PARAMETER_OVERRIDES='{{inputs.parameters.helmParameterOverrides}}' + VALUES_CONTENT_EDITS='{{inputs.parameters.valuesContentEdits}}' HELM_EXTERNAL_PARAMS='{{inputs.parameters.helmExternalParams}}' # Sanitize namespace name (replace spaces and special chars with hyphens) @@ -309,27 +309,28 @@ spec: done fi - # Process custom Helm parameter overrides - CUSTOM_HELM_PARAMS="" - SERVICE_OVERRIDES=$(echo "$HELM_PARAMETER_OVERRIDES" | jq -r ".[\"$service\"] // {}") - if [ "$SERVICE_OVERRIDES" != "{}" ] && [ -n "$SERVICE_OVERRIDES" ]; then - echo " Processing custom Helm parameter overrides..." - for param_key in $(echo "$SERVICE_OVERRIDES" | jq -r 'keys[]'); do - PARAM_VALUE=$(echo "$SERVICE_OVERRIDES" | jq -r ".[\"$param_key\"]") - echo " Setting $param_key = $PARAM_VALUE" - # Use param_key directly - dots are Helm nested path separators, not literal chars - CUSTOM_HELM_PARAMS="$CUSTOM_HELM_PARAMS - - name: $param_key - value: \"$PARAM_VALUE\"" - done + # Check for edited values content - write to override file if exists + INLINE_VALUES="" + EDITED_CONTENT=$(echo "$VALUES_CONTENT_EDITS" | jq -r ".\"$service\" // empty") + if [ -n "$EDITED_CONTENT" ] && [ "$EDITED_CONTENT" != "null" ]; then + echo " Writing edited values content to override file..." + # Write the edited content to a values override file + VALUES_OVERRIDE_FILE="values-override-${SANITIZED_SERVICE}.yaml" + echo "$EDITED_CONTENT" > "manifests/$VALUES_OVERRIDE_FILE" + echo " Created: manifests/$VALUES_OVERRIDE_FILE" + # Set inline values reference for ArgoCD + INLINE_VALUES=" + values: | + $(echo "$EDITED_CONTENT" | sed 's/^/ /')" fi # Process external params for disabled Helm dependencies (e.g., external database config) - SERVICE_EXTERNAL_PARAMS=$(echo "$HELM_EXTERNAL_PARAMS" | jq -r ".[\"$service\"] // {}") + CUSTOM_HELM_PARAMS="" + SERVICE_EXTERNAL_PARAMS=$(echo "$HELM_EXTERNAL_PARAMS" | jq -r ".\"$service\" // {}") if [ "$SERVICE_EXTERNAL_PARAMS" != "{}" ] && [ -n "$SERVICE_EXTERNAL_PARAMS" ]; then echo " Processing external params for disabled dependencies..." for param_key in $(echo "$SERVICE_EXTERNAL_PARAMS" | jq -r 'keys[]'); do - PARAM_VALUE=$(echo "$SERVICE_EXTERNAL_PARAMS" | jq -r ".[\"$param_key\"]") + PARAM_VALUE=$(echo "$SERVICE_EXTERNAL_PARAMS" | jq -r ".\"$param_key\"") if [ -n "$PARAM_VALUE" ]; then echo " Setting $param_key = $PARAM_VALUE" # Use param_key directly - dots are Helm nested path separators, not literal chars @@ -360,7 +361,7 @@ spec: path: $HELM_PATH helm: valueFiles: - - $HELM_VALUES + - $HELM_VALUES$INLINE_VALUES parameters: - name: mysql.enabled value: "$MYSQL_ENABLED"