apiVersion: tekton.dev/v1beta1 kind: Task metadata: name: helm-upgrade-from-source labels: app.kubernetes.io/version: "0.3" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/categories: Deployment tekton.dev/tags: helm tekton.dev/platforms: "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64" spec: description: >- These tasks will install / upgrade a helm chart into your Kubernetes / OpenShift Cluster using Helm params: - name: charts_dir description: The directory in source that contains the helm chart - name: release_version description: The helm release version in semantic versioning format default: "v1.0.0" - name: release_name description: The helm release name default: "helm-release" - name: release_namespace description: The helm release namespace default: "" - name: overwrite_values description: "Specify the values you want to overwrite, comma separated: autoscaling.enabled=true,replicas=1" default: "" - name: values_file description: "The values file to be used" default: "values.yaml" - name: helm_image description: "helm image to be used" default: "docker.io/lachlanevenson/k8s-helm:v3.10.2" #tag: v3.6.0 - name: upgrade_extra_params description: "Extra parameters passed for the helm upgrade command" default: "" workspaces: - name: source - name: kubeconfig-dir optional: true steps: - name: upgrade image: $(params.helm_image) workingDir: /workspace/source script: | echo "Setting up kubeconfig..." [[ "$(workspaces.kubeconfig-dir.bound)" == "true" ]] && \ [[ -f $(workspaces.kubeconfig-dir.path)/kubeconfig ]] && \ export KUBECONFIG=$(workspaces.kubeconfig-dir.path)/kubeconfig echo "Setting up variables..." release_name="$(echo '$(params.release_name)' | tr '[:upper:]' '[:lower:]')" echo "Release name: $release_name" echo "Getting helm dependencies..." helm dependency build "$(params.charts_dir)" echo "installing helm chart..." helm upgrade --install --wait --values "$(params.charts_dir)/$(params.values_file)" --namespace "$(params.release_namespace)" --version "$(params.release_version)" "$release_name" "$(params.charts_dir)" --debug --set "$(params.overwrite_values)" $(params.upgrade_extra_params)