From 00c36c25f7319d8b2a717a64be484386b5e2c829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Sat, 24 Sep 2022 15:22:28 +0200 Subject: [PATCH] argocd hook to create a pipelinerun --- k8s/pipelinerun.yaml | 89 ++++++++++++++++++++++++++++++++++---------- k8s/vm-database.yaml | 1 + 2 files changed, 70 insertions(+), 20 deletions(-) diff --git a/k8s/pipelinerun.yaml b/k8s/pipelinerun.yaml index 65c04bd..e3c789d 100644 --- a/k8s/pipelinerun.yaml +++ b/k8s/pipelinerun.yaml @@ -1,24 +1,73 @@ -apiVersion: tekton.dev/v1beta1 -kind: PipelineRun +apiVersion: v1 +kind: ConfigMap metadata: - name: demo-appdev-initial + name: pipelinerun-template +data: + template: | + apiVersion: tekton.dev/v1beta1 + kind: PipelineRun + metadata: + generateName: demo-appdev- + spec: + serviceAccountName: tekton-robot + pipelineRef: + name: demo-appdev + params: + - name: gitRepositoryURL + value: https://github.com/nmasse-itix/demo-appdev.git + - name: outputContainerImage + value: image-registry.openshift-image-registry.svc:5000/demo-appdev/function + workspaces: + - name: scratch + volumeClaimTemplate: + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: tekton-hook +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: tekton-hook +rules: +- apiGroups: ["tekton.dev"] + resources: ["pipelineruns"] + verbs: ["create"] +- apiGroups: [""] + resources: ["configmaps"] + verbs: ["get", "list", "watch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: tekton-hook +subjects: +- kind: ServiceAccount + name: tekton-hook +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: tekton-hook +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: tekton-hook annotations: argocd.argoproj.io/sync-wave: "2" spec: - serviceAccountName: tekton-robot - pipelineRef: - name: demo-appdev - params: - - name: gitRepositoryURL - value: https://github.com/nmasse-itix/demo-appdev.git - - name: outputContainerImage - value: image-registry.openshift-image-registry.svc:5000/demo-appdev/function - workspaces: - - name: scratch - volumeClaimTemplate: - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi + template: + spec: + containers: + - name: oc + image: image-registry.openshift-image-registry.svc:5000/openshift/cli + command: ["/bin/sh", "-c", "oc get configmap pipelinerun-template -n demo-appdev -o 'jsonpath={.data.template}' | oc create -f - -n demo-appdev"] + restartPolicy: Never + serviceAccountName: tekton-hook diff --git a/k8s/vm-database.yaml b/k8s/vm-database.yaml index 82ca130..0db842f 100644 --- a/k8s/vm-database.yaml +++ b/k8s/vm-database.yaml @@ -63,6 +63,7 @@ apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: annotations: + argocd.argoproj.io/sync-wave: "2" labels: app: database name: database