homelab-gitops/platform/kyverno/policies/generate-ns-network-baseline.yaml
gwg313 d3da92bbb8
add cicd exclude to resource limits
Signed-off-by: gwg313 <gwg313@pm.me>
2026-05-23 22:09:35 -04:00

60 lines
1.8 KiB
YAML

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: generate-ns-network-baseline
annotations:
policies.kyverno.io/title: Inject Namespace Baseline CNP
policies.kyverno.io/description: Automatically provisions a local default-deny + DNS egress CNP inside new application namespaces.
argocd.argoproj.io/sync-options: Force=true,Replace=true
spec:
background: true
rules:
- name: inject-local-cnp
match:
any:
- resources:
kinds:
- Namespace
exclude:
any:
- resources:
namespaces:
- default
- kube-system
- kube-public
- kube-node-lease
- argocd
- kyverno
- cilium-ingress
- cilium-secrets
- cert-manager
- sealed-secrets
- nfs-subdir-external-provisioner
- monitoring
- tekton-pipelines-resolvers
- tekton-pipelines
- pipelines-as-code
generate:
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
name: baseline-network-security
namespace: "{{request.object.metadata.name}}"
synchronize: true
data:
spec:
endpointSelector: {}
ingress:
- {}
egress:
- toEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: kube-system
k8s-app: kube-dns
toPorts:
- ports:
- port: "53"
protocol: ANY
rules:
dns:
- matchPattern: "*"