summaryrefslogtreecommitdiff
path: root/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml')
-rw-r--r--data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml85
1 files changed, 85 insertions, 0 deletions
diff --git a/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml
new file mode 100644
index 0000000..4b782ce
--- /dev/null
+++ b/data.d/k3s-master/manifests.d/tyilnet/cicd-system/resources/workflow-templates/util.yaml
@@ -0,0 +1,85 @@
+---
+apiVersion: argoproj.io/v1alpha1
+kind: WorkflowTemplate
+metadata:
+ name: util
+ namespace: cicd-system
+spec:
+ templates:
+ - name: fetch-git
+ inputs:
+ parameters:
+ - name: repo
+ value: ""
+ - name: ref
+ value: "origin/master"
+ - name: workingDir
+ value: "/work"
+ - name: workingPVC
+ value: ""
+ script:
+ image: debian
+ command:
+ - dash
+ source: |
+ export DEBIAN_FRONTEND=noninteractive
+ export GIT_WORK_TREE="{{inputs.parameters.workingDir}}"
+ export GIT_DIR="$GIT_WORK_TREE/.git"
+
+ apt update && apt install -y git
+
+ git init
+ git remote add origin "{{inputs.parameters.repo}}"
+ git fetch origin -a
+ git reset --hard "{{inputs.parameters.ref}}"
+ volumeMounts:
+ - name: workdir
+ mountPath: "{{inputs.parameters.workingDir}}"
+ volumes:
+ - name: workdir
+ persistentVolumeClaim:
+ claimName: "{{inputs.parameters.workingPVC}}"
+
+ - name: pvc-create
+ inputs:
+ parameters:
+ - name: size
+ value: 1Gi
+ - name: storageClass
+ value: longhorn
+ - name: namePrefix
+ value: argo-
+ outputs:
+ parameters:
+ - name: name
+ valueFrom:
+ jsonPath: "{.metadata.name}"
+ resource:
+ action: create
+ setOwnerReference: true
+ manifest: |
+ apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
+ generateName: "{{inputs.parameters.namePrefix}}"
+ spec:
+ storageClassName: "{{inputs.parameters.storageClass}}"
+ accessModes:
+ - ReadWriteMany
+ resources:
+ requests:
+ storage: "{{inputs.parameters.size}}"
+
+ - name: pvc-delete
+ inputs:
+ parametes:
+ - name: name
+ value: ""
+ resource:
+ action: delete
+ manifest: |
+ apiVersion: v1
+ kind: PersistentVolumeClaim
+ metadata:
+ name: "{{inputs.parameters.name}}"
+...