diff --git a/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/chainsaw-test.yaml b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/chainsaw-test.yaml new file mode 100644 index 000000000..5e2472bb1 --- /dev/null +++ b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/chainsaw-test.yaml @@ -0,0 +1,15 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json + +apiVersion: chainsaw.kyverno.io/v1alpha1 +kind: Test +metadata: + name: redis-sentinel-setup +spec: + steps: + - try: + - apply: + file: sentinel.yaml + - assert: + file: ready-sts.yaml + - assert: + file: ready-svc.yaml \ No newline at end of file diff --git a/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-sts.yaml b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-sts.yaml new file mode 100644 index 000000000..c6056ab05 --- /dev/null +++ b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-sts.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + annotations: + redis.opstreelabs.in: "true" + redis.opstreelabs.instance: redis-sentinel + labels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + name: redis-sentinel-sentinel + ownerReferences: + - apiVersion: redis.redis.opstreelabs.in/v1beta2 + controller: true + kind: RedisSentinel + name: redis-sentinel +spec: + selector: + matchLabels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + serviceName: redis-sentinel-sentinel-headless + template: + metadata: + annotations: + redis.opstreelabs.in: "true" + redis.opstreelabs.instance: redis-sentinel + labels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel +status: + readyReplicas: 3 + replicas: 3 \ No newline at end of file diff --git a/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-svc.yaml b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-svc.yaml new file mode 100644 index 000000000..4ce66a032 --- /dev/null +++ b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/ready-svc.yaml @@ -0,0 +1,96 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + prometheus.io/port: "9121" + prometheus.io/scrape: "true" + redis.opstreelabs.in: "true" + redis.opstreelabs.instance: redis-sentinel + labels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + name: redis-sentinel-sentinel + ownerReferences: + - apiVersion: redis.redis.opstreelabs.in/v1beta2 + controller: true + kind: RedisSentinel + name: redis-sentinel +spec: + ports: + - name: sentinel-client + port: 26379 + protocol: TCP + targetPort: 26379 + selector: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + type: ClusterIP +status: + loadBalancer: {} +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + prometheus.io/port: "9121" + prometheus.io/scrape: "true" + redis.opstreelabs.in: "true" + redis.opstreelabs.instance: redis-sentinel + labels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + name: redis-sentinel-sentinel-additional + ownerReferences: + - apiVersion: redis.redis.opstreelabs.in/v1beta2 + controller: true + kind: RedisSentinel + name: redis-sentinel +spec: + ports: + - name: sentinel-client + port: 26379 + protocol: TCP + targetPort: 26379 + selector: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + type: ClusterIP +status: + loadBalancer: {} +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + prometheus.io/port: "9121" + prometheus.io/scrape: "true" + redis.opstreelabs.in: "true" + redis.opstreelabs.instance: redis-sentinel + labels: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + name: redis-sentinel-sentinel-headless + ownerReferences: + - apiVersion: redis.redis.opstreelabs.in/v1beta2 + controller: true + kind: RedisSentinel + name: redis-sentinel +spec: + clusterIP: None + ports: + - name: sentinel-client + port: 26379 + protocol: TCP + targetPort: 26379 + selector: + app: redis-sentinel-sentinel + redis_setup_type: sentinel + role: sentinel + type: ClusterIP +status: + loadBalancer: {} diff --git a/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/sentinel.yaml b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/sentinel.yaml new file mode 100644 index 000000000..7260486a6 --- /dev/null +++ b/tests/e2e-chainsaw/v1beta2/setup/redis-sentinel/sentinel.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: redis.redis.opstreelabs.in/v1beta2 +kind: RedisSentinel +metadata: + name: redis-sentinel +spec: + clusterSize: 3 + podSecurityContext: + runAsUser: 1000 + fsGroup: 1000 + # redisSentinelConfig: + # redisReplicationName : redis-replication + kubernetesConfig: + image: quay.io/opstree/redis-sentinel:latest + imagePullPolicy: Always + resources: + requests: + cpu: 101m + memory: 128Mi + limits: + cpu: 101m + memory: 128Mi \ No newline at end of file