Reproducible demo of the platform's Kyverno admission policies.
These manifests are applied manually with kubectl — they are not
reconciled by Argo CD (they live outside every Argo-synced path on purpose, so
a deliberately-broken manifest never puts an Argo app into a permanent
OutOfSync state).
The cluster has no local checkout of this repo, so clone it once on the box with cluster access:
git clone https://github.com/devshinthant/internal-developer-platform.git
cd internal-developer-platform(Later, git pull to pick up changes.)
kubectl apply -f examples/passing/good-deployment.yamlSatisfies all policies: required labels, non-latest tag, probes (liveness ≠
readiness), resource requests + limits, runAsNonRoot, and
allowPrivilegeEscalation: false.
kubectl apply -f examples/rejected/bad-deployment.yamlDenied by Kyverno with messages from disallow-latest-tag, require-probes,
require-resources, and check-labels.
kubectl delete -f examples/passing/good-deployment.yaml --ignore-not-found(The rejected deployment is never created, so there is nothing to delete for it.)