1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 07:57:07 +00:00
kyverno/samples/DisallowDefaultNamespace.md

37 lines
977 B
Markdown
Raw Normal View History

2019-10-23 14:06:03 -07:00
# Disallow use of default namespace
Kubernetes namespaces are an optional feature that provide a way to segment and isolate cluster resources across multiple applications and users. As a best practice, workloads should be isolated with namespaces. Namespaces should be required and the default (empty) namespace should not be used.
2019-10-23 14:06:03 -07:00
## Policy YAML
[disallow_default_namespace.yaml](best_practices/disallow_default_namespace.yaml)
````yaml
2019-11-13 13:56:20 -08:00
apiVersion: kyverno.io/v1
2019-10-23 14:06:03 -07:00
kind: ClusterPolicy
metadata:
name: disallow-default-namespace
2019-10-23 14:06:03 -07:00
spec:
rules:
- name: validate-namespace
2019-10-23 14:06:03 -07:00
match:
resources:
kinds:
- Pod
validate:
message: "Using 'default' namespace is not allowed"
2019-10-23 14:06:03 -07:00
pattern:
metadata:
namespace: "!default"
- name: require-namespace
2019-10-23 14:06:03 -07:00
match:
resources:
kinds:
- Pod
validate:
message: "A namespace is required"
pattern:
metadata:
namespace: "?*"
````