1extends "../../config/Service.pkl"
2
3import "../../config/Service.pkl" as service
4
5class Database extends service.Requirement {
6 alias: String = "database"
7 fixed provider = "postgres"
8 fixed kind = "database"
9 name: String(isNotEmpty)
10 extensions: Listing<String> = new {}
11}
12
13class AdminConnection extends service.Requirement {
14 alias: String = "admin"
15 fixed provider = "postgres"
16 fixed kind = "admin"
17}
18
19meta { name = "Postgres" }
20provide = "provide.py"
21
22container {
23 image = "docker.io/postgis/postgis@sha256:7e00e8c3539fdd43f513b98806c8204714dcd09dea683c259e333d7690317119"
24 cpu = 300
25
26 tcp {
27 name = "db"
28 containerPort = 5432
29 // The podman0 firewall permits this port for Keycloak's connection.
30 hostPort = 15432
31 loopback = false
32 }
33
34 volumes {
35 ["/var/lib/postgresql"] {}
36 }
37
38 env {
39 ["POSTGRES_DB"] = "postgres"
40 ["POSTGRES_PASSWORD"] = "${secret.own.password}"
41 }
42}
43
44secrets {
45 ["password"] {}
46}