apiVersion: tekton.dev/v1beta1 kind: Task metadata: name: build-charts namespace: {{ $.Release.Namespace }} spec: description: >- This task builds charts if source is provided workspaces: - name: k8s_cluster_data - name: development_pipeline_data steps: - name: clone volumeMounts: - mountPath: /usr/local/share/ca-certificates/harbor-ca.crt name: harbor-ca subPath: harbor-ca image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh update-ca-certificates ansible-playbook -vvv {{ $.Values.tasks.git.gitPlaybook }} -i hosts -e '{"stage":"clone"}' -e @"$(workspaces.development_pipeline_data.path)/default.json" -e @"$(workspaces.development_pipeline_data.path)/chart.json" - name: set-chart-output image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh cat "$(workspaces.development_pipeline_data.path)/chart.json" - name: lint-chart image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh ansible-playbook -vvv {{ $.Values.tasks.chart.chartPlaybook }} -i hosts -e '{"stage":"lint"}' -e @"$(workspaces.development_pipeline_data.path)/default.json" -e @"$(workspaces.development_pipeline_data.path)/chart.json" - name: set-chart-output-after-lint-dryrun image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh cat "$(workspaces.development_pipeline_data.path)/chart.json" - name: package-chart image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh ansible-playbook -vvv {{ $.Values.tasks.chart.chartPlaybook }} -i hosts -e '{"stage":"package"}' -e @"$(workspaces.development_pipeline_data.path)/default.json" -e @"$(workspaces.development_pipeline_data.path)/chart.json" - name: set-chart-output-after-packaging image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh cat "$(workspaces.development_pipeline_data.path)/chart.json" - name: publish-chart volumeMounts: - mountPath: /usr/local/share/ca-certificates/harbor-ca.crt name: harbor-ca subPath: harbor-ca - mountPath: /workspace/helm-creds name: helm-publish-creds image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh update-ca-certificates ansible-playbook -vvv {{ $.Values.tasks.chart.chartPlaybook }} -i hosts -e '{"stage":"publish"}' -e @"$(workspaces.development_pipeline_data.path)/default.json" -e @"$(workspaces.development_pipeline_data.path)/chart.json" - name: set-chart-output-after-publish image: {{ $.Values.tasks.chart.buildChartImage }} script: | #!/usr/bin/env sh cat "$(workspaces.development_pipeline_data.path)/chart.json" volumes: - name: helm-publish-creds secret: secretName: harbor-basic-auth - name: harbor-ca secret: secretName: harbor-ca