updating helm/docker files and database config files
[it/otf.git] / otf-helm / otf / charts / databases / mongodb / values.schema.json
diff --git a/otf-helm/otf/charts/databases/mongodb/values.schema.json b/otf-helm/otf/charts/databases/mongodb/values.schema.json
new file mode 100644 (file)
index 0000000..9bf39e5
--- /dev/null
@@ -0,0 +1,147 @@
+{
+  "$schema": "http://json-schema.org/schema#",
+  "type": "object",
+  "properties": {
+    "usePassword": {
+      "type": "boolean",
+      "title": "Enable password authentication",
+      "form": true
+    },
+    "mongodbRootPassword": {
+      "type": "string",
+      "title": "MongoDB admin password",
+      "form": true,
+      "description": "Defaults to a random 10-character alphanumeric string if not set",
+      "hidden": {
+        "condition": false,
+        "value": "usePassword"
+      }
+    },
+    "mongodbDatabase": {
+      "type": "string",
+      "title": "MongoDB custom database",
+      "description": "Name of the custom database to be created during the 1st initialization of MongoDB",
+      "form": true
+    },
+    "mongodbUsername": {
+      "type": "string",
+      "title": "MongoDB custom user",
+      "description": "Name of the custom user to be created during the 1st initialization of MongoDB. This user only has permissions on the MongoDB custom database",
+      "form": true
+    },
+    "mongodbPassword": {
+      "type": "string",
+      "title": "Password for MongoDB custom user",
+      "form": true,
+      "description": "Defaults to a random 10-character alphanumeric string if not set",
+      "hidden": {
+        "condition": false,
+        "value": "usePassword"
+      }
+    },
+    "replicaSet": {
+      "type": "object",
+      "title": "Replicaset configuration",
+      "form": true,
+      "properties": {
+        "enabled": {
+          "type": "boolean",
+          "form": true,
+          "title": "Enable replicaset configuration"
+        },
+        "replicas": {
+          "type": "object",
+          "title": "Number of replicas",
+          "form": true,
+          "hidden": {
+            "condition": false,
+            "value": "replicaSet.enabled"
+          },
+          "properties": {
+            "secondary": {
+              "type": "integer",
+              "title": "Secondary node replicas",
+              "description": "Number of secondary node replicas to deploy",
+              "form": true
+            },
+            "arbiter": {
+              "type": "integer",
+              "title": "Arbiter node replicas",
+              "description": "Number of arbiter node replicas to deploy",
+              "form": true
+            }
+          }
+        }
+      }
+    },
+    "persistence": {
+      "type": "object",
+      "title": "Persistence configuration",
+      "form": true,
+      "properties": {
+        "enabled": {
+          "type": "boolean",
+          "form": true,
+          "title": "Enable persistence",
+          "description": "Enable persistence using Persistent Volume Claims"
+        },
+        "size": {
+          "type": "string",
+          "title": "Persistent Volume Size",
+          "form": true,
+          "render": "slider",
+          "sliderMin": 1,
+          "sliderMax": 100,
+          "sliderUnit": "Gi",
+          "hidden": {
+            "condition": false,
+            "value": "persistence.enabled"
+          }
+        }
+      }
+    },
+    "volumePermissions": {
+      "type": "object",
+      "hidden": {
+        "condition": false,
+        "value": "persistence.enabled"
+      },
+      "properties": {
+        "enabled": {
+          "type": "boolean",
+          "form": true,
+          "title": "Enable Init Containers",
+          "description": "Use an init container to set required folder permissions on the data volume before mounting it in the final destination"
+        }
+      }
+    },
+    "metrics": {
+      "type": "object",
+      "form": true,
+      "title": "Prometheus metrics details",
+      "properties": {
+        "enabled": {
+          "type": "boolean",
+          "title": "Create Prometheus metrics exporter",
+          "description": "Create a side-car container to expose Prometheus metrics",
+          "form": true
+        },
+        "serviceMonitor": {
+          "type": "object",
+          "properties": {
+            "enabled": {
+              "type": "boolean",
+              "title": "Create Prometheus Operator ServiceMonitor",
+              "description": "Create a ServiceMonitor to track metrics using Prometheus Operator",
+              "form": true,
+              "hidden": {
+                "condition": false,
+                "value": "metrics.enabled"
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}