@@ -13,10 +13,17 @@ spec:
13
13
- name : image
14
14
type : string
15
15
default : " registry.arthurvardevanyan.com/homelab/toolbox:not_latest"
16
+ - name : git-commit
17
+ type : string
18
+ - name : git-url
19
+ type : string
20
+ - name : git-pr-number
21
+ type : string
16
22
17
23
workspaces :
18
24
- name : data
19
25
- name : kubernetes-json-schema
26
+ - name : basic-auth
20
27
21
28
steps :
22
29
- name : overlay-test
43
50
volumeMounts :
44
51
- name : tmp
45
52
mountPath : /tmp
53
+ - name : test
54
+ mountPath : /workspace/test
46
55
env :
56
+ - name : GIT_URL
57
+ value : $(params.git-url)
58
+ - name : GIT_PR_NUMBER
59
+ value : $(params.git-pr-number)"
47
60
- name : WORKSPACE_DATA_PATH
48
61
value : $(workspaces.data.path)
62
+ - name : WORKSPACE_BASIC_AUTH_PATH
63
+ value : $(workspaces.data.path)
49
64
script : |
50
65
#!/bin/bash
51
66
57
72
export KUBERNETES_TOKEN="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
58
73
export VAULT_TOKEN="$(vault write -field=token auth/homelab/login role=homelab jwt=${KUBERNETES_TOKEN})"
59
74
60
- cd $(workspaces.data.path)
61
- ./main.bash test_overlays
75
+ cd "${WORKSPACE_DATA_PATH}"
76
+
77
+ sleep infinity
78
+ gh auth login --with-token <"/${WORKSPACE_BASIC_AUTH_PATH}/git-provider-token"
79
+
80
+ WHATS_CHANGED=$(gh pr diff --repo "${GIT_URL}" "48" --name-only)
81
+
82
+ for FILE_PATH in ${WHATS_CHANGED}; do
83
+ echo "${FILE_PATH}" | cut -d'/' -f1,2 >>/tmp/files_changed.log
84
+ done
85
+
86
+ export FOLDER_LIST
87
+ FOLDER_LIST=$(sort -u /tmp/files_changed.log | grep -E "kubernetes/|okd/")
88
+ echo "${FOLDER_LIST}"
89
+
90
+ DIR="/tmp/yaml"
91
+ rm -rf /tmp/yaml
92
+ mkdir -p /tmp/yaml
93
+ echo "Build Yaml's"
94
+
95
+ for FOLDER in ${FOLDER_LIST}; do
96
+ for OVERLAY in ./${FOLDER}/overlays/*; do
97
+ if [[ ${OVERLAY} != *"k3s"* ]];then
98
+ echo "${OVERLAY}"
99
+ OUTPUT=$(echo "${OVERLAY}" | sed 's/\.//g' | sed 's/\//_/g')
100
+ kubectl kustomize "${OVERLAY}" | argocd-vault-plugin generate - >"${DIR}/${OUTPUT}.yaml"
101
+ fi
102
+ done
103
+ done
104
+
105
+ kubeconform -n 16 -verbose --summary -ignore-missing-schemas \
106
+ -schema-location="../kubernetes-json-schema/master-standalone-strict/{{.ResourceKind}}{{.KindSuffix}}.json" \
107
+ -output text "${DIR}" | grep -v "is valid"
108
+
62
109
volumes :
63
110
- name : tmp
64
111
emptyDir :
65
112
sizeLimit : 10Mi
113
+ - name : test
114
+ emptyDir :
115
+ sizeLimit : 10Mi
0 commit comments