From 9d51075c243a7697151141d7ed9004c766aa4bd6 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 1 Apr 2020 10:43:35 +0200
Subject: [PATCH] add mongodb

---
 .../asapo/configs/asapo-broker.json           |  2 +-
 .../asapo/configs/asapo-receiver.json         |  2 +-
 .../asapo/templates/broker-deployment.yaml    |  2 +-
 .../asapo/templates/grafana-deployment.yaml   |  4 ++-
 .../asapo/templates/mongodb-deployment.yaml   | 28 +++++++++++++++++++
 .../asapo/templates/storage.yaml              | 15 +++++++++-
 deploy/asapo_helm_chart/asapo/values.yaml     |  6 ++++
 7 files changed, 54 insertions(+), 5 deletions(-)
 create mode 100644 deploy/asapo_helm_chart/asapo/templates/mongodb-deployment.yaml

diff --git a/deploy/asapo_helm_chart/asapo/configs/asapo-broker.json b/deploy/asapo_helm_chart/asapo/configs/asapo-broker.json
index d59aaed6d..3753878d2 100644
--- a/deploy/asapo_helm_chart/asapo/configs/asapo-broker.json
+++ b/deploy/asapo_helm_chart/asapo/configs/asapo-broker.json
@@ -1,5 +1,5 @@
 {
-  "DatabaseServer":"auto",
+  "DatabaseServer":"asapo-mongodb:{{ .Values.ownServices.mongodb.port }}",
   "DiscoveryServer": "asapo-discovery:{{ .Values.ownServices.discovery.port }}",
   "PerformanceDbServer":"{{ .Chart.Name }}-influxdb:{{ .Values.influxdb.influxdb.service.port }}",
   "PerformanceDbName": "asapo_brokers",
diff --git a/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json b/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
index 1c0d4439c..990fe7465 100644
--- a/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
+++ b/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
@@ -2,7 +2,7 @@
   "AdvertiseIP": "auto",
   "PerformanceDbServer": "{{ .Chart.Name }}-influxdb:{{ .Values.influxdb.influxdb.service.port }}",
   "PerformanceDbName": "asapo_receivers",
-  "DatabaseServer": "auto",
+  "DatabaseServer": "asapo-mongodb:{{ .Values.ownServices.mongodb.port }}",
   "DiscoveryServer": "asapo-discovery:{{ .Values.ownServices.discovery.port }}",
   "AuthorizationServer": "asapo-authorizer:{{ .Values.ownServices.authorizer.port }}",
   "AuthorizationInterval": 10000,
diff --git a/deploy/asapo_helm_chart/asapo/templates/broker-deployment.yaml b/deploy/asapo_helm_chart/asapo/templates/broker-deployment.yaml
index 8c88d8ea0..2f2b26f5a 100644
--- a/deploy/asapo_helm_chart/asapo/templates/broker-deployment.yaml
+++ b/deploy/asapo_helm_chart/asapo/templates/broker-deployment.yaml
@@ -30,7 +30,7 @@ spec:
       initContainers:
         - name: wait-databases
           image: busybox:1.28
-          command: ['sh', '-c', "echo initializing;until wget asapo-influxdb:8086/ping; do echo waiting for influxdb; sleep 2; done"]
+          command: ['sh', '-c', "echo initializing;until wget -T 2 asapo-influxdb:8086/ping; do echo waiting for influxdb; sleep 2; done"]
       containers:
         - name: asapo-broker
           image: "yakser/asapo-broker-dev:{{ .Values.common.asapoVersionTag }}"
diff --git a/deploy/asapo_helm_chart/asapo/templates/grafana-deployment.yaml b/deploy/asapo_helm_chart/asapo/templates/grafana-deployment.yaml
index 46bd95051..dbc498acf 100644
--- a/deploy/asapo_helm_chart/asapo/templates/grafana-deployment.yaml
+++ b/deploy/asapo_helm_chart/asapo/templates/grafana-deployment.yaml
@@ -14,10 +14,12 @@ spec:
       labels:
         app: asapo-grafana
     spec:
+      securityContext:
+        fsGroup: 472
       volumes:
         - name: asapo-grafana
           persistentVolumeClaim:
-            claimName: asapo-online-pv
+            claimName: asapo-grafana
       containers:
         - name: asapo-grafana
           image: "grafana/grafana:6.7.1-ubuntu"
diff --git a/deploy/asapo_helm_chart/asapo/templates/mongodb-deployment.yaml b/deploy/asapo_helm_chart/asapo/templates/mongodb-deployment.yaml
new file mode 100644
index 000000000..e012f9fee
--- /dev/null
+++ b/deploy/asapo_helm_chart/asapo/templates/mongodb-deployment.yaml
@@ -0,0 +1,28 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: asapo-mongodb
+  labels:
+    app: asapo-mongodb
+spec:
+  replicas: {{ .Values.ownServices.mongodb.replicaCount }}
+  selector:
+    matchLabels:
+      app: asapo-mongodb
+  template:
+    metadata:
+      labels:
+        app: asapo-mongodb
+    spec:
+      volumes:
+        - name: asapo-mongodb
+          persistentVolumeClaim:
+            claimName: asapo-mongodb
+      containers:
+        - name: asapo-mongodb
+          image: "mongo:4.0.0"
+          ports:
+            - containerPort: {{ .Values.ownServices.mongodb.port }}
+          volumeMounts:
+            - mountPath: /data/db
+              name: asapo-mongodb
diff --git a/deploy/asapo_helm_chart/asapo/templates/storage.yaml b/deploy/asapo_helm_chart/asapo/templates/storage.yaml
index 95ab1fd02..f6bc55dcd 100644
--- a/deploy/asapo_helm_chart/asapo/templates/storage.yaml
+++ b/deploy/asapo_helm_chart/asapo/templates/storage.yaml
@@ -32,4 +32,17 @@ spec:
     - ReadWriteOnce
   resources:
     requests:
-      storage: 1Gi
\ No newline at end of file
+      storage: 1Gi
+
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: asapo-mongodb
+spec:
+  storageClassName: standard
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 20Gi
\ No newline at end of file
diff --git a/deploy/asapo_helm_chart/asapo/values.yaml b/deploy/asapo_helm_chart/asapo/values.yaml
index a6409c7d6..8e6d17564 100644
--- a/deploy/asapo_helm_chart/asapo/values.yaml
+++ b/deploy/asapo_helm_chart/asapo/values.yaml
@@ -45,6 +45,12 @@ ownServices:
     port: 3000
     sidecarLogs: false
     _exposeServiceExtrernally: false
+  mongodb:
+    serviceName: asapo-mongodb
+    replicaCount: 1
+    port: 27017
+    sidecarLogs: false
+    _exposeServiceExtrernally: false
 
 
 common:
-- 
GitLab