Skip to content

Commit 1ef790c

Browse files
authored
Merge branch 'main' into appProtocol
2 parents ce90c23 + 9a0a415 commit 1ef790c

15 files changed

+1274
-18
lines changed

.github/workflows/reviewdog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
steps:
88
- uses: actions/checkout@v4.1.1
99
- name: golangci-lint
10-
uses: golangci/golangci-lint-action@v4
10+
uses: golangci/golangci-lint-action@v5
1111
with:
1212
version: latest
1313
only-new-issues: true

e2e-tests/conf/cmctl.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ spec:
2121
- /bin/sh
2222
- -c
2323
- |
24-
curl -fsSL -o /tmp/cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/latest/download/cmctl-linux-amd64.tar.gz \
25-
&& tar -C /tmp -xzf /tmp/cmctl.tar.gz \
24+
curl -fsSL -o /tmp/cmctl https://github.com/cert-manager/cmctl/releases/download/v2.0.0/cmctl_linux_amd64 \
25+
&& chmod +x /tmp/cmctl \
2626
&& sleep 100500
2727
restartPolicy: Always

e2e-tests/functions

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,6 +1492,7 @@ get_latest_restorable_time_from_backup_object() {
14921492

14931493
echo "$latestRestorableTime"
14941494
}
1495+
14951496
compare_latest_restorable_time() {
14961497
local cluster=$1
14971498
local backup_name=$2
@@ -1506,3 +1507,46 @@ compare_latest_restorable_time() {
15061507
exit 1
15071508
fi
15081509
}
1510+
1511+
pause_cluster() {
1512+
local cluster_name=$1
1513+
1514+
echo "Pausing cluster ${cluster_name}"
1515+
1516+
kubectl_bin patch psmdb ${cluster_name} --type merge -p='{"spec": { "pause": true } }'
1517+
}
1518+
1519+
unpause_cluster() {
1520+
local cluster_name=$1
1521+
1522+
echo "Unpausing cluster ${cluster_name}"
1523+
1524+
kubectl_bin patch psmdb ${cluster_name} --type merge -p='{"spec": { "pause": false } }'
1525+
}
1526+
1527+
disable_tls() {
1528+
local cluster_name=$1
1529+
1530+
echo "Disabling TLS for cluster ${cluster_name}"
1531+
1532+
kubectl_bin patch psmdb ${cluster_name} --type merge -p='{"spec": { "unsafeFlags": { "tls": true }, "tls": { "mode": "disabled" } } }'
1533+
}
1534+
1535+
wait_for_cluster_state() {
1536+
local cluster_name=$1
1537+
local target_state=$2
1538+
1539+
echo -n "Waiting for cluster to reach ${target_state} state"
1540+
local timeout=0
1541+
until [[ $(kubectl_bin get psmdb ${cluster_name} -o jsonpath={.status.state}) == ${target_state} ]]; do
1542+
sleep 1
1543+
timeout=$((timeout + 1))
1544+
echo -n '.'
1545+
if [[ ${timeout} -gt 1500 ]]; then
1546+
echo
1547+
echo "Waiting timeout has been reached. Exiting..."
1548+
exit 1
1549+
fi
1550+
done
1551+
echo
1552+
}
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
annotations: {}
5+
generation: 7
6+
labels:
7+
app.kubernetes.io/component: cfg
8+
app.kubernetes.io/instance: some-name
9+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
10+
app.kubernetes.io/name: percona-server-mongodb
11+
app.kubernetes.io/part-of: percona-server-mongodb
12+
app.kubernetes.io/replset: cfg
13+
name: some-name-cfg
14+
ownerReferences:
15+
- controller: true
16+
kind: PerconaServerMongoDB
17+
name: some-name
18+
spec:
19+
podManagementPolicy: OrderedReady
20+
replicas: 3
21+
revisionHistoryLimit: 10
22+
selector:
23+
matchLabels:
24+
app.kubernetes.io/component: cfg
25+
app.kubernetes.io/instance: some-name
26+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
27+
app.kubernetes.io/name: percona-server-mongodb
28+
app.kubernetes.io/part-of: percona-server-mongodb
29+
app.kubernetes.io/replset: cfg
30+
serviceName: some-name-cfg
31+
template:
32+
metadata:
33+
labels:
34+
app.kubernetes.io/component: cfg
35+
app.kubernetes.io/instance: some-name
36+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
37+
app.kubernetes.io/name: percona-server-mongodb
38+
app.kubernetes.io/part-of: percona-server-mongodb
39+
app.kubernetes.io/replset: cfg
40+
spec:
41+
affinity:
42+
podAntiAffinity:
43+
requiredDuringSchedulingIgnoredDuringExecution:
44+
- labelSelector:
45+
matchLabels:
46+
app.kubernetes.io/component: cfg
47+
app.kubernetes.io/instance: some-name
48+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
49+
app.kubernetes.io/name: percona-server-mongodb
50+
app.kubernetes.io/part-of: percona-server-mongodb
51+
app.kubernetes.io/replset: cfg
52+
topologyKey: kubernetes.io/hostname
53+
containers:
54+
- args:
55+
- --bind_ip_all
56+
- --auth
57+
- --dbpath=/data/db
58+
- --port=27017
59+
- --replSet=cfg
60+
- --storageEngine=wiredTiger
61+
- --relaxPermChecks
62+
- --clusterAuthMode=keyFile
63+
- --keyFile=/etc/mongodb-secrets/mongodb-key
64+
- --tlsMode=disabled
65+
- --configsvr
66+
- --enableEncryption
67+
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
68+
- --wiredTigerIndexPrefixCompression=true
69+
- --quiet
70+
command:
71+
- /opt/percona/ps-entry.sh
72+
env:
73+
- name: SERVICE_NAME
74+
value: some-name
75+
- name: MONGODB_PORT
76+
value: "27017"
77+
- name: MONGODB_REPLSET
78+
value: cfg
79+
envFrom:
80+
- secretRef:
81+
name: internal-some-name-users
82+
optional: false
83+
imagePullPolicy: Always
84+
livenessProbe:
85+
exec:
86+
command:
87+
- /opt/percona/mongodb-healthcheck
88+
- k8s
89+
- liveness
90+
- --startupDelaySeconds
91+
- "7200"
92+
failureThreshold: 4
93+
initialDelaySeconds: 60
94+
periodSeconds: 30
95+
successThreshold: 1
96+
timeoutSeconds: 10
97+
name: mongod
98+
ports:
99+
- containerPort: 27017
100+
name: mongodb
101+
protocol: TCP
102+
readinessProbe:
103+
exec:
104+
command:
105+
- /opt/percona/mongodb-healthcheck
106+
- k8s
107+
- readiness
108+
- --component
109+
- mongod
110+
failureThreshold: 3
111+
initialDelaySeconds: 10
112+
periodSeconds: 3
113+
successThreshold: 1
114+
timeoutSeconds: 2
115+
resources: {}
116+
securityContext:
117+
runAsNonRoot: true
118+
runAsUser: 1001
119+
terminationMessagePath: /dev/termination-log
120+
terminationMessagePolicy: File
121+
volumeMounts:
122+
- mountPath: /data/db
123+
name: mongod-data
124+
- mountPath: /etc/mongodb-secrets
125+
name: some-name-mongodb-keyfile
126+
readOnly: true
127+
- mountPath: /etc/mongodb-ssl
128+
name: ssl
129+
readOnly: true
130+
- mountPath: /etc/mongodb-ssl-internal
131+
name: ssl-internal
132+
readOnly: true
133+
- mountPath: /opt/percona
134+
name: bin
135+
- mountPath: /etc/mongodb-encryption
136+
name: some-name-mongodb-encryption-key
137+
readOnly: true
138+
- mountPath: /etc/users-secret
139+
name: users-secret-file
140+
workingDir: /data/db
141+
dnsPolicy: ClusterFirst
142+
initContainers:
143+
- command:
144+
- /init-entrypoint.sh
145+
imagePullPolicy: Always
146+
name: mongo-init
147+
resources: {}
148+
terminationMessagePath: /dev/termination-log
149+
terminationMessagePolicy: File
150+
volumeMounts:
151+
- mountPath: /data/db
152+
name: mongod-data
153+
- mountPath: /opt/percona
154+
name: bin
155+
restartPolicy: Always
156+
schedulerName: default-scheduler
157+
securityContext:
158+
fsGroup: 1001
159+
serviceAccount: default
160+
serviceAccountName: default
161+
terminationGracePeriodSeconds: 60
162+
volumes:
163+
- name: some-name-mongodb-keyfile
164+
secret:
165+
defaultMode: 288
166+
optional: false
167+
secretName: some-name-mongodb-keyfile
168+
- emptyDir: {}
169+
name: bin
170+
- name: some-name-mongodb-encryption-key
171+
secret:
172+
defaultMode: 288
173+
optional: false
174+
secretName: some-name-mongodb-encryption-key
175+
- name: ssl
176+
secret:
177+
defaultMode: 288
178+
optional: true
179+
secretName: some-name-ssl
180+
- name: ssl-internal
181+
secret:
182+
defaultMode: 288
183+
optional: true
184+
secretName: some-name-ssl-internal
185+
- name: users-secret-file
186+
secret:
187+
defaultMode: 420
188+
secretName: internal-some-name-users
189+
updateStrategy:
190+
type: OnDelete
191+
volumeClaimTemplates:
192+
- metadata:
193+
name: mongod-data
194+
spec:
195+
accessModes:
196+
- ReadWriteOnce
197+
resources:
198+
requests:
199+
storage: 3Gi
200+
status:
201+
phase: Pending

0 commit comments

Comments
 (0)