mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-10 18:06:55 +00:00
40 lines
990 B
YAML
40 lines
990 B
YAML
|
apiVersion: kyverno.io/v1
|
||
|
kind: ClusterPolicy
|
||
|
metadata:
|
||
|
name: disallow-latest-tag
|
||
|
annotations:
|
||
|
policies.kyverno.io/category: Best Practices
|
||
|
policies.kyverno.io/description: >-
|
||
|
The ':latest' tag is mutable and can lead to unexpected errors if the
|
||
|
image changes. A best practice is to use an immutable tag that maps to
|
||
|
a specific version of an application pod.
|
||
|
spec:
|
||
|
validationFailureAction: audit
|
||
|
rules:
|
||
|
- name: require-image-tag
|
||
|
match:
|
||
|
resources:
|
||
|
kinds:
|
||
|
- Pod
|
||
|
namespaces:
|
||
|
- test
|
||
|
validate:
|
||
|
message: "An image tag is required."
|
||
|
pattern:
|
||
|
spec:
|
||
|
containers:
|
||
|
- image: "*:*"
|
||
|
- name: validate-image-tag
|
||
|
match:
|
||
|
resources:
|
||
|
kinds:
|
||
|
- Pod
|
||
|
namespaces:
|
||
|
- test
|
||
|
validate:
|
||
|
message: "Using a mutable image tag e.g. 'latest' is not allowed."
|
||
|
pattern:
|
||
|
spec:
|
||
|
containers:
|
||
|
- image: "!*:latest"
|