61 lines
2.4 KiB
YAML
61 lines
2.4 KiB
YAML
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)
|