--- /dev/null
+{
+ "$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"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}