Skip to content

Commit 0ed854f

Browse files
authored
test: Setting Password on Redis Cluster (#729)
* try: Setting Password on Redis Cluster Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com> * add to CI Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com> * fix-name Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com> * add Exporter Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com> * fix stdout Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com> --------- Signed-off-by: Shubham Gupta <iamshubhamgupta2001@gmail.com>
1 parent 50a62d1 commit 0ed854f

File tree

9 files changed

+688
-6
lines changed

9 files changed

+688
-6
lines changed

.github/workflows/e2e-chainsaw.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
- ./tests/e2e-chainsaw/v1beta2/teardown/
1919
- ./tests/e2e-chainsaw/v1beta2/setup/
2020
- ./tests/e2e-chainsaw/v1beta2/hostnetwork/
21+
- ./tests/e2e-chainsaw/v1beta2/password/
2122

2223
steps:
2324
- name: Checkout code
Lines changed: 184 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,184 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
2+
3+
apiVersion: chainsaw.kyverno.io/v1alpha1
4+
kind: Test
5+
metadata:
6+
name: redis-cluster-password
7+
spec:
8+
steps:
9+
- try:
10+
- apply:
11+
file: cluster.yaml
12+
- apply:
13+
file: secret.yaml
14+
- assert:
15+
file: ready-cluster.yaml
16+
- assert:
17+
file: ready-sts.yaml
18+
- assert:
19+
file: ready-svc.yaml
20+
- assert:
21+
file: ready-pvc.yaml
22+
- assert:
23+
file: secret.yaml
24+
25+
- name: Sleep for five minutes
26+
try:
27+
- sleep:
28+
duration: 5m
29+
30+
- name: Ping Cluster With Password
31+
try:
32+
- script:
33+
timeout: 10s
34+
content: |
35+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-0 -- redis-cli -c -p 6379 -a Opstree@1234 ping
36+
check:
37+
($stdout=='PONG'): true
38+
- script:
39+
timeout: 10s
40+
content: |
41+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-1 -- redis-cli -c -p 6379 -a Opstree@1234 ping
42+
check:
43+
($stdout=='PONG'): true
44+
- script:
45+
timeout: 10s
46+
content: |
47+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-2 -- redis-cli -c -p 6379 -a Opstree@1234 ping
48+
check:
49+
($stdout=='PONG'): true
50+
- script:
51+
timeout: 10s
52+
content: |
53+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-0 -- redis-cli -c -p 6379 -a Opstree@1234 ping
54+
check:
55+
($stdout=='PONG'): true
56+
- script:
57+
timeout: 10s
58+
content: |
59+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-1 -- redis-cli -c -p 6379 -a Opstree@1234 ping
60+
check:
61+
($stdout=='PONG'): true
62+
- script:
63+
timeout: 10s
64+
content: |
65+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-2 -- redis-cli -c -p 6379 -a Opstree@1234 ping
66+
check:
67+
($stdout=='PONG'): true
68+
69+
- name: Try saving a key With Password
70+
try:
71+
- script:
72+
timeout: 10s
73+
content: |
74+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-0 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-0 bar-0
75+
check:
76+
($stdout=='OK'): true
77+
- script:
78+
timeout: 10s
79+
content: |
80+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-1 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-1 bar-1
81+
check:
82+
($stdout=='OK'): true
83+
- script:
84+
timeout: 10s
85+
content: |
86+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-2 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-2 bar-2
87+
check:
88+
($stdout=='OK'): true
89+
- script:
90+
timeout: 10s
91+
content: |
92+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-0 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-3 bar-3
93+
check:
94+
($stdout=='OK'): true
95+
- script:
96+
timeout: 10s
97+
content: |
98+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-1 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-4 bar-4
99+
check:
100+
($stdout=='OK'): true
101+
- script:
102+
timeout: 10s
103+
content: |
104+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-2 -- redis-cli -c -p 6379 -a Opstree@1234 set foo-5 bar-5
105+
check:
106+
($stdout=='OK'): true
107+
108+
- name: Ping Cluster Without Password
109+
try:
110+
- script:
111+
timeout: 10s
112+
content: |
113+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-0 -- redis-cli -c -p 6379 ping
114+
check:
115+
($stdout=='NOAUTH Authentication required.'): true
116+
- script:
117+
timeout: 10s
118+
content: |
119+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-1 -- redis-cli -c -p 6379 ping
120+
check:
121+
($stdout=='NOAUTH Authentication required.'): true
122+
- script:
123+
timeout: 10s
124+
content: |
125+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-2 -- redis-cli -c -p 6379 ping
126+
check:
127+
($stdout=='NOAUTH Authentication required.'): true
128+
- script:
129+
timeout: 10s
130+
content: |
131+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-0 -- redis-cli -c -p 6379 ping
132+
check:
133+
($stdout=='NOAUTH Authentication required.'): true
134+
- script:
135+
timeout: 10s
136+
content: |
137+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-1 -- redis-cli -c -p 6379 ping
138+
check:
139+
($stdout=='NOAUTH Authentication required.'): true
140+
- script:
141+
timeout: 10s
142+
content: |
143+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-2 -- redis-cli -c -p 6379 ping
144+
check:
145+
($stdout=='NOAUTH Authentication required.'): true
146+
147+
- name: Try saving a key Without Password
148+
try:
149+
- script:
150+
timeout: 10s
151+
content: |
152+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-0 -- redis-cli -c -p 6379 set foo-0 bar-0
153+
check:
154+
($stdout=='NOAUTH Authentication required.'): true
155+
- script:
156+
timeout: 10s
157+
content: |
158+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-1 -- redis-cli -c -p 6379 set foo-1 bar-1
159+
check:
160+
($stdout=='NOAUTH Authentication required.'): true
161+
- script:
162+
timeout: 10s
163+
content: |
164+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-leader redis-cluster-v1beta2-leader-2 -- redis-cli -c -p 6379 set foo-2 bar-2
165+
check:
166+
($stdout=='NOAUTH Authentication required.'): true
167+
- script:
168+
timeout: 10s
169+
content: |
170+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-0 -- redis-cli -c -p 6379 set foo-3 bar-3
171+
check:
172+
($stdout=='NOAUTH Authentication required.'): true
173+
- script:
174+
timeout: 10s
175+
content: |
176+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-1 -- redis-cli -c -p 6379 set foo-4 bar-4
177+
check:
178+
($stdout=='NOAUTH Authentication required.'): true
179+
- script:
180+
timeout: 10s
181+
content: |
182+
kubectl exec --namespace ${NAMESPACE} --container redis-cluster-v1beta2-follower redis-cluster-v1beta2-follower-2 -- redis-cli -c -p 6379 set foo-5 bar-5
183+
check:
184+
($stdout=='NOAUTH Authentication required.'): true
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
apiVersion: redis.redis.opstreelabs.in/v1beta2
2+
kind: RedisCluster
3+
metadata:
4+
name: redis-cluster-v1beta2
5+
spec:
6+
clusterSize: 3
7+
clusterVersion: v7
8+
persistenceEnabled: true
9+
podSecurityContext:
10+
runAsUser: 1000
11+
fsGroup: 1000
12+
kubernetesConfig:
13+
image: quay.io/opstree/redis:latest
14+
imagePullPolicy: Always
15+
resources:
16+
requests:
17+
cpu: 101m
18+
memory: 128Mi
19+
limits:
20+
cpu: 101m
21+
memory: 128Mi
22+
redisSecret:
23+
name: redis-secret
24+
key: password
25+
redisExporter:
26+
enabled: true
27+
image: quay.io/opstree/redis-exporter:v1.44.0
28+
imagePullPolicy: Always
29+
resources:
30+
requests:
31+
cpu: 100m
32+
memory: 128Mi
33+
limits:
34+
cpu: 100m
35+
memory: 128Mi
36+
storage:
37+
volumeClaimTemplate:
38+
spec:
39+
# storageClassName: standard
40+
accessModes: ["ReadWriteOnce"]
41+
resources:
42+
requests:
43+
storage: 1Gi
44+
nodeConfVolume: true
45+
nodeConfVolumeClaimTemplate:
46+
spec:
47+
accessModes: ["ReadWriteOnce"]
48+
resources:
49+
requests:
50+
storage: 1Gi
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: redis.redis.opstreelabs.in/v1beta2
2+
kind: RedisCluster
3+
metadata:
4+
name: redis-cluster-v1beta2
5+
status:
6+
readyFollowerReplicas: 3
7+
readyLeaderReplicas: 3

0 commit comments

Comments
 (0)