apiVersion: tekton.dev/v1beta1 kind: Pipeline metadata: name: hetzner-k3s namespace: {{ .Values.pipelineNamespace }} labels: {{- include "tekton-pipelines.labels" . | nindent 4 }} spec: params: - name: environment type: string - name: namespace type: string workspaces: - name: ssh-keys - name: inventory - name: kubeconfig-output tasks: - name: generate-ssh-keys taskRef: resolver: cluster params: - name: kind value: task - name: name value: generate-ssh-keys - name: namespace value: tekton-pipelines workspaces: - name: ssh-keys workspace: ssh-keys params: - name: environment value: $(params.environment) - name: namespace value: $(params.namespace) - name: prepare-hetzner-infra retries: 3 runAfter: - generate-ssh-keys taskRef: resolver: cluster params: - name: kind value: task - name: name value: prepare-hetzner-infra - name: namespace value: tekton-pipelines workspaces: - name: outputs workspace: inventory params: - name: environment value: $(params.environment) - name: namespace value: $(params.namespace) - name: prepare-dns-records retries: 3 runAfter: - prepare-hetzner-infra taskRef: resolver: cluster params: - name: kind value: task - name: name value: prepare-dns-records - name: namespace value: tekton-pipelines workspaces: - name: outputs workspace: inventory params: - name: environment value: $(params.environment) - name: namespace value: $(params.namespace) - name: bootstrap-k3s retries: 3 runAfter: - prepare-hetzner-infra taskRef: resolver: cluster params: - name: kind value: task - name: name value: bootstrap-k3s - name: namespace value: tekton-pipelines params: - name: environment value: $(params.environment) - name: namespace value: $(params.namespace) workspaces: - name: outputs workspace: kubeconfig-output - name: deploy-helmfile-base runAfter: - bootstrap-k3s retries: 3 taskRef: resolver: cluster params: - name: kind value: task - name: name value: deploy-helmfile-base - name: namespace value: tekton-pipelines params: - name: environment value: $(params.environment) - name: namespace value: $(params.namespace) workspaces: - name: outputs workspace: kubeconfig-output