blob: 6ed2ed2be75006fa6cd25fd9c0ad741892dd6fa0 [file] [log] [blame]
gioda708652025-04-30 14:57:38 +04001package status
2
3import (
4 "testing"
5)
6
7const contents = `
8{
9 "appType": "env",
10 "clusters": [
11 {
12 "name": "default",
13 "kubeconfig": "",
14 "ingressClassName": ""
15 }
16 ],
17 "clusterMap": {
18 "default": {
19 "name": "default",
20 "kubeconfig": "",
21 "ingressClassName": ""
22 }
23 },
24 "global": {
25 "id": "hgrz",
26 "pcloudEnvName": "dodo",
27 "domain": "v1.dodo.cloud",
28 "privateDomain": "p.v1.dodo.cloud",
29 "contactEmail": "giolekva@gmail.com",
30 "adminPublicKey": "",
31 "publicIP": [
32 "135.181.48.180",
33 "65.108.39.172"
34 ],
35 "nameserverIP": [
36 "135.181.48.180",
37 "65.108.39.172"
38 ],
39 "namespacePrefix": "hgrz-",
40 "network": {
41 "dns": "10.0.1.2",
42 "dnsInClusterIP": "10.44.1.0",
43 "ingress": "10.0.1.0",
44 "headscale": "10.0.1.1",
45 "servicesFrom": "10.0.1.10",
46 "servicesTo": "10.0.1.254"
47 }
48 },
49 "input": {
50 "managerAddr": "",
51 "appId": "",
52 "key": {
53 "private": "-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAiAAAABNl\nY2RzYS1zaGEyLW5pc3RwMzg0AAAACG5pc3RwMzg0AAAAYQQ7EA3CMrQs232Q7aTp\nLijbV/wKmF57z/YIY8nwyBU/23XwaW4eyKlJ6KHGmrlvON58gX79TUW2vi8drvnK\nFiWksuut5pJ98PTFoUkd7F2RVf/E5J7pumxbURiAZs7jdxoAAADQ3ikITt4pCE4A\nAAATZWNkc2Etc2hhMi1uaXN0cDM4NAAAAAhuaXN0cDM4NAAAAGEEOxANwjK0LNt9\nkO2k6S4o21f8Cphee8/2CGPJ8MgVP9t18GluHsipSeihxpq5bzjefIF+/U1Ftr4v\nHa75yhYlpLLrreaSffD0xaFJHexdkVX/xOSe6bpsW1EYgGbO43caAAAAMQDSIepG\ns5i9qNKLos7Hyg2Za/YHEC0OSOOVB55O4WY+Rf4sx7Fplnr79lgBY1DtkJ8AAAAA\nAQIDBAUGBw==\n-----END OPENSSH PRIVATE KEY-----\n",
54 "public": "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBDsQDcIytCzbfZDtpOkuKNtX/AqYXnvP9ghjyfDIFT/bdfBpbh7IqUnoocaauW843nyBfv1NRba+Lx2u+coWJaSy663mkn3w9MWhSR3sXZFV/8Tknum6bFtRGIBmzuN3Gg=="
55 }
56 },
57 "name": "dodo-app",
58 "description": "",
59 "readme": "",
60 "icon": "",
61 "namespace": "dodo-app",
62 "help": [],
63 "url": "",
64 "namespaces": [],
65 "release": {
66 "appInstanceId": "dodo-app-oem",
67 "namespace": "hgrz-dodo-app-oem",
68 "repoAddr": "ssh://soft-serve.hgrz.svc.cluster.local:22/config",
69 "appDir": "/apps/dodo-app-oem",
70 "imageRegistry": "docker.io"
71 },
72 "localCharts": {
73 "access-secrets": {
74 "chart": "helm-charts/access-secrets",
75 "sourceRef": {
76 "kind": "GitRepository",
77 "name": "hgrz",
78 "namespace": "hgrz"
79 }
80 },
81 "app": {
82 "chart": "helm-charts/app",
83 "sourceRef": {
84 "kind": "GitRepository",
85 "name": "hgrz",
86 "namespace": "hgrz"
87 }
88 },
89 "authProxy": {
90 "chart": "helm-charts/authProxy",
91 "sourceRef": {
92 "kind": "GitRepository",
93 "name": "hgrz",
94 "namespace": "hgrz"
95 }
96 },
97 "ingress": {
98 "chart": "helm-charts/ingress",
99 "sourceRef": {
100 "kind": "GitRepository",
101 "name": "hgrz",
102 "namespace": "hgrz"
103 }
104 },
105 "postgres": {
106 "chart": "helm-charts/postgres",
107 "sourceRef": {
108 "kind": "GitRepository",
109 "name": "hgrz",
110 "namespace": "hgrz"
111 }
112 },
113 "secret": {
114 "chart": "helm-charts/secret",
115 "sourceRef": {
116 "kind": "GitRepository",
117 "name": "hgrz",
118 "namespace": "hgrz"
119 }
120 },
121 "volume": {
122 "chart": "helm-charts/volume",
123 "sourceRef": {
124 "kind": "GitRepository",
125 "name": "hgrz",
126 "namespace": "hgrz"
127 }
128 }
129 },
130 "networks": {
131 "private": {
132 "name": "Private",
133 "ingressClass": "hgrz-ingress-private",
134 "domain": "p.v1.dodo.cloud",
135 "allocatePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/allocate",
136 "reservePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/reserve",
137 "deallocatePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/remove"
138 },
139 "public": {
140 "name": "Public",
141 "ingressClass": "dodo-ingress-public",
142 "certificateIssuer": "hgrz-public",
143 "domain": "v1.dodo.cloud",
144 "allocatePortAddr": "http://port-allocator.dodo-ingress-public.svc.cluster.local/api/allocate",
145 "reservePortAddr": "http://port-allocator.dodo-ingress-public.svc.cluster.local/api/reserve",
146 "deallocatePortAddr": "http://port-allocator.dodo-ingress-public.svc.cluster.local/api/remove"
147 }
148 },
149 "mongodb": [],
150 "envVars": [
151 "DODO_POSTGRESQL_DB_URL=postgresql://postgres:postgres@postgres-db.hgrz-dodo-app-oem.svc.cluster.local/postgres"
152 ],
153 "service": [
154 {
155 "apiPort": 2000,
156 "ports": [
157 {
158 "name": "web",
159 "protocol": "TCP",
160 "value": 8080
161 }
162 ],
163 "env": [
164 {
165 "name": "DODO_PORT_WEB"
166 },
167 {
168 "name": "DODO_POSTGRESQL_DB_URL"
169 }
170 ],
171 "expose": [],
172 "ingress": [
173 {
174 "auth": {
175 "enabled": false
176 },
177 "network": "Private",
178 "port": {
179 "name": "web"
180 },
181 "subdomain": "t2",
182 "baseURL": "https://t2.p.v1.dodo.cloud"
183 }
184 ],
185 "name": "blog",
186 "type": "nextjs:deno-2.0.0",
187 "rootDir": "/dodo-app",
188 "preBuildCommands": [],
189 "source": {
190 "branch": "master",
191 "repository": "git@github.com:giolekva/dodo-blog.git",
192 "rootDir": "/"
193 },
194 "lastCmdEnv": [
195 "DODO_POSTGRESQL_DB_URL=postgresql://postgres:postgres@postgres-db.hgrz-dodo-app-oem.svc.cluster.local/postgres",
196 "DODO_PORT_WEB=8080"
197 ],
198 "runConfiguration": [
199 {
200 "bin": "/usr/bin/npm",
201 "args": [
202 "install"
203 ],
204 "env": []
205 },
206 {
207 "bin": "/usr/bin/deno",
208 "args": [
209 "task",
210 "build"
211 ],
212 "env": [
213 "DODO_POSTGRESQL_DB_URL=postgresql://postgres:postgres@postgres-db.hgrz-dodo-app-oem.svc.cluster.local/postgres",
214 "DODO_PORT_WEB=8080"
215 ]
216 },
217 {
218 "bin": "/usr/bin/deno",
219 "args": [
220 "task",
221 "start"
222 ],
223 "env": [
224 "DODO_POSTGRESQL_DB_URL=postgresql://postgres:postgres@postgres-db.hgrz-dodo-app-oem.svc.cluster.local/postgres",
225 "DODO_PORT_WEB=8080"
226 ]
227 }
228 ],
229 "volume": [],
230 "dev": {
231 "enabled": false
232 },
233 "vm": {
234 "cloudInit": {
235 "runCmd": [
236 [
237 "sh",
238 "-c",
239 "apt-get install -y npm unzip"
240 ],
241 [
242 "sh",
243 "-c",
244 "curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local/deno sh -s -- -y --no-modify-path"
245 ]
246 ],
247 "writeFiles": []
248 },
249 "env": [
250 "export PATH=$PATH:/usr/local/deno/bin"
251 ]
252 }
253 }
254 ],
255 "volume": [],
256 "postgresql": [
257 {
258 "name": "db",
259 "version": "15.3",
260 "initSQL": "",
261 "size": "1Gi",
262 "expose": []
263 }
264 ],
265 "output": {
266 "openPort": [],
267 "images": {
268 "app": {
269 "registry": "docker.io",
270 "repository": "giolekva",
271 "name": "app-runner",
272 "tag": "nextjs-deno-2.0.0",
273 "pullPolicy": "Always",
274 "imageName": "giolekva/app-runner",
275 "fullName": "docker.io/giolekva/app-runner",
276 "fullNameWithTag": "docker.io/giolekva/app-runner:nextjs-deno-2.0.0"
277 },
278 "postgres": {
279 "registry": "docker.io",
280 "repository": "library",
281 "name": "postgres",
282 "tag": "15.3",
283 "pullPolicy": "IfNotPresent",
284 "imageName": "library/postgres",
285 "fullName": "docker.io/library/postgres",
286 "fullNameWithTag": "docker.io/library/postgres:15.3"
287 },
288 "authProxy": {
289 "registry": "docker.io",
290 "repository": "giolekva",
291 "name": "auth-proxy",
292 "tag": "latest",
293 "pullPolicy": "Always",
294 "imageName": "giolekva/auth-proxy",
295 "fullName": "docker.io/giolekva/auth-proxy",
296 "fullNameWithTag": "docker.io/giolekva/auth-proxy:latest"
297 },
298 "tailscale-proxy": {
299 "registry": "docker.io",
300 "repository": "tailscale",
301 "name": "tailscale",
302 "tag": "v1.82.0",
303 "pullPolicy": "IfNotPresent",
304 "imageName": "tailscale/tailscale",
305 "fullName": "docker.io/tailscale/tailscale",
306 "fullNameWithTag": "docker.io/tailscale/tailscale:v1.82.0"
307 }
308 },
309 "charts": {
310 "access-secrets": {
311 "name": "access-secrets",
312 "kind": "GitRepository",
313 "address": "https://code.v1.dodo.cloud/helm-charts",
314 "branch": "main",
315 "path": "charts/access-secrets"
316 },
317 "app": {
318 "name": "app",
319 "kind": "GitRepository",
320 "address": "https://code.v1.dodo.cloud/helm-charts",
321 "branch": "main",
322 "path": "charts/app-runner"
323 },
324 "postgres": {
325 "name": "postgres",
326 "kind": "GitRepository",
327 "address": "https://code.v1.dodo.cloud/helm-charts",
328 "branch": "main",
329 "path": "charts/postgresql"
330 },
331 "ingress": {
332 "name": "ingress",
333 "kind": "GitRepository",
334 "address": "https://code.v1.dodo.cloud/helm-charts",
335 "branch": "main",
336 "path": "charts/ingress"
337 },
338 "authProxy": {
339 "name": "authProxy",
340 "kind": "GitRepository",
341 "address": "https://code.v1.dodo.cloud/helm-charts",
342 "branch": "main",
343 "path": "charts/auth-proxy"
344 },
345 "volume": {
346 "name": "volume",
347 "kind": "GitRepository",
348 "address": "https://code.v1.dodo.cloud/helm-charts",
349 "branch": "main",
350 "path": "charts/volumes"
351 },
352 "secret": {
353 "name": "secret",
354 "kind": "GitRepository",
355 "address": "https://code.v1.dodo.cloud/helm-charts",
356 "branch": "main",
357 "path": "charts/secret"
358 }
359 },
360 "clusterProxy": {},
361 "helm": {
362 "postgres-db": {
363 "apiVersion": "helm.toolkit.fluxcd.io/v2beta1",
364 "kind": "HelmRelease",
365 "metadata": {
366 "name": "postgres-db",
367 "namespace": "hgrz-dodo-app-oem",
368 "annotations": {
369 "dodo.cloud/id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
370 "dodo.cloud/installer-info": "",
371 "dodo.cloud/resource-type": "postgresql",
372 "dodo.cloud/resource.postgresql.name": "db",
373 "dodo.cloud/resource.postgresql.version": "15.3",
374 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
375 }
376 },
377 "spec": {
378 "interval": "1m0s",
379 "dependsOn": [],
380 "chart": {
381 "spec": {
382 "chart": "helm-charts/postgres",
383 "sourceRef": {
384 "kind": "GitRepository",
385 "name": "hgrz",
386 "namespace": "hgrz"
387 }
388 }
389 },
390 "install": {
391 "remediation": {
392 "retries": -1
393 }
394 },
395 "upgrade": {
396 "remediation": {
397 "retries": -1
398 }
399 },
400 "values": {
401 "fullnameOverride": "postgres-db",
402 "image": {
403 "registry": "docker.io",
404 "repository": "library/postgres",
405 "tag": "15.3",
406 "pullPolicy": "IfNotPresent"
407 },
408 "auth": {
409 "postgresPassword": "postgres",
410 "username": "postgres",
411 "password": "postgres",
412 "database": "postgres"
413 },
414 "service": {
415 "type": "ClusterIP",
416 "port": 5432
417 },
418 "global": {
419 "postgresql": {
420 "auth": {
421 "postgresPassword": "postgres",
422 "username": "postgres",
423 "password": "postgres",
424 "database": "postgres"
425 }
426 }
427 },
428 "primary": {
429 "persistence": {
430 "existingClaim": "db-postgresql"
431 },
432 "securityContext": {
433 "enabled": true,
434 "fsGroup": 0
435 },
436 "containerSecurityContext": {
437 "enabled": true,
438 "runAsUser": 0
439 }
440 },
441 "volumePermissions": {
442 "securityContext": {
443 "runAsUser": 0
444 }
445 }
446 }
447 }
448 },
449 "db-postgresql-volume": {
450 "apiVersion": "helm.toolkit.fluxcd.io/v2beta1",
451 "kind": "HelmRelease",
452 "metadata": {
453 "name": "db-postgresql-volume",
454 "namespace": "hgrz-dodo-app-oem",
455 "annotations": {
456 "dodo.cloud/id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
457 "dodo.cloud/installer-info": "Creating disk for db-postgresql",
458 "dodo.cloud/resource-type": "volume",
459 "dodo.cloud/resource.volume.name": "db-postgresql",
460 "dodo.cloud/resource.volume.size": "1Gi"
461 }
462 },
463 "spec": {
464 "interval": "1m0s",
465 "dependsOn": [],
466 "chart": {
467 "spec": {
468 "chart": "helm-charts/volume",
469 "sourceRef": {
470 "kind": "GitRepository",
471 "name": "hgrz",
472 "namespace": "hgrz"
473 }
474 }
475 },
476 "install": {
477 "remediation": {
478 "retries": -1
479 }
480 },
481 "upgrade": {
482 "remediation": {
483 "retries": -1
484 }
485 },
486 "values": {
487 "name": "db-postgresql",
488 "size": "1Gi",
489 "accessMode": "ReadWriteOnce"
490 }
491 }
492 },
493 "blog": {
494 "apiVersion": "helm.toolkit.fluxcd.io/v2beta1",
495 "kind": "HelmRelease",
496 "metadata": {
497 "name": "blog",
498 "namespace": "hgrz-dodo-app-oem",
499 "annotations": {
500 "dodo.cloud/id": "JSYKTmXOHvKo4Ecj+RThTMIE8uS7BcWA0vm2ydknN5s=",
501 "dodo.cloud/installer-info": "",
502 "dodo.cloud/resource-type": "service",
503 "dodo.cloud/resource.service.name": "blog"
504 }
505 },
506 "spec": {
507 "interval": "1m0s",
508 "dependsOn": [],
509 "chart": {
510 "spec": {
511 "chart": "helm-charts/app",
512 "sourceRef": {
513 "kind": "GitRepository",
514 "name": "hgrz",
515 "namespace": "hgrz"
516 }
517 }
518 },
519 "install": {
520 "remediation": {
521 "retries": -1
522 }
523 },
524 "upgrade": {
525 "remediation": {
526 "retries": -1
527 }
528 },
529 "values": {
530 "image": {
531 "repository": "docker.io/giolekva/app-runner",
532 "tag": "nextjs-deno-2.0.0",
533 "pullPolicy": "Always"
534 },
535 "runtimeClassName": "untrusted-external",
536 "name": "blog",
537 "apiPort": 2000,
538 "appPorts": [
539 {
540 "name": "web",
541 "containerPort": 8080,
542 "protocol": "TCP"
543 }
544 ],
545 "appDir": "/dodo-app",
546 "appId": "",
547 "repoAddr": "git@github.com:giolekva/dodo-blog.git",
548 "branch": "master",
549 "rootDir": "/",
550 "sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFpQUFBQUJObApZMlJ6WVMxemFHRXlMVzVwYzNSd016ZzBBQUFBQ0c1cGMzUndNemcwQUFBQVlRUTdFQTNDTXJRczIzMlE3YVRwCkxpamJWL3dLbUY1N3ovWUlZOG53eUJVLzIzWHdhVzRleUtsSjZLSEdtcmx2T041OGdYNzlUVVcydmk4ZHJ2bksKRmlXa3N1dXQ1cEo5OFBURm9Va2Q3RjJSVmYvRTVKN3B1bXhiVVJpQVpzN2pkeG9BQUFEUTNpa0lUdDRwQ0U0QQpBQUFUWldOa2MyRXRjMmhoTWkxdWFYTjBjRE00TkFBQUFBaHVhWE4wY0RNNE5BQUFBR0VFT3hBTndqSzBMTnQ5CmtPMms2UzRvMjFmOENwaGVlOC8yQ0dQSjhNZ1ZQOXQxOEdsdUhzaXBTZWloeHBxNWJ6amVmSUYrL1UxRnRyNHYKSGE3NXloWWxwTExycmVhU2ZmRDB4YUZKSGV4ZGtWWC94T1NlNmJwc1cxRVlnR2JPNDNjYUFBQUFNUURTSWVwRwpzNWk5cU5LTG9zN0h5ZzJaYS9ZSEVDME9TT09WQjU1TzRXWStSZjRzeDdGcGxucjc5bGdCWTFEdGtKOEFBQUFBCkFRSURCQVVHQnc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K",
551 "runCfg": "W3siYmluIjoiL3Vzci9iaW4vbnBtIiwiYXJncyI6WyJpbnN0YWxsIl0sImVudiI6W119LHsiYmluIjoiL3Vzci9iaW4vZGVubyIsImFyZ3MiOlsidGFzayIsImJ1aWxkIl0sImVudiI6WyJET0RPX1BPU1RHUkVTUUxfREJfVVJMPXBvc3RncmVzcWw6Ly9wb3N0Z3Jlczpwb3N0Z3Jlc0Bwb3N0Z3Jlcy1kYi5oZ3J6LWRvZG8tYXBwLW9lbS5zdmMuY2x1c3Rlci5sb2NhbC9wb3N0Z3JlcyIsIkRPRE9fUE9SVF9XRUI9ODA4MCJdfSx7ImJpbiI6Ii91c3IvYmluL2Rlbm8iLCJhcmdzIjpbInRhc2siLCJzdGFydCJdLCJlbnYiOlsiRE9ET19QT1NUR1JFU1FMX0RCX1VSTD1wb3N0Z3Jlc3FsOi8vcG9zdGdyZXM6cG9zdGdyZXNAcG9zdGdyZXMtZGIuaGdyei1kb2RvLWFwcC1vZW0uc3ZjLmNsdXN0ZXIubG9jYWwvcG9zdGdyZXMiLCJET0RPX1BPUlRfV0VCPTgwODAiXX1d",
552 "managerAddr": "",
553 "volumes": []
554 }
555 }
556 },
557 "blog-0-ingress": {
558 "apiVersion": "helm.toolkit.fluxcd.io/v2beta1",
559 "kind": "HelmRelease",
560 "metadata": {
561 "name": "blog-0-ingress",
562 "namespace": "hgrz-dodo-app-oem",
563 "annotations": {
564 "dodo.cloud/id": "XYqWfRvGkulShM6YqrnWRWqqhQ3dBmjlUIDY2LMW9wo=",
565 "dodo.cloud/installer-info": "Generating TLS certificate for https://t2.p.v1.dodo.cloud",
566 "dodo.cloud/resource-type": "ingress",
567 "dodo.cloud/resource.ingress.host": "https://t2.p.v1.dodo.cloud",
568 "dodo.cloud/resource.ingress.home": "",
569 "dodo.cloud/resource.ingress.name": "blog"
570 }
571 },
572 "spec": {
573 "interval": "1m0s",
574 "dependsOn": [],
575 "chart": {
576 "spec": {
577 "chart": "helm-charts/ingress",
578 "sourceRef": {
579 "kind": "GitRepository",
580 "name": "hgrz",
581 "namespace": "hgrz"
582 }
583 }
584 },
585 "install": {
586 "remediation": {
587 "retries": -1
588 }
589 },
590 "upgrade": {
591 "remediation": {
592 "retries": -1
593 }
594 },
595 "values": {
596 "domain": "t2.p.v1.dodo.cloud",
597 "appRoot": "",
598 "ingressClassName": "hgrz-ingress-private",
599 "certificateIssuer": "",
600 "service": {
601 "name": "blog-app",
602 "port": {
603 "number": 8080
604 }
605 }
606 }
607 }
608 }
609 }
610 },
611 "outs": {
612 "out": {
613 "id": "gP/o6bUhK8yahxnHVq/ARX8rZ06UYvXozT4T5zJFrR4=",
614 "ingress": {},
615 "vm": {},
616 "charts": {
617 "postgres": {
618 "name": "postgres",
619 "kind": "GitRepository",
620 "address": "https://code.v1.dodo.cloud/helm-charts",
621 "branch": "main",
622 "path": "charts/postgresql"
623 },
624 "volume": {
625 "name": "volume",
626 "kind": "GitRepository",
627 "address": "https://code.v1.dodo.cloud/helm-charts",
628 "branch": "main",
629 "path": "charts/volumes"
630 },
631 "secret": {
632 "name": "secret",
633 "kind": "GitRepository",
634 "address": "https://code.v1.dodo.cloud/helm-charts",
635 "branch": "main",
636 "path": "charts/secret"
637 }
638 },
639 "volume": {},
640 "postgresql": {
641 "db": {
642 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
643 "name": "db",
644 "version": "15.3",
645 "initSQL": "",
646 "size": "1Gi",
647 "expose": [],
648 "ingress": {},
649 "mongodb": {},
650 "postgresql": {},
651 "vm": {},
652 "charts": {
653 "postgres": {
654 "name": "postgres",
655 "kind": "GitRepository",
656 "address": "https://code.v1.dodo.cloud/helm-charts",
657 "branch": "main",
658 "path": "charts/postgresql"
659 },
660 "volume": {
661 "name": "volume",
662 "kind": "GitRepository",
663 "address": "https://code.v1.dodo.cloud/helm-charts",
664 "branch": "main",
665 "path": "charts/volumes"
666 },
667 "secret": {
668 "name": "secret",
669 "kind": "GitRepository",
670 "address": "https://code.v1.dodo.cloud/helm-charts",
671 "branch": "main",
672 "path": "charts/secret"
673 }
674 },
675 "volume": {
676 "db-postgresql": {
677 "name": "db-postgresql",
678 "size": "1Gi",
679 "accessMode": "ReadWriteOnce"
680 }
681 },
682 "helm": {
683 "postgres-db": {
684 "chart": {
685 "name": "postgres",
686 "kind": "GitRepository",
687 "address": "https://code.v1.dodo.cloud/helm-charts",
688 "branch": "main",
689 "path": "charts/postgresql"
690 },
691 "name": "postgres-db",
692 "dependsOn": [],
693 "info": "",
694 "annotations": {
695 "dodo.cloud/resource-type": "postgresql",
696 "dodo.cloud/resource.postgresql.name": "db",
697 "dodo.cloud/resource.postgresql.version": "15.3",
698 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
699 },
700 "values": {
701 "fullnameOverride": "postgres-db",
702 "image": {
703 "registry": "docker.io",
704 "repository": "library/postgres",
705 "tag": "15.3",
706 "pullPolicy": "IfNotPresent"
707 },
708 "auth": {
709 "postgresPassword": "postgres",
710 "username": "postgres",
711 "password": "postgres",
712 "database": "postgres"
713 },
714 "service": {
715 "type": "ClusterIP",
716 "port": 5432
717 },
718 "global": {
719 "postgresql": {
720 "auth": {
721 "postgresPassword": "postgres",
722 "username": "postgres",
723 "password": "postgres",
724 "database": "postgres"
725 }
726 }
727 },
728 "primary": {
729 "persistence": {
730 "existingClaim": "db-postgresql"
731 },
732 "securityContext": {
733 "enabled": true,
734 "fsGroup": 0
735 },
736 "containerSecurityContext": {
737 "enabled": true,
738 "runAsUser": 0
739 }
740 },
741 "volumePermissions": {
742 "securityContext": {
743 "runAsUser": 0
744 }
745 }
746 }
747 },
748 "db-postgresql-volume": {
749 "chart": {
750 "name": "volume",
751 "kind": "GitRepository",
752 "address": "https://code.v1.dodo.cloud/helm-charts",
753 "branch": "main",
754 "path": "charts/volumes"
755 },
756 "name": "db-postgresql-volume",
757 "dependsOn": [],
758 "info": "Creating disk for db-postgresql",
759 "annotations": {
760 "dodo.cloud/resource-type": "volume",
761 "dodo.cloud/resource.volume.name": "db-postgresql",
762 "dodo.cloud/resource.volume.size": "1Gi"
763 },
764 "values": {
765 "name": "db-postgresql",
766 "size": "1Gi",
767 "accessMode": "ReadWriteOnce"
768 }
769 }
770 },
771 "openPort": [],
772 "openPortMap": {
773 "_self": []
774 },
775 "clusterProxy": {},
776 "images": {
777 "postgres": {
778 "registry": "docker.io",
779 "repository": "library",
780 "name": "postgres",
781 "tag": "15.3",
782 "pullPolicy": "IfNotPresent",
783 "imageName": "library/postgres",
784 "fullName": "docker.io/library/postgres",
785 "fullNameWithTag": "docker.io/library/postgres:15.3"
786 }
787 },
788 "helmR": {
789 "postgres-db": {
790 "chart": {
791 "name": "postgres",
792 "kind": "GitRepository",
793 "address": "https://code.v1.dodo.cloud/helm-charts",
794 "branch": "main",
795 "path": "charts/postgresql"
796 },
797 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
798 "name": "postgres-db",
799 "dependsOn": [],
800 "info": "",
801 "annotations": {
802 "dodo.cloud/resource-type": "postgresql",
803 "dodo.cloud/resource.postgresql.name": "db",
804 "dodo.cloud/resource.postgresql.version": "15.3",
805 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
806 },
807 "values": {
808 "fullnameOverride": "postgres-db",
809 "image": {
810 "registry": "docker.io",
811 "repository": "library/postgres",
812 "tag": "15.3",
813 "pullPolicy": "IfNotPresent"
814 },
815 "auth": {
816 "postgresPassword": "postgres",
817 "username": "postgres",
818 "password": "postgres",
819 "database": "postgres"
820 },
821 "service": {
822 "type": "ClusterIP",
823 "port": 5432
824 },
825 "global": {
826 "postgresql": {
827 "auth": {
828 "postgresPassword": "postgres",
829 "username": "postgres",
830 "password": "postgres",
831 "database": "postgres"
832 }
833 }
834 },
835 "primary": {
836 "persistence": {
837 "existingClaim": "db-postgresql"
838 },
839 "securityContext": {
840 "enabled": true,
841 "fsGroup": 0
842 },
843 "containerSecurityContext": {
844 "enabled": true,
845 "runAsUser": 0
846 }
847 },
848 "volumePermissions": {
849 "securityContext": {
850 "runAsUser": 0
851 }
852 }
853 }
854 },
855 "db-postgresql-volume": {
856 "chart": {
857 "name": "volume",
858 "kind": "GitRepository",
859 "address": "https://code.v1.dodo.cloud/helm-charts",
860 "branch": "main",
861 "path": "charts/volumes"
862 },
863 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
864 "name": "db-postgresql-volume",
865 "dependsOn": [],
866 "info": "Creating disk for db-postgresql",
867 "annotations": {
868 "dodo.cloud/resource-type": "volume",
869 "dodo.cloud/resource.volume.name": "db-postgresql",
870 "dodo.cloud/resource.volume.size": "1Gi"
871 },
872 "values": {
873 "name": "db-postgresql",
874 "size": "1Gi",
875 "accessMode": "ReadWriteOnce"
876 }
877 }
878 }
879 }
880 },
881 "mongodb": {},
882 "openPortMap": {
883 "_self": [],
884 "postgresql-db": {
885 "_self": []
886 }
887 },
888 "clusterProxy": {},
889 "images": {
890 "postgres": {
891 "registry": "docker.io",
892 "repository": "library",
893 "name": "postgres",
894 "tag": "15.3",
895 "pullPolicy": "IfNotPresent",
896 "imageName": "library/postgres",
897 "fullName": "docker.io/library/postgres",
898 "fullNameWithTag": "docker.io/library/postgres:15.3"
899 }
900 },
901 "helm": {},
902 "openPort": [],
903 "helmR": {
904 "postgres-db": {
905 "chart": {
906 "name": "postgres",
907 "kind": "GitRepository",
908 "address": "https://code.v1.dodo.cloud/helm-charts",
909 "branch": "main",
910 "path": "charts/postgresql"
911 },
912 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
913 "name": "postgres-db",
914 "dependsOn": [],
915 "info": "",
916 "annotations": {
917 "dodo.cloud/resource-type": "postgresql",
918 "dodo.cloud/resource.postgresql.name": "db",
919 "dodo.cloud/resource.postgresql.version": "15.3",
920 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
921 },
922 "values": {
923 "fullnameOverride": "postgres-db",
924 "image": {
925 "registry": "docker.io",
926 "repository": "library/postgres",
927 "tag": "15.3",
928 "pullPolicy": "IfNotPresent"
929 },
930 "auth": {
931 "postgresPassword": "postgres",
932 "username": "postgres",
933 "password": "postgres",
934 "database": "postgres"
935 },
936 "service": {
937 "type": "ClusterIP",
938 "port": 5432
939 },
940 "global": {
941 "postgresql": {
942 "auth": {
943 "postgresPassword": "postgres",
944 "username": "postgres",
945 "password": "postgres",
946 "database": "postgres"
947 }
948 }
949 },
950 "primary": {
951 "persistence": {
952 "existingClaim": "db-postgresql"
953 },
954 "securityContext": {
955 "enabled": true,
956 "fsGroup": 0
957 },
958 "containerSecurityContext": {
959 "enabled": true,
960 "runAsUser": 0
961 }
962 },
963 "volumePermissions": {
964 "securityContext": {
965 "runAsUser": 0
966 }
967 }
968 }
969 },
970 "db-postgresql-volume": {
971 "chart": {
972 "name": "volume",
973 "kind": "GitRepository",
974 "address": "https://code.v1.dodo.cloud/helm-charts",
975 "branch": "main",
976 "path": "charts/volumes"
977 },
978 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
979 "name": "db-postgresql-volume",
980 "dependsOn": [],
981 "info": "Creating disk for db-postgresql",
982 "annotations": {
983 "dodo.cloud/resource-type": "volume",
984 "dodo.cloud/resource.volume.name": "db-postgresql",
985 "dodo.cloud/resource.volume.size": "1Gi"
986 },
987 "values": {
988 "name": "db-postgresql",
989 "size": "1Gi",
990 "accessMode": "ReadWriteOnce"
991 }
992 }
993 }
994 },
995 "service_blog": {
996 "envProfile": "export PATH=$PATH:/usr/local/deno/bin\nexport DODO_POSTGRESQL_DB_URL=postgresql://postgres:postgres@postgres-db.hgrz-dodo-app-oem.svc.cluster.local/postgres\nexport DODO_PORT_WEB=8080",
997 "id": "oE1Bj99zy2UGOVe7G1cXNCa45NJnE+KY7yopklepsKo=",
998 "ingress": {
999 "blog-0": {
1000 "id": "s6SF2Y9VxueisZ4sGyEp4evD5mGcOTg3Aqwygl3+bVA=",
1001 "name": "blog-0",
1002 "auth": {
1003 "enabled": false,
1004 "groups": "",
1005 "noAuthPathPatterns": []
1006 },
1007 "network": {
1008 "name": "Private",
1009 "ingressClass": "hgrz-ingress-private",
1010 "certificateIssuer": "",
1011 "domain": "p.v1.dodo.cloud",
1012 "allocatePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/allocate",
1013 "reservePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/reserve",
1014 "deallocatePortAddr": "http://port-allocator.hgrz-ingress-private.svc.cluster.local/api/remove"
1015 },
1016 "subdomain": "t2",
1017 "home": "",
1018 "label": "blog",
1019 "appRoot": "",
1020 "service": {
1021 "name": "blog-app",
1022 "port": 8080
1023 },
1024 "g": {
1025 "id": "hgrz",
1026 "pcloudEnvName": "dodo",
1027 "domain": "v1.dodo.cloud",
1028 "privateDomain": "p.v1.dodo.cloud",
1029 "contactEmail": "giolekva@gmail.com",
1030 "adminPublicKey": "",
1031 "publicIP": [
1032 "135.181.48.180",
1033 "65.108.39.172"
1034 ],
1035 "nameserverIP": [
1036 "135.181.48.180",
1037 "65.108.39.172"
1038 ],
1039 "namespacePrefix": "hgrz-",
1040 "network": {
1041 "dns": "10.0.1.2",
1042 "dnsInClusterIP": "10.44.1.0",
1043 "ingress": "10.0.1.0",
1044 "headscale": "10.0.1.1",
1045 "servicesFrom": "10.0.1.10",
1046 "servicesTo": "10.0.1.254"
1047 }
1048 },
1049 "ingress": {},
1050 "mongodb": {},
1051 "postgresql": {},
1052 "vm": {},
1053 "charts": {
1054 "volume": {
1055 "name": "volume",
1056 "kind": "GitRepository",
1057 "address": "https://code.v1.dodo.cloud/helm-charts",
1058 "branch": "main",
1059 "path": "charts/volumes"
1060 },
1061 "secret": {
1062 "name": "secret",
1063 "kind": "GitRepository",
1064 "address": "https://code.v1.dodo.cloud/helm-charts",
1065 "branch": "main",
1066 "path": "charts/secret"
1067 },
1068 "ingress": {
1069 "name": "ingress",
1070 "kind": "GitRepository",
1071 "address": "https://code.v1.dodo.cloud/helm-charts",
1072 "branch": "main",
1073 "path": "charts/ingress"
1074 },
1075 "authProxy": {
1076 "name": "authProxy",
1077 "kind": "GitRepository",
1078 "address": "https://code.v1.dodo.cloud/helm-charts",
1079 "branch": "main",
1080 "path": "charts/auth-proxy"
1081 }
1082 },
1083 "volume": {},
1084 "helm": {
1085 "blog-0-ingress": {
1086 "chart": {
1087 "name": "ingress",
1088 "kind": "GitRepository",
1089 "address": "https://code.v1.dodo.cloud/helm-charts",
1090 "branch": "main",
1091 "path": "charts/ingress"
1092 },
1093 "name": "blog-0-ingress",
1094 "dependsOn": [],
1095 "cluster": null,
1096 "info": "Generating TLS certificate for https://t2.p.v1.dodo.cloud",
1097 "annotations": {
1098 "dodo.cloud/resource-type": "ingress",
1099 "dodo.cloud/resource.ingress.host": "https://t2.p.v1.dodo.cloud",
1100 "dodo.cloud/resource.ingress.home": "",
1101 "dodo.cloud/resource.ingress.name": "blog"
1102 },
1103 "values": {
1104 "domain": "t2.p.v1.dodo.cloud",
1105 "appRoot": "",
1106 "ingressClassName": "hgrz-ingress-private",
1107 "certificateIssuer": "",
1108 "service": {
1109 "name": "blog-app",
1110 "port": {
1111 "number": 8080
1112 }
1113 }
1114 }
1115 }
1116 },
1117 "openPort": [],
1118 "openPortMap": {
1119 "_self": []
1120 },
1121 "clusterProxy": {},
1122 "images": {
1123 "authProxy": {
1124 "registry": "docker.io",
1125 "repository": "giolekva",
1126 "name": "auth-proxy",
1127 "tag": "latest",
1128 "pullPolicy": "Always",
1129 "imageName": "giolekva/auth-proxy",
1130 "fullName": "docker.io/giolekva/auth-proxy",
1131 "fullNameWithTag": "docker.io/giolekva/auth-proxy:latest"
1132 }
1133 },
1134 "helmR": {
1135 "blog-0-ingress": {
1136 "chart": {
1137 "name": "ingress",
1138 "kind": "GitRepository",
1139 "address": "https://code.v1.dodo.cloud/helm-charts",
1140 "branch": "main",
1141 "path": "charts/ingress"
1142 },
1143 "id": "s6SF2Y9VxueisZ4sGyEp4evD5mGcOTg3Aqwygl3+bVA=",
1144 "name": "blog-0-ingress",
1145 "dependsOn": [],
1146 "cluster": null,
1147 "info": "Generating TLS certificate for https://t2.p.v1.dodo.cloud",
1148 "annotations": {
1149 "dodo.cloud/resource-type": "ingress",
1150 "dodo.cloud/resource.ingress.host": "https://t2.p.v1.dodo.cloud",
1151 "dodo.cloud/resource.ingress.home": "",
1152 "dodo.cloud/resource.ingress.name": "blog"
1153 },
1154 "values": {
1155 "domain": "t2.p.v1.dodo.cloud",
1156 "appRoot": "",
1157 "ingressClassName": "hgrz-ingress-private",
1158 "certificateIssuer": "",
1159 "service": {
1160 "name": "blog-app",
1161 "port": {
1162 "number": 8080
1163 }
1164 }
1165 }
1166 }
1167 }
1168 }
1169 },
1170 "mongodb": {},
1171 "postgresql": {},
1172 "vm": {},
1173 "charts": {
1174 "volume": {
1175 "name": "volume",
1176 "kind": "GitRepository",
1177 "address": "https://code.v1.dodo.cloud/helm-charts",
1178 "branch": "main",
1179 "path": "charts/volumes"
1180 },
1181 "secret": {
1182 "name": "secret",
1183 "kind": "GitRepository",
1184 "address": "https://code.v1.dodo.cloud/helm-charts",
1185 "branch": "main",
1186 "path": "charts/secret"
1187 },
1188 "access-secrets": {
1189 "name": "access-secrets",
1190 "kind": "GitRepository",
1191 "address": "https://code.v1.dodo.cloud/helm-charts",
1192 "branch": "main",
1193 "path": "charts/access-secrets"
1194 },
1195 "app": {
1196 "name": "app",
1197 "kind": "GitRepository",
1198 "address": "https://code.v1.dodo.cloud/helm-charts",
1199 "branch": "main",
1200 "path": "charts/app-runner"
1201 },
1202 "ingress": {
1203 "name": "ingress",
1204 "kind": "GitRepository",
1205 "address": "https://code.v1.dodo.cloud/helm-charts",
1206 "branch": "main",
1207 "path": "charts/ingress"
1208 },
1209 "authProxy": {
1210 "name": "authProxy",
1211 "kind": "GitRepository",
1212 "address": "https://code.v1.dodo.cloud/helm-charts",
1213 "branch": "main",
1214 "path": "charts/auth-proxy"
1215 }
1216 },
1217 "volume": {},
1218 "helm": {
1219 "blog": {
1220 "name": "blog",
1221 "dependsOn": [],
1222 "info": "",
1223 "annotations": {
1224 "dodo.cloud/resource-type": "service",
1225 "dodo.cloud/resource.service.name": "blog"
1226 },
1227 "chart": {
1228 "name": "app",
1229 "kind": "GitRepository",
1230 "address": "https://code.v1.dodo.cloud/helm-charts",
1231 "branch": "main",
1232 "path": "charts/app-runner"
1233 },
1234 "values": {
1235 "image": {
1236 "repository": "docker.io/giolekva/app-runner",
1237 "tag": "nextjs-deno-2.0.0",
1238 "pullPolicy": "Always"
1239 },
1240 "runtimeClassName": "untrusted-external",
1241 "name": "blog",
1242 "apiPort": 2000,
1243 "appPorts": [
1244 {
1245 "name": "web",
1246 "containerPort": 8080,
1247 "protocol": "TCP"
1248 }
1249 ],
1250 "appDir": "/dodo-app",
1251 "appId": "",
1252 "repoAddr": "git@github.com:giolekva/dodo-blog.git",
1253 "branch": "master",
1254 "rootDir": "/",
1255 "sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFpQUFBQUJObApZMlJ6WVMxemFHRXlMVzVwYzNSd016ZzBBQUFBQ0c1cGMzUndNemcwQUFBQVlRUTdFQTNDTXJRczIzMlE3YVRwCkxpamJWL3dLbUY1N3ovWUlZOG53eUJVLzIzWHdhVzRleUtsSjZLSEdtcmx2T041OGdYNzlUVVcydmk4ZHJ2bksKRmlXa3N1dXQ1cEo5OFBURm9Va2Q3RjJSVmYvRTVKN3B1bXhiVVJpQVpzN2pkeG9BQUFEUTNpa0lUdDRwQ0U0QQpBQUFUWldOa2MyRXRjMmhoTWkxdWFYTjBjRE00TkFBQUFBaHVhWE4wY0RNNE5BQUFBR0VFT3hBTndqSzBMTnQ5CmtPMms2UzRvMjFmOENwaGVlOC8yQ0dQSjhNZ1ZQOXQxOEdsdUhzaXBTZWloeHBxNWJ6amVmSUYrL1UxRnRyNHYKSGE3NXloWWxwTExycmVhU2ZmRDB4YUZKSGV4ZGtWWC94T1NlNmJwc1cxRVlnR2JPNDNjYUFBQUFNUURTSWVwRwpzNWk5cU5LTG9zN0h5ZzJaYS9ZSEVDME9TT09WQjU1TzRXWStSZjRzeDdGcGxucjc5bGdCWTFEdGtKOEFBQUFBCkFRSURCQVVHQnc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K",
1256 "runCfg": "W3siYmluIjoiL3Vzci9iaW4vbnBtIiwiYXJncyI6WyJpbnN0YWxsIl0sImVudiI6W119LHsiYmluIjoiL3Vzci9iaW4vZGVubyIsImFyZ3MiOlsidGFzayIsImJ1aWxkIl0sImVudiI6WyJET0RPX1BPU1RHUkVTUUxfREJfVVJMPXBvc3RncmVzcWw6Ly9wb3N0Z3Jlczpwb3N0Z3Jlc0Bwb3N0Z3Jlcy1kYi5oZ3J6LWRvZG8tYXBwLW9lbS5zdmMuY2x1c3Rlci5sb2NhbC9wb3N0Z3JlcyIsIkRPRE9fUE9SVF9XRUI9ODA4MCJdfSx7ImJpbiI6Ii91c3IvYmluL2Rlbm8iLCJhcmdzIjpbInRhc2siLCJzdGFydCJdLCJlbnYiOlsiRE9ET19QT1NUR1JFU1FMX0RCX1VSTD1wb3N0Z3Jlc3FsOi8vcG9zdGdyZXM6cG9zdGdyZXNAcG9zdGdyZXMtZGIuaGdyei1kb2RvLWFwcC1vZW0uc3ZjLmNsdXN0ZXIubG9jYWwvcG9zdGdyZXMiLCJET0RPX1BPUlRfV0VCPTgwODAiXX1d",
1257 "managerAddr": "",
1258 "volumes": []
1259 }
1260 }
1261 },
1262 "openPort": [],
1263 "openPortMap": {
1264 "_self": []
1265 },
1266 "clusterProxy": {},
1267 "images": {
1268 "app": {
1269 "registry": "docker.io",
1270 "repository": "giolekva",
1271 "name": "app-runner",
1272 "tag": "nextjs-deno-2.0.0",
1273 "pullPolicy": "Always",
1274 "imageName": "giolekva/app-runner",
1275 "fullName": "docker.io/giolekva/app-runner",
1276 "fullNameWithTag": "docker.io/giolekva/app-runner:nextjs-deno-2.0.0"
1277 },
1278 "tailscale-proxy": {
1279 "registry": "docker.io",
1280 "repository": "tailscale",
1281 "name": "tailscale",
1282 "tag": "v1.82.0",
1283 "pullPolicy": "IfNotPresent",
1284 "imageName": "tailscale/tailscale",
1285 "fullName": "docker.io/tailscale/tailscale",
1286 "fullNameWithTag": "docker.io/tailscale/tailscale:v1.82.0"
1287 },
1288 "authProxy": {
1289 "registry": "docker.io",
1290 "repository": "giolekva",
1291 "name": "auth-proxy",
1292 "tag": "latest",
1293 "pullPolicy": "Always",
1294 "imageName": "giolekva/auth-proxy",
1295 "fullName": "docker.io/giolekva/auth-proxy",
1296 "fullNameWithTag": "docker.io/giolekva/auth-proxy:latest"
1297 }
1298 },
1299 "helmR": {
1300 "blog": {
1301 "chart": {
1302 "name": "app",
1303 "kind": "GitRepository",
1304 "address": "https://code.v1.dodo.cloud/helm-charts",
1305 "branch": "main",
1306 "path": "charts/app-runner"
1307 },
1308 "id": "oE1Bj99zy2UGOVe7G1cXNCa45NJnE+KY7yopklepsKo=",
1309 "name": "blog",
1310 "dependsOn": [],
1311 "info": "",
1312 "annotations": {
1313 "dodo.cloud/resource-type": "service",
1314 "dodo.cloud/resource.service.name": "blog"
1315 },
1316 "values": {
1317 "image": {
1318 "repository": "docker.io/giolekva/app-runner",
1319 "tag": "nextjs-deno-2.0.0",
1320 "pullPolicy": "Always"
1321 },
1322 "runtimeClassName": "untrusted-external",
1323 "name": "blog",
1324 "apiPort": 2000,
1325 "appPorts": [
1326 {
1327 "name": "web",
1328 "containerPort": 8080,
1329 "protocol": "TCP"
1330 }
1331 ],
1332 "appDir": "/dodo-app",
1333 "appId": "",
1334 "repoAddr": "git@github.com:giolekva/dodo-blog.git",
1335 "branch": "master",
1336 "rootDir": "/",
1337 "sshPrivateKey": "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFpQUFBQUJObApZMlJ6WVMxemFHRXlMVzVwYzNSd016ZzBBQUFBQ0c1cGMzUndNemcwQUFBQVlRUTdFQTNDTXJRczIzMlE3YVRwCkxpamJWL3dLbUY1N3ovWUlZOG53eUJVLzIzWHdhVzRleUtsSjZLSEdtcmx2T041OGdYNzlUVVcydmk4ZHJ2bksKRmlXa3N1dXQ1cEo5OFBURm9Va2Q3RjJSVmYvRTVKN3B1bXhiVVJpQVpzN2pkeG9BQUFEUTNpa0lUdDRwQ0U0QQpBQUFUWldOa2MyRXRjMmhoTWkxdWFYTjBjRE00TkFBQUFBaHVhWE4wY0RNNE5BQUFBR0VFT3hBTndqSzBMTnQ5CmtPMms2UzRvMjFmOENwaGVlOC8yQ0dQSjhNZ1ZQOXQxOEdsdUhzaXBTZWloeHBxNWJ6amVmSUYrL1UxRnRyNHYKSGE3NXloWWxwTExycmVhU2ZmRDB4YUZKSGV4ZGtWWC94T1NlNmJwc1cxRVlnR2JPNDNjYUFBQUFNUURTSWVwRwpzNWk5cU5LTG9zN0h5ZzJaYS9ZSEVDME9TT09WQjU1TzRXWStSZjRzeDdGcGxucjc5bGdCWTFEdGtKOEFBQUFBCkFRSURCQVVHQnc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K",
1338 "runCfg": "W3siYmluIjoiL3Vzci9iaW4vbnBtIiwiYXJncyI6WyJpbnN0YWxsIl0sImVudiI6W119LHsiYmluIjoiL3Vzci9iaW4vZGVubyIsImFyZ3MiOlsidGFzayIsImJ1aWxkIl0sImVudiI6WyJET0RPX1BPU1RHUkVTUUxfREJfVVJMPXBvc3RncmVzcWw6Ly9wb3N0Z3Jlczpwb3N0Z3Jlc0Bwb3N0Z3Jlcy1kYi5oZ3J6LWRvZG8tYXBwLW9lbS5zdmMuY2x1c3Rlci5sb2NhbC9wb3N0Z3JlcyIsIkRPRE9fUE9SVF9XRUI9ODA4MCJdfSx7ImJpbiI6Ii91c3IvYmluL2Rlbm8iLCJhcmdzIjpbInRhc2siLCJzdGFydCJdLCJlbnYiOlsiRE9ET19QT1NUR1JFU1FMX0RCX1VSTD1wb3N0Z3Jlc3FsOi8vcG9zdGdyZXM6cG9zdGdyZXNAcG9zdGdyZXMtZGIuaGdyei1kb2RvLWFwcC1vZW0uc3ZjLmNsdXN0ZXIubG9jYWwvcG9zdGdyZXMiLCJET0RPX1BPUlRfV0VCPTgwODAiXX1d",
1339 "managerAddr": "",
1340 "volumes": []
1341 }
1342 },
1343 "blog-0-ingress": {
1344 "chart": {
1345 "name": "ingress",
1346 "kind": "GitRepository",
1347 "address": "https://code.v1.dodo.cloud/helm-charts",
1348 "branch": "main",
1349 "path": "charts/ingress"
1350 },
1351 "id": "s6SF2Y9VxueisZ4sGyEp4evD5mGcOTg3Aqwygl3+bVA=",
1352 "name": "blog-0-ingress",
1353 "dependsOn": [],
1354 "cluster": null,
1355 "info": "Generating TLS certificate for https://t2.p.v1.dodo.cloud",
1356 "annotations": {
1357 "dodo.cloud/resource-type": "ingress",
1358 "dodo.cloud/resource.ingress.host": "https://t2.p.v1.dodo.cloud",
1359 "dodo.cloud/resource.ingress.home": "",
1360 "dodo.cloud/resource.ingress.name": "blog"
1361 },
1362 "values": {
1363 "domain": "t2.p.v1.dodo.cloud",
1364 "appRoot": "",
1365 "ingressClassName": "hgrz-ingress-private",
1366 "certificateIssuer": "",
1367 "service": {
1368 "name": "blog-app",
1369 "port": {
1370 "number": 8080
1371 }
1372 }
1373 }
1374 }
1375 }
1376 }
1377 },
1378 "out": {
1379 "id": "gP/o6bUhK8yahxnHVq/ARX8rZ06UYvXozT4T5zJFrR4=",
1380 "ingress": {},
1381 "vm": {},
1382 "charts": {
1383 "postgres": {
1384 "name": "postgres",
1385 "kind": "GitRepository",
1386 "address": "https://code.v1.dodo.cloud/helm-charts",
1387 "branch": "main",
1388 "path": "charts/postgresql"
1389 },
1390 "volume": {
1391 "name": "volume",
1392 "kind": "GitRepository",
1393 "address": "https://code.v1.dodo.cloud/helm-charts",
1394 "branch": "main",
1395 "path": "charts/volumes"
1396 },
1397 "secret": {
1398 "name": "secret",
1399 "kind": "GitRepository",
1400 "address": "https://code.v1.dodo.cloud/helm-charts",
1401 "branch": "main",
1402 "path": "charts/secret"
1403 }
1404 },
1405 "volume": {},
1406 "postgresql": {
1407 "db": {
1408 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
1409 "name": "db",
1410 "version": "15.3",
1411 "initSQL": "",
1412 "size": "1Gi",
1413 "expose": [],
1414 "ingress": {},
1415 "mongodb": {},
1416 "postgresql": {},
1417 "vm": {},
1418 "charts": {
1419 "postgres": {
1420 "name": "postgres",
1421 "kind": "GitRepository",
1422 "address": "https://code.v1.dodo.cloud/helm-charts",
1423 "branch": "main",
1424 "path": "charts/postgresql"
1425 },
1426 "volume": {
1427 "name": "volume",
1428 "kind": "GitRepository",
1429 "address": "https://code.v1.dodo.cloud/helm-charts",
1430 "branch": "main",
1431 "path": "charts/volumes"
1432 },
1433 "secret": {
1434 "name": "secret",
1435 "kind": "GitRepository",
1436 "address": "https://code.v1.dodo.cloud/helm-charts",
1437 "branch": "main",
1438 "path": "charts/secret"
1439 }
1440 },
1441 "volume": {
1442 "db-postgresql": {
1443 "name": "db-postgresql",
1444 "size": "1Gi",
1445 "accessMode": "ReadWriteOnce"
1446 }
1447 },
1448 "helm": {
1449 "postgres-db": {
1450 "chart": {
1451 "name": "postgres",
1452 "kind": "GitRepository",
1453 "address": "https://code.v1.dodo.cloud/helm-charts",
1454 "branch": "main",
1455 "path": "charts/postgresql"
1456 },
1457 "name": "postgres-db",
1458 "dependsOn": [],
1459 "info": "",
1460 "annotations": {
1461 "dodo.cloud/resource-type": "postgresql",
1462 "dodo.cloud/resource.postgresql.name": "db",
1463 "dodo.cloud/resource.postgresql.version": "15.3",
1464 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
1465 },
1466 "values": {
1467 "fullnameOverride": "postgres-db",
1468 "image": {
1469 "registry": "docker.io",
1470 "repository": "library/postgres",
1471 "tag": "15.3",
1472 "pullPolicy": "IfNotPresent"
1473 },
1474 "auth": {
1475 "postgresPassword": "postgres",
1476 "username": "postgres",
1477 "password": "postgres",
1478 "database": "postgres"
1479 },
1480 "service": {
1481 "type": "ClusterIP",
1482 "port": 5432
1483 },
1484 "global": {
1485 "postgresql": {
1486 "auth": {
1487 "postgresPassword": "postgres",
1488 "username": "postgres",
1489 "password": "postgres",
1490 "database": "postgres"
1491 }
1492 }
1493 },
1494 "primary": {
1495 "persistence": {
1496 "existingClaim": "db-postgresql"
1497 },
1498 "securityContext": {
1499 "enabled": true,
1500 "fsGroup": 0
1501 },
1502 "containerSecurityContext": {
1503 "enabled": true,
1504 "runAsUser": 0
1505 }
1506 },
1507 "volumePermissions": {
1508 "securityContext": {
1509 "runAsUser": 0
1510 }
1511 }
1512 }
1513 },
1514 "db-postgresql-volume": {
1515 "chart": {
1516 "name": "volume",
1517 "kind": "GitRepository",
1518 "address": "https://code.v1.dodo.cloud/helm-charts",
1519 "branch": "main",
1520 "path": "charts/volumes"
1521 },
1522 "name": "db-postgresql-volume",
1523 "dependsOn": [],
1524 "info": "Creating disk for db-postgresql",
1525 "annotations": {
1526 "dodo.cloud/resource-type": "volume",
1527 "dodo.cloud/resource.volume.name": "db-postgresql",
1528 "dodo.cloud/resource.volume.size": "1Gi"
1529 },
1530 "values": {
1531 "name": "db-postgresql",
1532 "size": "1Gi",
1533 "accessMode": "ReadWriteOnce"
1534 }
1535 }
1536 },
1537 "openPort": [],
1538 "openPortMap": {
1539 "_self": []
1540 },
1541 "clusterProxy": {},
1542 "images": {
1543 "postgres": {
1544 "registry": "docker.io",
1545 "repository": "library",
1546 "name": "postgres",
1547 "tag": "15.3",
1548 "pullPolicy": "IfNotPresent",
1549 "imageName": "library/postgres",
1550 "fullName": "docker.io/library/postgres",
1551 "fullNameWithTag": "docker.io/library/postgres:15.3"
1552 }
1553 },
1554 "helmR": {
1555 "postgres-db": {
1556 "chart": {
1557 "name": "postgres",
1558 "kind": "GitRepository",
1559 "address": "https://code.v1.dodo.cloud/helm-charts",
1560 "branch": "main",
1561 "path": "charts/postgresql"
1562 },
1563 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
1564 "name": "postgres-db",
1565 "dependsOn": [],
1566 "info": "",
1567 "annotations": {
1568 "dodo.cloud/resource-type": "postgresql",
1569 "dodo.cloud/resource.postgresql.name": "db",
1570 "dodo.cloud/resource.postgresql.version": "15.3",
1571 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
1572 },
1573 "values": {
1574 "fullnameOverride": "postgres-db",
1575 "image": {
1576 "registry": "docker.io",
1577 "repository": "library/postgres",
1578 "tag": "15.3",
1579 "pullPolicy": "IfNotPresent"
1580 },
1581 "auth": {
1582 "postgresPassword": "postgres",
1583 "username": "postgres",
1584 "password": "postgres",
1585 "database": "postgres"
1586 },
1587 "service": {
1588 "type": "ClusterIP",
1589 "port": 5432
1590 },
1591 "global": {
1592 "postgresql": {
1593 "auth": {
1594 "postgresPassword": "postgres",
1595 "username": "postgres",
1596 "password": "postgres",
1597 "database": "postgres"
1598 }
1599 }
1600 },
1601 "primary": {
1602 "persistence": {
1603 "existingClaim": "db-postgresql"
1604 },
1605 "securityContext": {
1606 "enabled": true,
1607 "fsGroup": 0
1608 },
1609 "containerSecurityContext": {
1610 "enabled": true,
1611 "runAsUser": 0
1612 }
1613 },
1614 "volumePermissions": {
1615 "securityContext": {
1616 "runAsUser": 0
1617 }
1618 }
1619 }
1620 },
1621 "db-postgresql-volume": {
1622 "chart": {
1623 "name": "volume",
1624 "kind": "GitRepository",
1625 "address": "https://code.v1.dodo.cloud/helm-charts",
1626 "branch": "main",
1627 "path": "charts/volumes"
1628 },
1629 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
1630 "name": "db-postgresql-volume",
1631 "dependsOn": [],
1632 "info": "Creating disk for db-postgresql",
1633 "annotations": {
1634 "dodo.cloud/resource-type": "volume",
1635 "dodo.cloud/resource.volume.name": "db-postgresql",
1636 "dodo.cloud/resource.volume.size": "1Gi"
1637 },
1638 "values": {
1639 "name": "db-postgresql",
1640 "size": "1Gi",
1641 "accessMode": "ReadWriteOnce"
1642 }
1643 }
1644 }
1645 }
1646 },
1647 "mongodb": {},
1648 "openPortMap": {
1649 "_self": [],
1650 "postgresql-db": {
1651 "_self": []
1652 }
1653 },
1654 "clusterProxy": {},
1655 "images": {
1656 "postgres": {
1657 "registry": "docker.io",
1658 "repository": "library",
1659 "name": "postgres",
1660 "tag": "15.3",
1661 "pullPolicy": "IfNotPresent",
1662 "imageName": "library/postgres",
1663 "fullName": "docker.io/library/postgres",
1664 "fullNameWithTag": "docker.io/library/postgres:15.3"
1665 }
1666 },
1667 "helm": {},
1668 "openPort": [],
1669 "helmR": {
1670 "postgres-db": {
1671 "chart": {
1672 "name": "postgres",
1673 "kind": "GitRepository",
1674 "address": "https://code.v1.dodo.cloud/helm-charts",
1675 "branch": "main",
1676 "path": "charts/postgresql"
1677 },
1678 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
1679 "name": "postgres-db",
1680 "dependsOn": [],
1681 "info": "",
1682 "annotations": {
1683 "dodo.cloud/resource-type": "postgresql",
1684 "dodo.cloud/resource.postgresql.name": "db",
1685 "dodo.cloud/resource.postgresql.version": "15.3",
1686 "dodo.cloud/resource.postgresql.volume": "db-postgresql"
1687 },
1688 "values": {
1689 "fullnameOverride": "postgres-db",
1690 "image": {
1691 "registry": "docker.io",
1692 "repository": "library/postgres",
1693 "tag": "15.3",
1694 "pullPolicy": "IfNotPresent"
1695 },
1696 "auth": {
1697 "postgresPassword": "postgres",
1698 "username": "postgres",
1699 "password": "postgres",
1700 "database": "postgres"
1701 },
1702 "service": {
1703 "type": "ClusterIP",
1704 "port": 5432
1705 },
1706 "global": {
1707 "postgresql": {
1708 "auth": {
1709 "postgresPassword": "postgres",
1710 "username": "postgres",
1711 "password": "postgres",
1712 "database": "postgres"
1713 }
1714 }
1715 },
1716 "primary": {
1717 "persistence": {
1718 "existingClaim": "db-postgresql"
1719 },
1720 "securityContext": {
1721 "enabled": true,
1722 "fsGroup": 0
1723 },
1724 "containerSecurityContext": {
1725 "enabled": true,
1726 "runAsUser": 0
1727 }
1728 },
1729 "volumePermissions": {
1730 "securityContext": {
1731 "runAsUser": 0
1732 }
1733 }
1734 }
1735 },
1736 "db-postgresql-volume": {
1737 "chart": {
1738 "name": "volume",
1739 "kind": "GitRepository",
1740 "address": "https://code.v1.dodo.cloud/helm-charts",
1741 "branch": "main",
1742 "path": "charts/volumes"
1743 },
1744 "id": "t9W0Ivmbsoezk8/UrKXD6yLW7TLOCJLonJBUF0kFKiA=",
1745 "name": "db-postgresql-volume",
1746 "dependsOn": [],
1747 "info": "Creating disk for db-postgresql",
1748 "annotations": {
1749 "dodo.cloud/resource-type": "volume",
1750 "dodo.cloud/resource.volume.name": "db-postgresql",
1751 "dodo.cloud/resource.volume.size": "1Gi"
1752 },
1753 "values": {
1754 "name": "db-postgresql",
1755 "size": "1Gi",
1756 "accessMode": "ReadWriteOnce"
1757 }
1758 }
1759 }
1760 },
1761 "resources": {}
1762}
1763`
1764
1765func TestDecode(t *testing.T) {
1766 if outs, err := DecodeResourceOuts([]byte(contents)); err != nil {
1767 t.Fatal(err)
1768 } else {
1769 t.Logf("%+v\n", outs)
1770 }
1771}