workflow updated for new approach

This commit is contained in:
Vaibhav Pathak 2026-01-19 11:49:06 +05:30
parent 91bd287664
commit 5ce090e45e

View File

@ -23,7 +23,7 @@ spec:
value: '{}' value: '{}'
- name: manualDependencyUrls - name: manualDependencyUrls
value: '{}' value: '{}'
- name: helmParameterOverrides - name: valuesContentEdits
value: '{}' value: '{}'
- name: helmExternalParams - name: helmExternalParams
value: '{}' value: '{}'
@ -39,7 +39,7 @@ spec:
- name: dependencyPreferences - name: dependencyPreferences
- name: valuesFileOverrides - name: valuesFileOverrides
- name: manualDependencyUrls - name: manualDependencyUrls
- name: helmParameterOverrides - name: valuesContentEdits
- name: helmExternalParams - name: helmExternalParams
name: provision-environment name: provision-environment
steps: steps:
@ -61,8 +61,8 @@ spec:
value: '{{inputs.parameters.valuesFileOverrides}}' value: '{{inputs.parameters.valuesFileOverrides}}'
- name: manualDependencyUrls - name: manualDependencyUrls
value: '{{inputs.parameters.manualDependencyUrls}}' value: '{{inputs.parameters.manualDependencyUrls}}'
- name: helmParameterOverrides - name: valuesContentEdits
value: '{{inputs.parameters.helmParameterOverrides}}' value: '{{inputs.parameters.valuesContentEdits}}'
- name: helmExternalParams - name: helmExternalParams
value: '{{inputs.parameters.helmExternalParams}}' value: '{{inputs.parameters.helmExternalParams}}'
name: create-git-repo name: create-git-repo
@ -93,7 +93,7 @@ spec:
- name: dependencyPreferences - name: dependencyPreferences
- name: valuesFileOverrides - name: valuesFileOverrides
- name: manualDependencyUrls - name: manualDependencyUrls
- name: helmParameterOverrides - name: valuesContentEdits
- name: helmExternalParams - name: helmExternalParams
name: create-repo name: create-repo
script: script:
@ -129,7 +129,7 @@ spec:
DEPENDENCY_PREFS='{{inputs.parameters.dependencyPreferences}}' DEPENDENCY_PREFS='{{inputs.parameters.dependencyPreferences}}'
VALUES_FILE_OVERRIDES='{{inputs.parameters.valuesFileOverrides}}' VALUES_FILE_OVERRIDES='{{inputs.parameters.valuesFileOverrides}}'
MANUAL_DEPENDENCY_URLS='{{inputs.parameters.manualDependencyUrls}}' MANUAL_DEPENDENCY_URLS='{{inputs.parameters.manualDependencyUrls}}'
HELM_PARAMETER_OVERRIDES='{{inputs.parameters.helmParameterOverrides}}' VALUES_CONTENT_EDITS='{{inputs.parameters.valuesContentEdits}}'
HELM_EXTERNAL_PARAMS='{{inputs.parameters.helmExternalParams}}' HELM_EXTERNAL_PARAMS='{{inputs.parameters.helmExternalParams}}'
# Sanitize namespace name (replace spaces and special chars with hyphens) # Sanitize namespace name (replace spaces and special chars with hyphens)
@ -309,27 +309,28 @@ spec:
done done
fi fi
# Process custom Helm parameter overrides # Check for edited values content - write to override file if exists
CUSTOM_HELM_PARAMS="" INLINE_VALUES=""
SERVICE_OVERRIDES=$(echo "$HELM_PARAMETER_OVERRIDES" | jq -r ".[\"$service\"] // {}") EDITED_CONTENT=$(echo "$VALUES_CONTENT_EDITS" | jq -r ".\"$service\" // empty")
if [ "$SERVICE_OVERRIDES" != "{}" ] && [ -n "$SERVICE_OVERRIDES" ]; then if [ -n "$EDITED_CONTENT" ] && [ "$EDITED_CONTENT" != "null" ]; then
echo " Processing custom Helm parameter overrides..." echo " Writing edited values content to override file..."
for param_key in $(echo "$SERVICE_OVERRIDES" | jq -r 'keys[]'); do # Write the edited content to a values override file
PARAM_VALUE=$(echo "$SERVICE_OVERRIDES" | jq -r ".[\"$param_key\"]") VALUES_OVERRIDE_FILE="values-override-${SANITIZED_SERVICE}.yaml"
echo " Setting $param_key = $PARAM_VALUE" echo "$EDITED_CONTENT" > "manifests/$VALUES_OVERRIDE_FILE"
# Use param_key directly - dots are Helm nested path separators, not literal chars echo " Created: manifests/$VALUES_OVERRIDE_FILE"
CUSTOM_HELM_PARAMS="$CUSTOM_HELM_PARAMS # Set inline values reference for ArgoCD
- name: $param_key INLINE_VALUES="
value: \"$PARAM_VALUE\"" values: |
done $(echo "$EDITED_CONTENT" | sed 's/^/ /')"
fi fi
# Process external params for disabled Helm dependencies (e.g., external database config) # 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 if [ "$SERVICE_EXTERNAL_PARAMS" != "{}" ] && [ -n "$SERVICE_EXTERNAL_PARAMS" ]; then
echo " Processing external params for disabled dependencies..." echo " Processing external params for disabled dependencies..."
for param_key in $(echo "$SERVICE_EXTERNAL_PARAMS" | jq -r 'keys[]'); do 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 if [ -n "$PARAM_VALUE" ]; then
echo " Setting $param_key = $PARAM_VALUE" echo " Setting $param_key = $PARAM_VALUE"
# Use param_key directly - dots are Helm nested path separators, not literal chars # Use param_key directly - dots are Helm nested path separators, not literal chars
@ -360,7 +361,7 @@ spec:
path: $HELM_PATH path: $HELM_PATH
helm: helm:
valueFiles: valueFiles:
- $HELM_VALUES - $HELM_VALUES$INLINE_VALUES
parameters: parameters:
- name: mysql.enabled - name: mysql.enabled
value: "$MYSQL_ENABLED" value: "$MYSQL_ENABLED"