let _concerns_lib = import "schemas/lib/concerns.ncl" in { PostgreSQL = { name | String, version | String, port | Number | default = 5432, data_dir | String | default = "/var/lib/data/postgresql", databases | Array String | default = [], mode | [| 'taskserv, 'cluster, 'container |] | default = 'cluster, postgres_version | String | optional, vers_num | Number | optional, run_path | String | optional, lib_path | String | optional, data_path | String | optional, etc_path | String | optional, config_file | String | optional, run_user | String | optional, run_group | String | optional, run_user_home | String | optional, namespace | String | optional, image | String | optional, replicas | Number | optional, service_type | [| 'ClusterIP, 'NodePort, 'LoadBalancer |] | optional, storage_class | String | optional, requires | { storage | { size | String, persistent | Bool } | optional, ports | Array { port | Number, protocol | String | default = "TCP", exposure | [| 'public, 'private, 'internal |] | default = 'internal, } | default = [], credentials | Array String | default = [], } | default = {}, provides | { service | String | optional, port | Number | optional, databases | Array String | default = [], endpoints | Array String | default = [], } | default = {}, operations | { install | Bool | default = true, update | Bool | default = false, reinstall | Bool | default = false, delete | Bool | default = false, backup | Bool | default = false, restore | Bool | default = false, health | Bool | default = false, config | Bool | default = false, scripts | Bool | default = false, restart | Bool | default = false, } | default = {}, # ServiceConcerns umbrella (ADR-008). Database — backup decided at # workspace level via BackupPolicy with database scope + dump_strategy. concerns | _concerns_lib.ServiceConcerns | optional, .. }, }