1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/test/cli/test-mutate/bug-demo/policy.yaml
Charles-Edouard Brétéché 7562bea6db
chore: apply policy fixes (#8427)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
2023-09-17 22:24:26 +00:00

83 lines
2.4 KiB
YAML

---
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
annotations:
pod-policies.kyverno.io/autogen-controllers: none
name: bug-demo
spec:
admission: true
background: false
rules:
- match:
all:
- resources:
kinds:
- v1/Pod
mutate:
foreach:
- context:
- name: container_path
variable:
value: /spec/containers/{{ elementIndex }}
list: request.object.spec.containers || `[]`
patchesJson6902: |-
{{
[
contains(['main-1','main-3','main-11'], element.name)
&&
[
{
op: 'remove',
path: join('/', [container_path, 'securityContext/capabilities/add'])
}
,
{
op: 'add',
path: join('/', [container_path, 'securityContext/capabilities/drop'])
value: ['ALL']
}
]
|| `[]`
,
contains(['main-2','main-6','main-7','main-8','main-9','main-10','main-16','main-17','main-19','main-22','main-23','main-24','main-25','main-26'], element.name)
&&
[
{
op: 'add',
path: join('/', [container_path, 'securityContext/capabilities/add'])
value: ['FOO']
}
,
{
op: 'add',
path: join('/', [container_path, 'securityContext/capabilities', 'drop'])
value: ['SYS_ADMIN']
}
]
|| `[]`
,
contains(['main-4','main-5','main-12','main-13','main-14','main-15','main-18','main-20','main-21','main-27'], element.name)
&&
[
{
op: 'add',
path: join('/', [container_path, 'securityContext/capabilities/add'])
value: ['SYS_ADMIN', 'FOO']
}
,
{
op: 'add',
path: join('/', [container_path, 'securityContext/capabilities/drop'])
value: `[]`
}
]
|| `[]`
][]
|
to_string(@)
}}
name: mutate1
validationFailureAction: Enforce