{{- define "common.task-helm-upgrade-from-source" }} {{- $common := dict "Values" .Values.common -}} {{- $noCommon := omit .Values "common" -}} {{- $overrides := dict "Values" $noCommon -}} {{- $noValues := omit . "Values" -}} {{- with merge $noValues $overrides $common -}} apiVersion: tekton.dev/v1 kind: Task metadata: name: helm-upgrade-from-source namespace: {{ .Release.Namespace }} spec: description: These tasks will install / upgrade a helm chart into your Kubernetes / OpenShift Cluster using Helm params: - description: The directory in source that contains the helm chart name: charts_dir type: string - default: v1.0.0 description: The helm release version in semantic versioning format name: release_version type: string - default: helm-release description: The helm release name name: release_name type: string - default: "" description: The helm release namespace name: release_namespace type: string - default: "" description: 'Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1' name: overwrite_values type: string - default: values.yaml description: The values file to be used name: values_file type: string - default: {{ .Values.quayHostname }}/{{ .Values.organizationName }}/k8s-helm:latest description: helm image to be used name: helm_image type: string - default: "" description: Extra parameters passed for the helm upgrade command name: upgrade_extra_params type: string steps: - image: $(params.helm_image) name: upgrade script: | echo current installed helm releases helm list --namespace "$(params.release_namespace)" echo installing helm chart... helm upgrade --install --wait --values "$(params.charts_dir)/$(params.values_file)" --namespace "$(params.release_namespace)" --version "$(params.release_version)" "$(params.release_name)" "$(params.charts_dir)" --debug --set "$(params.overwrite_values)" $(params.upgrade_extra_params) workingDir: /workspace/source workspaces: - name: source {{- end }} {{- end }}