|
2 | 2 | "$schema": "http://json-schema.org/draft-07/schema", |
3 | 3 | "type": "object", |
4 | 4 | "properties": { |
| 5 | + "global": { |
| 6 | + "title": "Global configuration", |
| 7 | + "type": "object", |
| 8 | + "properties": { |
| 9 | + "security": { |
| 10 | + "title": "Security", |
| 11 | + "type": "object", |
| 12 | + "properties": { |
| 13 | + "allowInsecureImages": { |
| 14 | + "title": "Allow custom insecure images", |
| 15 | + "description": "Must be ticked to change the PostgreSQL image", |
| 16 | + "type": "boolean", |
| 17 | + "default": true |
| 18 | + } |
| 19 | + } |
| 20 | + } |
| 21 | + } |
| 22 | + }, |
5 | 23 | "postgresql": { |
6 | | - "description": "postgres specific configuration", |
| 24 | + "title": "PostgreSQL", |
7 | 25 | "type": "object", |
8 | 26 | "properties": { |
9 | 27 | "image": { |
10 | | - "description": "image specific configuration", |
| 28 | + "title": "Image", |
11 | 29 | "type": "object", |
12 | 30 | "properties": { |
| 31 | + "repository": { |
| 32 | + "title": "Image name", |
| 33 | + "type": "string", |
| 34 | + "enum": [ |
| 35 | + "bitnami/postgresql", |
| 36 | + "inseefrlab/onyxia-postgresql-pgvector" |
| 37 | + ], |
| 38 | + "default": "bitnami/postgresql" |
| 39 | + }, |
13 | 40 | "tag": { |
14 | | - "description": "postgresql major version", |
| 41 | + "title": "Version", |
15 | 42 | "type": "string", |
16 | 43 | "enum": [ |
17 | | - "10", |
18 | | - "11", |
19 | | - "12", |
20 | | - "13", |
21 | | - "14", |
| 44 | + "17", |
| 45 | + "16", |
22 | 46 | "15", |
23 | | - "16" |
| 47 | + "14", |
| 48 | + "13", |
| 49 | + "12", |
| 50 | + "11", |
| 51 | + "10" |
24 | 52 | ], |
25 | | - "default": "16" |
| 53 | + "default": "17" |
26 | 54 | } |
27 | 55 | } |
28 | 56 | }, |
29 | 57 | "primary": { |
30 | | - "description": "primary configuration", |
31 | | - "type": "object", |
32 | 58 | "title": "Resources", |
| 59 | + "type": "object", |
33 | 60 | "properties": { |
34 | 61 | "persistence": { |
35 | | - "description": "Configuration for persistence", |
| 62 | + "title": "Persistence", |
36 | 63 | "type": "object", |
37 | 64 | "properties": { |
38 | 65 | "enabled": { |
| 66 | + "title": "Create a persistent volume", |
39 | 67 | "type": "boolean", |
40 | | - "description": "Create a persistent volume", |
41 | 68 | "default": true |
42 | 69 | }, |
43 | 70 | "size": { |
44 | | - "type": "string", |
45 | 71 | "title": "Persistent volume size", |
46 | | - "description": "Size of the persistent volume", |
| 72 | + "type": "string", |
47 | 73 | "default": "10Gi", |
48 | 74 | "form": true, |
49 | 75 | "render": "slider", |
|
59 | 85 | } |
60 | 86 | }, |
61 | 87 | "resources": { |
62 | | - "description": "Your service will have at least the requested resources and never more than its limits. No limit for a resource and you can consume everything left on the host machine.", |
| 88 | + "title": "Resources (CPU/RAM)", |
| 89 | + "description": "Requested resources are reserved, even if unused, please be considerate of others. Limits are strict and may cause slowdowns or out-of-memory errors.", |
63 | 90 | "type": "object", |
64 | 91 | "properties": { |
65 | 92 | "requests": { |
66 | 93 | "description": "Guaranteed resources", |
67 | 94 | "type": "object", |
68 | 95 | "properties": { |
69 | 96 | "cpu": { |
70 | | - "description": "The amount of cpu guaranteed", |
| 97 | + "description": "Guaranteed CPU allocation", |
71 | 98 | "title": "CPU", |
72 | 99 | "type": "string", |
73 | 100 | "default": "250m", |
|
81 | 108 | "sliderRangeId": "cpu" |
82 | 109 | }, |
83 | 110 | "memory": { |
84 | | - "description": "The amount of memory guaranteed", |
| 111 | + "description": "Guaranteed memory allocation", |
85 | 112 | "title": "memory", |
86 | 113 | "type": "string", |
87 | 114 | "default": "1Gi", |
|
101 | 128 | "type": "object", |
102 | 129 | "properties": { |
103 | 130 | "cpu": { |
104 | | - "description": "The maximum amount of cpu", |
| 131 | + "description": "Maximum CPU allocation", |
105 | 132 | "title": "CPU", |
106 | 133 | "type": "string", |
107 | 134 | "default": "30000m", |
|
115 | 142 | "sliderRangeId": "cpu" |
116 | 143 | }, |
117 | 144 | "memory": { |
118 | | - "description": "The maximum amount of memory", |
| 145 | + "description": "Maximum memory allocation", |
119 | 146 | "title": "Memory", |
120 | 147 | "type": "string", |
121 | 148 | "default": "50Gi", |
|
135 | 162 | } |
136 | 163 | }, |
137 | 164 | "auth": { |
138 | | - "description": "postgres authentification configuration", |
| 165 | + "title": "Database authentication", |
139 | 166 | "type": "object", |
140 | | - "title": "Database", |
141 | 167 | "properties": { |
142 | 168 | "postgresPassword": { |
143 | | - "type": "string", |
144 | 169 | "title": "Admin password", |
| 170 | + "type": "string", |
145 | 171 | "default": "changeme", |
146 | 172 | "render": "password", |
147 | 173 | "x-form": { |
|
152 | 178 | } |
153 | 179 | }, |
154 | 180 | "username": { |
| 181 | + "title": "User name", |
155 | 182 | "type": "string", |
156 | | - "title": "User", |
157 | 183 | "default": "admin", |
158 | 184 | "x-form": { |
159 | 185 | "value": "{{project.id}}" |
|
163 | 189 | } |
164 | 190 | }, |
165 | 191 | "password": { |
166 | | - "type": "string", |
167 | 192 | "title": "User password", |
| 193 | + "type": "string", |
168 | 194 | "default": "changeme", |
169 | 195 | "render": "password", |
170 | 196 | "x-form": { |
|
175 | 201 | } |
176 | 202 | }, |
177 | 203 | "database": { |
178 | | - "description": "Name for the default database to create.", |
| 204 | + "title": "Name for the default database", |
| 205 | + "description": "(will be created)", |
179 | 206 | "type": "string", |
180 | | - "title": "Database", |
181 | 207 | "default": "defaultdb" |
182 | 208 | } |
183 | 209 | } |
184 | 210 | }, |
185 | 211 | "extensions": { |
186 | | - "description": "Postgres extensions to enable", |
| 212 | + "title": "Postgres extensions", |
187 | 213 | "type": "object", |
188 | 214 | "properties": { |
189 | 215 | "postgis": { |
| 216 | + "title": "Enable PostGIS", |
190 | 217 | "type": "boolean", |
191 | | - "title": "PostGIS", |
192 | 218 | "default": false |
193 | 219 | } |
194 | 220 | } |
195 | 221 | } |
196 | 222 | } |
197 | 223 | }, |
198 | 224 | "security": { |
199 | | - "description": "Security specific configuration", |
| 225 | + "title": "Security", |
200 | 226 | "type": "object", |
201 | 227 | "properties": { |
202 | 228 | "networkPolicy": { |
| 229 | + "title": "Access to the service", |
203 | 230 | "type": "object", |
204 | | - "description": "Define access policy to the service", |
205 | 231 | "x-onyxia": { |
206 | 232 | "overwriteSchemaWith": "network-policy.json" |
207 | 233 | }, |
208 | 234 | "properties": { |
209 | 235 | "enabled": { |
210 | | - "type": "boolean", |
211 | 236 | "title": "Enable network policy", |
212 | 237 | "description": "Only pod from the same namespace will be allowed", |
| 238 | + "type": "boolean", |
213 | 239 | "default": false, |
214 | 240 | "x-onyxia": { |
215 | 241 | "overwriteDefaultWith": "region.defaultNetworkPolicy" |
216 | 242 | } |
217 | 243 | }, |
218 | 244 | "from": { |
219 | | - "description": "Array of sources allowed to have network access to your service", |
| 245 | + "title": "Sources allowed to access to your service", |
220 | 246 | "type": "array", |
221 | 247 | "items": { |
222 | 248 | "type": "object", |
|
233 | 259 | } |
234 | 260 | }, |
235 | 261 | "discovery": { |
236 | | - "description": "Database discovery", |
| 262 | + "title": "Database discovery", |
237 | 263 | "type": "object", |
238 | 264 | "properties": { |
239 | 265 | "enabled": { |
240 | | - "type": "boolean", |
241 | | - "title": "Enable discovery of this database", |
| 266 | + "title": "Enabled discovery", |
242 | 267 | "description": "Allows clients to automatically preconfigure a connection to this database", |
| 268 | + "type": "boolean", |
243 | 269 | "default": true |
244 | 270 | } |
245 | 271 | } |
246 | 272 | }, |
247 | 273 | "userPreferences": { |
248 | | - "description": "User Preferences", |
| 274 | + "title": "User Preferences", |
249 | 275 | "type": "object", |
250 | 276 | "properties": { |
251 | 277 | "language": { |
| 278 | + "title": "Preferred language", |
252 | 279 | "type": "string", |
253 | | - "description": "Preferred language", |
254 | 280 | "default": "en", |
255 | 281 | "x-onyxia": { |
256 | 282 | "hidden": true, |
|
0 commit comments