9bf39e511a77dcc0fa69fc89b065b18c98f12b65
[it/otf.git] / otf-helm / otf / charts / databases / mongodb / values.schema.json
1 {
2   "$schema": "http://json-schema.org/schema#",
3   "type": "object",
4   "properties": {
5     "usePassword": {
6       "type": "boolean",
7       "title": "Enable password authentication",
8       "form": true
9     },
10     "mongodbRootPassword": {
11       "type": "string",
12       "title": "MongoDB admin password",
13       "form": true,
14       "description": "Defaults to a random 10-character alphanumeric string if not set",
15       "hidden": {
16         "condition": false,
17         "value": "usePassword"
18       }
19     },
20     "mongodbDatabase": {
21       "type": "string",
22       "title": "MongoDB custom database",
23       "description": "Name of the custom database to be created during the 1st initialization of MongoDB",
24       "form": true
25     },
26     "mongodbUsername": {
27       "type": "string",
28       "title": "MongoDB custom user",
29       "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",
30       "form": true
31     },
32     "mongodbPassword": {
33       "type": "string",
34       "title": "Password for MongoDB custom user",
35       "form": true,
36       "description": "Defaults to a random 10-character alphanumeric string if not set",
37       "hidden": {
38         "condition": false,
39         "value": "usePassword"
40       }
41     },
42     "replicaSet": {
43       "type": "object",
44       "title": "Replicaset configuration",
45       "form": true,
46       "properties": {
47         "enabled": {
48           "type": "boolean",
49           "form": true,
50           "title": "Enable replicaset configuration"
51         },
52         "replicas": {
53           "type": "object",
54           "title": "Number of replicas",
55           "form": true,
56           "hidden": {
57             "condition": false,
58             "value": "replicaSet.enabled"
59           },
60           "properties": {
61             "secondary": {
62               "type": "integer",
63               "title": "Secondary node replicas",
64               "description": "Number of secondary node replicas to deploy",
65               "form": true
66             },
67             "arbiter": {
68               "type": "integer",
69               "title": "Arbiter node replicas",
70               "description": "Number of arbiter node replicas to deploy",
71               "form": true
72             }
73           }
74         }
75       }
76     },
77     "persistence": {
78       "type": "object",
79       "title": "Persistence configuration",
80       "form": true,
81       "properties": {
82         "enabled": {
83           "type": "boolean",
84           "form": true,
85           "title": "Enable persistence",
86           "description": "Enable persistence using Persistent Volume Claims"
87         },
88         "size": {
89           "type": "string",
90           "title": "Persistent Volume Size",
91           "form": true,
92           "render": "slider",
93           "sliderMin": 1,
94           "sliderMax": 100,
95           "sliderUnit": "Gi",
96           "hidden": {
97             "condition": false,
98             "value": "persistence.enabled"
99           }
100         }
101       }
102     },
103     "volumePermissions": {
104       "type": "object",
105       "hidden": {
106         "condition": false,
107         "value": "persistence.enabled"
108       },
109       "properties": {
110         "enabled": {
111           "type": "boolean",
112           "form": true,
113           "title": "Enable Init Containers",
114           "description": "Use an init container to set required folder permissions on the data volume before mounting it in the final destination"
115         }
116       }
117     },
118     "metrics": {
119       "type": "object",
120       "form": true,
121       "title": "Prometheus metrics details",
122       "properties": {
123         "enabled": {
124           "type": "boolean",
125           "title": "Create Prometheus metrics exporter",
126           "description": "Create a side-car container to expose Prometheus metrics",
127           "form": true
128         },
129         "serviceMonitor": {
130           "type": "object",
131           "properties": {
132             "enabled": {
133               "type": "boolean",
134               "title": "Create Prometheus Operator ServiceMonitor",
135               "description": "Create a ServiceMonitor to track metrics using Prometheus Operator",
136               "form": true,
137               "hidden": {
138                 "condition": false,
139                 "value": "metrics.enabled"
140               }
141             }
142           }
143         }
144       }
145     }
146   }
147 }