main.ymlΒΆ

---
application_id: svc-db-postgres
entity_name: "{{ application_id | entity_name }}"

database_type: "{{ entity_name }}"

POSTGRES_CONTAINER: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.name') }}"
POSTGRES_CONTAINER_ADDRESS: "{{ lookup('container_address', application_id, entity_name) }}"
POSTGRES_IMAGE: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.image') }}"
POSTGRES_VERSION: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.version') }}"
POSTGRES_VERSION_MAJOR: "{{ POSTGRES_VERSION | regex_replace('^([0-9]+).*', '\\1') }}"
POSTGRES_VOLUME: "{{ lookup('volume', application_id, 'data').name }}"
POSTGRES_VOLUME_TARGET: "{{ lookup('volume', application_id, 'data').target }}"
POSTGRES_UPGRADE_IMAGE: "{{ POSTGRES_CONTAINER }}-upgrade"
POSTGRES_UPGRADE_BACKUP_CONFIRMED: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.upgrade.backup_confirmed') }}"
POSTGRES_PASSWORD: "{{ lookup('config', application_id, 'secrets.credentials.POSTGRES_PASSWORD') }}"
POSTGRES_PORT: "{{ database_port | default(lookup('config', application_id, 'services.postgres.ports.local.postgres')) }}"
POSTGRES_EXPOSE_LOCAL: true
POSTGRES_LOCAL_HOST: "127.0.0.1"
POSTGRES_LIBRARIES: "{{ lookup('postgres_libraries', lookup('service_extensions', 'postgres').values() | sum(start=[]) | unique | list) }}"
POSTGRES_RETRIES: 5
POSTGRES_SHARED_BUFFERS: "{{ lookup('service_memory_mb', application_id, entity_name, 0.25) }}MB"
POSTGRES_WORK_MEM: "{{ [ (lookup('service_memory_mb', application_id, entity_name, 0.5) | int) // ([ POSTGRES_MAX_CONNECTIONS | int, 1 ] | max), 1 ] | max }}MB"
POSTGRES_MAINTENANCE_WORK_MEM: "{{ [ lookup('service_memory_mb', application_id, entity_name, 0.05) | int, 64 ] | max }}MB"