Skip to content

Commit

Permalink
chore: add match conditions with variable chainsaw test
Browse files Browse the repository at this point in the history
Signed-off-by: Charles-Edouard Brétéché <[email protected]>
  • Loading branch information
eddycharly committed Jan 6, 2025
1 parent 7c35858 commit d4fe5b9
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 0 deletions.
32 changes: 32 additions & 0 deletions tests/e2e/authz-server/match-conditions/chainsaw-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: deny
spec:
namespace: app
steps:
- try:
- create:
file: ./istio-policy.yaml
- create:
file: ./policy.yaml
- create:
file: ./shell.yaml
- wait:
apiVersion: v1
kind: Pod
timeout: 1m
for:
condition:
name: Ready
value: 'true'
- script:
content: >
kubectl exec -n $NAMESPACE deploy/curl -- curl -s -w "\nhttp_code=%{http_code}" httpbin:8000/get -H "x-force-authorized: true"
check:
($stdout): |-
Unauthorized Request
http_code=403
finally:
- sleep:
duration: 10s
14 changes: 14 additions & 0 deletions tests/e2e/authz-server/match-conditions/istio-policy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: policy
namespace: istio-system
spec:
selector:
matchLabels:
ext-authz: enabled
action: CUSTOM
provider:
name: kyverno-authz-server
rules:
- {}
18 changes: 18 additions & 0 deletions tests/e2e/authz-server/match-conditions/policy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# yaml-language-server: $schema=../../../../.schemas/json/authorizationpolicy-envoy-v1alpha1.json
apiVersion: envoy.kyverno.io/v1alpha1
kind: AuthorizationPolicy
metadata:
name: policy
spec:
variables:
- name: foo
expression: >
true
deny:
- match: >
variables.foo
response: >
envoy
.Denied(403)
.WithBody("Unauthorized Request")
.Response()
48 changes: 48 additions & 0 deletions tests/e2e/authz-server/match-conditions/shell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: curl
---
apiVersion: v1
kind: Service
metadata:
name: curl
labels:
app: curl
service: curl
spec:
ports:
- port: 80
name: http
selector:
app: curl
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: curl
spec:
replicas: 1
selector:
matchLabels:
app: curl
template:
metadata:
labels:
app: curl
spec:
terminationGracePeriodSeconds: 0
serviceAccountName: curl
containers:
- name: curl
image: curlimages/curl
command: ["/bin/sleep", "infinity"]
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /etc/curl/tls
name: secret-volume
volumes:
- name: secret-volume
secret:
secretName: curl-secret
optional: true

0 comments on commit d4fe5b9

Please sign in to comment.