Loading README.md +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ The Helm template uses some global configuration used throughout all jobs. | --------------------- | -------------------------------------- | ----------------- | | `HELM_CLI_IMAGE` | The Docker image used to run Helm <br/>:warning: **set the version required by your Kubernetes server** | `alpine/helm:latest` | | `HELM_CHART_DIR` | The folder in which is stored the Helm chart | `.` | | `HELM_COMMON_VALUES` | Common values file (used for all environments, overridden by specific per-env values files) | undefined (none) | | `HELM_ENV_VALUE_NAME` | The environment type variable set to helm | `env` | | `HELM_HOSTNAME_VALUE_NAME` | The hostname variable set to helm | `hostname` | Loading kicker.json +4 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,10 @@ "description": "The folder in which is stored the Helm chart", "default": "." }, { "name": "HELM_COMMON_VALUES", "description": "Common values file (used for all environments, overridden by specific per-env values files)" }, { "name": "HELM_DEPLOY_CHART", "description": "The Helm [chart](https://helm.sh/docs/topics/charts/) to deploy. _Only required if you want to deploy an **external** chart._" Loading templates/gitlab-ci-helm.yml +32 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ variables: # KUBE_NAMESPACE: "default" # KUBECONFIG: "" # HELM_COMMON_VALUES: "values-common.yml" # HELM_REVIEW_DISABLED: "true" # HELM_REVIEW_VALUES: "values-review.yml" # HELM_REVIEW_NAMESPACE: "" Loading Loading @@ -351,10 +353,16 @@ stages: helm_opts=$(get_helm_config_opt) if [ -n "$HELM_COMMON_VALUES" ]; then log_info "--- using \\e[32mcommon values\\e[0m file: \\e[33;1m${HELM_COMMON_VALUES}\\e[0m" awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml helm_values_opt="--values generated-values-common.yml" fi if [ -n "$values_files" ]; then log_info "--- using \\e[32mvalues\\e[0m file: \\e[33;1m${values_files}\\e[0m" awkenvsubst < "$values_files" > generated-values.yml helm_values_opt="--values generated-values.yml" helm_values_opt="$helm_values_opt --values generated-values.yml" fi if [ -f "$CI_PROJECT_DIR/.kubeconfig" ]; then Loading Loading @@ -529,6 +537,17 @@ helm-lint: - "**/Chart.yaml" # yamllint-job is used to check the syntax of the values files. helm-values-common-lint: extends: .helm-values-lint script: - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - yamllint -d "$HELM_YAMLLINT_CONFIG" $HELM_YAMLLINT_ARGS generated-values-common.yml rules: - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"' when: never - if: '$HELM_COMMON_VALUES' helm-values-review-lint: extends: .helm-values-lint script: Loading Loading @@ -576,8 +595,10 @@ helm-values-prod-lint: helm-review-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_REVIEW_VALUES" > generated-values-review.yml - helm template $HELM_CHART_DIR --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -594,8 +615,10 @@ helm-review-score: helm-integration-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_INTEG_VALUES" > generated-values-integration.yml - helm template $HELM_CHART_DIR --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -612,8 +635,10 @@ helm-integration-score: helm-staging-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_STAGING_VALUES" > generated-values-staging.yml - helm template $HELM_CHART_DIR --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -630,8 +655,10 @@ helm-staging-score: helm-prod-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_PROD_VALUES" > generated-values-prod.yml - helm template $HELM_CHART_DIR --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading Loading
README.md +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ The Helm template uses some global configuration used throughout all jobs. | --------------------- | -------------------------------------- | ----------------- | | `HELM_CLI_IMAGE` | The Docker image used to run Helm <br/>:warning: **set the version required by your Kubernetes server** | `alpine/helm:latest` | | `HELM_CHART_DIR` | The folder in which is stored the Helm chart | `.` | | `HELM_COMMON_VALUES` | Common values file (used for all environments, overridden by specific per-env values files) | undefined (none) | | `HELM_ENV_VALUE_NAME` | The environment type variable set to helm | `env` | | `HELM_HOSTNAME_VALUE_NAME` | The hostname variable set to helm | `hostname` | Loading
kicker.json +4 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,10 @@ "description": "The folder in which is stored the Helm chart", "default": "." }, { "name": "HELM_COMMON_VALUES", "description": "Common values file (used for all environments, overridden by specific per-env values files)" }, { "name": "HELM_DEPLOY_CHART", "description": "The Helm [chart](https://helm.sh/docs/topics/charts/) to deploy. _Only required if you want to deploy an **external** chart._" Loading
templates/gitlab-ci-helm.yml +32 −5 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ variables: # KUBE_NAMESPACE: "default" # KUBECONFIG: "" # HELM_COMMON_VALUES: "values-common.yml" # HELM_REVIEW_DISABLED: "true" # HELM_REVIEW_VALUES: "values-review.yml" # HELM_REVIEW_NAMESPACE: "" Loading Loading @@ -351,10 +353,16 @@ stages: helm_opts=$(get_helm_config_opt) if [ -n "$HELM_COMMON_VALUES" ]; then log_info "--- using \\e[32mcommon values\\e[0m file: \\e[33;1m${HELM_COMMON_VALUES}\\e[0m" awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml helm_values_opt="--values generated-values-common.yml" fi if [ -n "$values_files" ]; then log_info "--- using \\e[32mvalues\\e[0m file: \\e[33;1m${values_files}\\e[0m" awkenvsubst < "$values_files" > generated-values.yml helm_values_opt="--values generated-values.yml" helm_values_opt="$helm_values_opt --values generated-values.yml" fi if [ -f "$CI_PROJECT_DIR/.kubeconfig" ]; then Loading Loading @@ -529,6 +537,17 @@ helm-lint: - "**/Chart.yaml" # yamllint-job is used to check the syntax of the values files. helm-values-common-lint: extends: .helm-values-lint script: - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - yamllint -d "$HELM_YAMLLINT_CONFIG" $HELM_YAMLLINT_ARGS generated-values-common.yml rules: - if: '$CI_MERGE_REQUEST_ID || $HELM_YAMLLINT_DISABLED == "true"' when: never - if: '$HELM_COMMON_VALUES' helm-values-review-lint: extends: .helm-values-lint script: Loading Loading @@ -576,8 +595,10 @@ helm-values-prod-lint: helm-review-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_REVIEW_VALUES" > generated-values-review.yml - helm template $HELM_CHART_DIR --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-review.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -594,8 +615,10 @@ helm-review-score: helm-integration-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_INTEG_VALUES" > generated-values-integration.yml - helm template $HELM_CHART_DIR --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-integration.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -612,8 +635,10 @@ helm-integration-score: helm-staging-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_STAGING_VALUES" > generated-values-staging.yml - helm template $HELM_CHART_DIR --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-staging.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading @@ -630,8 +655,10 @@ helm-staging-score: helm-prod-score: extends: .helm-score script: - if [ -z "$HELM_COMMON_VALUES" ]; then HELM_COMMON_VALUES=/dev/null; fi - awkenvsubst < "$HELM_COMMON_VALUES" > generated-values-common.yml - awkenvsubst < "$HELM_PROD_VALUES" > generated-values-prod.yml - helm template $HELM_CHART_DIR --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - - helm template $HELM_CHART_DIR --values generated-values-common.yml --values generated-values-prod.yml | kube-score score ${HELM_KUBE_SCORE_ARGS} - rules: # exclude merge requests - if: $CI_MERGE_REQUEST_ID Loading