mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
- Change in namespace for test-generate example - Change cloneResource to cloneSourceResource - Add support for namespaced Policy and fix log messages - Add test-generate in Makefile and an example of namespaced Policy - Fix namespaced policy issue and add comments - Refactor according to new generate controller - Add json tag to GeneratedResource field of RuleResponse struct Signed-off-by: Shubham Nazare <shubham4443@gmail.com> Co-authored-by: Prateek Pandey <prateek.pandey@nirmata.com> Co-authored-by: Vyankatesh Kudtarkar <vyankateshkd@gmail.com>
37 lines
No EOL
1.4 KiB
YAML
37 lines
No EOL
1.4 KiB
YAML
apiVersion: kyverno.io/v1
|
|
kind: ClusterPolicy
|
|
metadata:
|
|
name: add-networkpolicy
|
|
annotations:
|
|
policies.kyverno.io/title: Add Network Policy
|
|
policies.kyverno.io/category: Multi-Tenancy
|
|
policies.kyverno.io/subject: NetworkPolicy
|
|
policies.kyverno.io/description: >-
|
|
By default, Kubernetes allows communications across all Pods within a cluster.
|
|
The NetworkPolicy resource and a CNI plug-in that supports NetworkPolicy must be used to restrict
|
|
communications. A default NetworkPolicy should be configured for each Namespace to
|
|
default deny all ingress and egress traffic to the Pods in the Namespace. Application
|
|
teams can then configure additional NetworkPolicy resources to allow desired traffic
|
|
to application Pods from select sources. This policy will create a new NetworkPolicy resource
|
|
named `default-deny` which will deny all traffic anytime a new Namespace is created.
|
|
spec:
|
|
rules:
|
|
- name: default-deny
|
|
match:
|
|
resources:
|
|
kinds:
|
|
- Namespace
|
|
generate:
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
name: default-deny
|
|
namespace: "{{request.object.metadata.name}}"
|
|
synchronize: true
|
|
data:
|
|
spec:
|
|
# select all pods in the namespace
|
|
podSelector: {}
|
|
# deny all traffic
|
|
policyTypes:
|
|
- Ingress
|
|
- Egress |