mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 08:57:04 +02:00
35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
name: "Override chart dependencies"
|
|
description: "Overrides the dependencies for a Helm chart"
|
|
inputs:
|
|
chart:
|
|
required: true
|
|
description: "Which chart to override the dependencies for"
|
|
overrides:
|
|
required: true
|
|
description: "A JSON encoded list of dependency overrides"
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Override dependencies
|
|
shell: bash
|
|
run: |
|
|
overrides=( $(yq --null-input e -o=j -I=0 '${{ inputs.overrides }}[]' ) )
|
|
chartFile="charts/${{ matrix.chart }}/Chart.yaml"
|
|
|
|
if [[ ! -f ${chartFile} ]]; then
|
|
echo "Could not find ${chartFile}"!
|
|
exit 1
|
|
fi
|
|
|
|
for override in "${overrides[@]}"; do
|
|
name=$(echo "$override" | yq e '.name' -)
|
|
repository=$(echo "$override" | yq e '.repository' -)
|
|
version=$(echo "$override" | yq e '.version' -)
|
|
|
|
yq -i "(.dependencies[] | select(.name == \"$name\").repository) |= \"$repository\"" "${chartFile}"
|
|
yq -i "(.dependencies[] | select(.name == \"$name\").version) |= \"$version\"" "${chartFile}"
|
|
done
|
|
|
|
echo "Resulting chart:"
|
|
cat ${chartFile}
|