blob: fc41483cdfc45b297066216303518993e9dd7d74 [file] [log] [blame]
Giorgi Lekveishvili4ec4c022024-08-17 15:09:24 +04001{
2 "$schema": "http://json-schema.org/schema#",
3 "type": "object",
4 "properties": {
5 "architecture": {
6 "type": "string",
7 "title": "PostgreSQL architecture",
8 "form": true,
9 "description": "Allowed values: `standalone` or `replication`"
10 },
11 "auth": {
12 "type": "object",
13 "title": "Authentication configuration",
14 "form": true,
15 "properties": {
16 "enablePostgresUser": {
17 "type": "boolean",
18 "title": "Enable \"postgres\" admin user",
19 "description": "Assign a password to the \"postgres\" admin user. Otherwise, remote access will be blocked for this user",
20 "form": true
21 },
22 "postgresPassword": {
23 "type": "string",
24 "title": "Password for the \"postgres\" admin user",
25 "description": "Defaults to a random 10-character alphanumeric string if not set",
26 "form": true
27 },
28 "database": {
29 "type": "string",
30 "title": "PostgreSQL custom database",
31 "description": "Name of the custom database to be created during the 1st initialization of PostgreSQL",
32 "form": true
33 },
34 "username": {
35 "type": "string",
36 "title": "PostgreSQL custom user",
37 "description": "Name of the custom user to be created during the 1st initialization of PostgreSQL. This user only has permissions on the PostgreSQL custom database",
38 "form": true
39 },
40 "password": {
41 "type": "string",
42 "title": "Password for the custom user to create",
43 "description": "Defaults to a random 10-character alphanumeric string if not set",
44 "form": true
45 },
46 "replicationUsername": {
47 "type": "string",
48 "title": "PostgreSQL replication user",
49 "description": "Name of user used to manage replication.",
50 "form": true,
51 "hidden": {
52 "value": "standalone",
53 "path": "architecture"
54 }
55 },
56 "replicationPassword": {
57 "type": "string",
58 "title": "Password for PostgreSQL replication user",
59 "description": "Defaults to a random 10-character alphanumeric string if not set",
60 "form": true,
61 "hidden": {
62 "value": "standalone",
63 "path": "architecture"
64 }
65 }
66 }
67 },
68 "persistence": {
69 "type": "object",
70 "properties": {
71 "size": {
72 "type": "string",
73 "title": "Persistent Volume Size",
74 "form": true,
75 "render": "slider",
76 "sliderMin": 1,
77 "sliderMax": 100,
78 "sliderUnit": "Gi"
79 }
80 }
81 },
82 "resources": {
83 "type": "object",
84 "title": "Required Resources",
85 "description": "Configure resource requests",
86 "form": true,
87 "properties": {
88 "requests": {
89 "type": "object",
90 "properties": {
91 "memory": {
92 "type": "string",
93 "form": true,
94 "render": "slider",
95 "title": "Memory Request",
96 "sliderMin": 10,
97 "sliderMax": 2048,
98 "sliderUnit": "Mi"
99 },
100 "cpu": {
101 "type": "string",
102 "form": true,
103 "render": "slider",
104 "title": "CPU Request",
105 "sliderMin": 10,
106 "sliderMax": 2000,
107 "sliderUnit": "m"
108 }
109 }
110 }
111 }
112 },
113 "replication": {
114 "type": "object",
115 "form": true,
116 "title": "Replication Details",
117 "properties": {
118 "enabled": {
119 "type": "boolean",
120 "title": "Enable Replication",
121 "form": true
122 },
123 "readReplicas": {
124 "type": "integer",
125 "title": "read Replicas",
126 "form": true,
127 "hidden": {
128 "value": "standalone",
129 "path": "architecture"
130 }
131 }
132 }
133 },
134 "volumePermissions": {
135 "type": "object",
136 "properties": {
137 "enabled": {
138 "type": "boolean",
139 "form": true,
140 "title": "Enable Init Containers",
141 "description": "Change the owner of the persist volume mountpoint to RunAsUser:fsGroup"
142 }
143 }
144 },
145 "metrics": {
146 "type": "object",
147 "properties": {
148 "enabled": {
149 "type": "boolean",
150 "title": "Configure metrics exporter",
151 "form": true
152 }
153 }
154 }
155 }
156}