Opinionated.tf/products/postgres/postgres.tf

29 lines
1.1 KiB
Terraform
Raw Permalink Normal View History

2024-07-29 19:28:08 +00:00
module "service" {
2024-12-31 06:02:31 +00:00
source = "../../docker/service"
2025-01-25 01:48:26 +00:00
enable = var.enable
2024-12-31 06:02:31 +00:00
image = "${var.postgres_image}:${var.postgres_version}"
stack_name = var.stack_name
2025-01-21 19:12:19 +00:00
service_name = var.service_name
2024-12-31 06:02:31 +00:00
networks = var.networks
2025-02-02 18:02:14 +00:00
healthcheck = ["CMD-SHELL", "pg_isready", "-d $${POSTGRES_DB}", "--host=${var.stack_name}-${var.service_name}", "-U $${POSTGRES_USER}", ]
2024-12-31 06:02:31 +00:00
healthcheck_interval = "10s"
2024-07-29 19:28:08 +00:00
environment_variables = {
2025-02-02 18:02:14 +00:00
PGUSER = local.username
2024-07-29 19:28:08 +00:00
POSTGRES_USER = local.username
POSTGRES_PASSWORD = local.password
POSTGRES_DB = local.database
2025-03-03 13:35:08 +00:00
PGDATA = "/var/lib/postgres/data/pgdata"
2024-07-29 19:28:08 +00:00
}
2024-11-26 13:42:54 +00:00
volumes = local.volumes
mounts = local.mounts
2024-07-29 19:28:08 +00:00
ports = var.ports
placement_constraints = var.placement_constraints
2025-02-02 18:02:14 +00:00
parallelism = 1
start_first = false
2024-11-26 13:42:54 +00:00
}
locals {
volumes = var.data_persist_path == null ? {
"data" = "/var/lib/postgres/data"
} : {}
2025-01-25 01:48:26 +00:00
mounts = var.data_persist_path != null ? zipmap([var.data_persist_path], ["/var/lib/postgres/data"]) : {}
2024-07-29 19:28:08 +00:00
}