Skip to content

Commit f2de164

Browse files
authored
[enhancement] Added PVC for nats-server (#1939)
* Updated nats-volume * Renamed nats-server-vol and fixed nats deletion once * Fixed nats volume name * Fixed devtron custom override cm * Fixed devtron custom override cm * Fixed devtron custom override cm * Removed devtron custom override cm * Fixed nats volume conditions
1 parent c6f7a7a commit f2de164

File tree

2 files changed

+44
-3
lines changed

2 files changed

+44
-3
lines changed

manifests/installation-script

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ postgresSecret = kubectl get secret -n devtroncd postgresql-postgresql;
1212
enableLegacyApi = jsonSelect(operatorConfigMap, "data.ENABLE_LEGACY_API");
1313
helmInstallation = jsonSelect(operatorConfigMap, "data.INSTALLATION_THROUGH_HELM");
1414

15+
1516
baseURLScheme = jsonSelect(operatorConfigMap, "data.BASE_URL_SCHEME");
1617
baseURL = jsonSelect(operatorConfigMap, "data.BASE_URL");
1718
dexConfig = jsonSelect(operatorConfigMap, "data.DEX_CONFIG");
@@ -450,11 +451,18 @@ log("executed migrator setup command");
450451
## #nats
451452
## natsOperator = kubectl apply -n devtroncd natsOperator -u natsOperatorOverride;
452453
## log("executed nats operator setup");
454+
hasNatsServerPod = kubectl get pod -n devtroncd devtron-nats-0;
455+
hasNatsServerPVC = kubectl get -n devtroncd pvc data-devtron-nats-0;
456+
if hasNatsServerPod && !hasNatsServerPVC {
457+
log("Nats Server PVC not found");
458+
natsStsDelete = kubectl delete -n devtroncd sts devtron-nats;
459+
ignore = shellScript sleep50;
460+
natsServerWithPVC = kubectl apply -n devtroncd natsServer -u natsServerOverride;
461+
log("Nats PVC created and statefulset re-created");
462+
}
463+
else {
453464
ignore = shellScript sleep50;
454465
natsServer = kubectl apply -n devtroncd natsServer -u natsServerOverride;
455-
hasNatsServerPod = kubectl get pod -n devtroncd devtron-nats-0;
456-
if hasNatsServerPod {
457-
natsPodDelete = kubectl delete -n devtroncd po "devtron-nats-0";
458466
}
459467
log(hasNatsServerPod);
460468
log("executed nats server setup");

manifests/yamls/nats-server.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ spec:
210210
mountPath: /etc/nats-config
211211
- name: pid
212212
mountPath: /var/run/nats
213+
- name: data
214+
mountPath: /tmp/nats/jetstream
213215

214216
# Liveness/Readiness probes against the monitoring.
215217
#
@@ -280,6 +282,7 @@ spec:
280282
- -routez
281283
- -subz
282284
- -varz
285+
- -jsz=all
283286
- -prefix=nats
284287
- -use_internal_server_id
285288
- http://localhost:8222/
@@ -289,6 +292,13 @@ spec:
289292

290293

291294
volumeClaimTemplates:
295+
- metadata:
296+
name: data
297+
spec:
298+
accessModes: [ "ReadWriteOnce" ]
299+
resources:
300+
requests:
301+
storage: 5Gi
292302
---
293303
# Source: nats/templates/tests/test-request-reply.yaml
294304
apiVersion: v1
@@ -326,3 +336,26 @@ spec:
326336
[ $name = test ]
327337
328338
restartPolicy: Never
339+
---
340+
apiVersion: monitoring.coreos.com/v1
341+
kind: ServiceMonitor
342+
metadata:
343+
labels:
344+
kind: Prometheus
345+
app: devtron-nats
346+
chart: nats-0.9.2
347+
release: monitoring
348+
name: devtron-nats-server
349+
spec:
350+
endpoints:
351+
- interval: 30s
352+
path: /metrics
353+
port: metrics
354+
jobLabel: nats-server
355+
namespaceSelector:
356+
matchNames:
357+
- devtroncd
358+
selector:
359+
matchLabels:
360+
app.kubernetes.io/instance: devtron-nats
361+
app.kubernetes.io/name: nats

0 commit comments

Comments
 (0)