Skip to content

Commit

Permalink
k8s: Add schema registry e2e tests using http basic authenticationMethod
Browse files Browse the repository at this point in the history
  • Loading branch information
Rafal Korepta committed Oct 28, 2022
1 parent cc17223 commit 333ad64
Show file tree
Hide file tree
Showing 24 changed files with 710 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: schema-registry
status:
readyReplicas: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: redpanda.vectorized.io/v1alpha1
kind: Cluster
metadata:
name: schema-registry
spec:
image: "localhost/redpanda"
version: "dev"
replicas: 1
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 1
memory: 100Mi
kafkaEnableAuthorization: true
configuration:
rpcServer:
port: 33145
kafkaApi:
- port: 9092
authenticationMethod: sasl
tls:
enabled: true
adminApi:
- port: 9644
schemaRegistry:
port: 8081
authenticationMethod: http_basic
developerMode: true
18 changes: 18 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: batch/v1
kind: Job
metadata:
name: create-schema
status:
conditions:
- status: "True"
type: Complete
succeeded: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apiVersion: batch/v1
kind: Job
metadata:
name: create-schema
spec:
template:
spec:
containers:
- name: rpk
image: localhost/redpanda:dev
env:
- name: SCRAM_USERNAME
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: username
- name: SCRAM_PASSWORD
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: password
command:
- curl
args:
- --silent
- -X
- POST
- -H
- "Content-Type: application/vnd.schemaregistry.v1+json"
- -u
- "$SCRAM_USERNAME:$SCRAM_PASSWORD"
- --data
- '{"schema": "{\"type\": \"string\"}" }'
- http://schema-registry-cluster:8081/subjects/Kafka-value/versions
restartPolicy: Never
backoffLimit: 6
parallelism: 1
completions: 1
18 changes: 18 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/02-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: batch/v1
kind: Job
metadata:
name: retrive-schema
status:
conditions:
- status: "True"
type: Complete
succeeded: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: batch/v1
kind: Job
metadata:
name: retrive-schema
spec:
template:
spec:
containers:
- name: rpk
image: localhost/redpanda:dev
env:
- name: SCRAM_USERNAME
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: username
- name: SCRAM_PASSWORD
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: password
command:
- curl
args:
- --silent
- -X
- GET
- -u
- "$SCRAM_USERNAME:$SCRAM_PASSWORD"
- http://schema-registry-cluster:8081/subjects/Kafka-value/versions/1
restartPolicy: Never
backoffLimit: 6
parallelism: 1
completions: 1
18 changes: 18 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/03-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: batch/v1
kind: Job
metadata:
name: delete-schema
status:
conditions:
- status: "True"
type: Complete
succeeded: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: batch/v1
kind: Job
metadata:
name: delete-schema
spec:
template:
spec:
containers:
- name: rpk
image: localhost/redpanda:dev
env:
- name: SCRAM_USERNAME
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: username
- name: SCRAM_PASSWORD
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: password
command:
- curl
args:
- --silent
- -X
- DELETE
- -u
- "$SCRAM_USERNAME:$SCRAM_PASSWORD"
- http://schema-registry-cluster:8081/subjects/Kafka-value/versions/1
restartPolicy: Never
backoffLimit: 6
parallelism: 1
completions: 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: redpanda.vectorized.io/v1alpha1
kind: Cluster
metadata:
name: schema-registry
spec:
configuration:
schemaRegistry:
port: 8081
authenticationMethod: http_basic
tls:
enabled: true
53 changes: 53 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/04-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: schema-registry-schema-registry-selfsigned-issuer
status:
conditions:
- reason: IsReady
status: "True"
type: Ready

---

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: schema-registry-schema-registry-root-issuer
status:
conditions:
- reason: KeyPairVerified
status: "True"
type: Ready
---

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: schema-registry-schema-registry-root-certificate
status:
conditions:
- reason: Ready
status: "True"
type: Ready

---

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: schema-registry-schema-registry-node
status:
conditions:
- reason: Ready
status: "True"
type: Ready

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
18 changes: 18 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/05-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: batch/v1
kind: Job
metadata:
name: create-schema-with-tls
status:
conditions:
- status: "True"
type: Complete
succeeded: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: batch/v1
kind: Job
metadata:
name: create-schema-with-tls
spec:
template:
spec:
volumes:
- name: tlscert
secret:
defaultMode: 420
secretName: schema-registry-schema-registry-node
containers:
- name: rpk
image: localhost/redpanda:dev
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: SCRAM_USERNAME
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: username
- name: SCRAM_PASSWORD
valueFrom:
secretKeyRef:
name: schema-registry-schema-registry-sasl
key: password
command:
- /bin/bash
- -c
args:
- >
curl -vv --silent --cacert /etc/tls/certs/schema-registry/ca.crt
-u "$SCRAM_USERNAME:$SCRAM_PASSWORD"
-X POST -H "Content-Type: application/vnd.schemaregistry.v1+json"
--data '{"schema": "{\"type\": \"string\"}" }'
https://schema-registry-cluster.$POD_NAMESPACE.svc.cluster.local.:8081/subjects/Kafka-value/versions
volumeMounts:
- mountPath: /etc/tls/certs/schema-registry
name: tlscert
restartPolicy: Never
backoffLimit: 6
parallelism: 1
completions: 1
18 changes: 18 additions & 0 deletions src/go/k8s/tests/e2e/redpanda-schema-registry-sasl/06-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: batch/v1
kind: Job
metadata:
name: retrieve-schema-with-tls
status:
conditions:
- status: "True"
type: Complete
succeeded: 1

---

apiVersion: kuttl.dev/v1beta1
kind: TestAssert
collectors:
- type: pod
selector: app.kubernetes.io/name=redpanda
tail: -1
Loading

0 comments on commit 333ad64

Please sign in to comment.