diff --git a/db.postgres/defaults/main.yml b/db.postgres/defaults/main.yml index 3354fcb..566c756 100644 --- a/db.postgres/defaults/main.yml +++ b/db.postgres/defaults/main.yml @@ -1,31 +1,30 @@ -db__postgres_image_name: "dhub.touchin.ru/common/postgresql-walg" -db__postgres_image_tag: "10_0.2.9" -db__postgres_data_directory: "/var/lib/postgresql/data/pgdata" -db__postgres_image: "{{ db__postgres_image_name }}:{{ db__postgres_image_tag }}" +postgres__image_name: "dhub.touchin.ru/common/postgresql-walg" +postgres__image_tag: "10_0.2.9" +postgres__data_directory: "/var/lib/postgresql/data/pgdata" +postgres__image: "{{ postgres__image_name }}:{{ postgres__image_tag }}" -db__postgres_command_default: +postgres__command_default: - "./entrypoint.sh" - "postgres" -db__postgres_port: "5432" -# db__postgres_port: "127.0.0.1:5432:5432" +# postgres.port: "127.0.0.1:5432:5432" -# db__postgres_database_name: my-db -# db__postgres_username: postgres -# db__postgres_password: secret +# postgres.database_name: my-db +# postgres.username: postgres +# postgres.password: secret -# db__postgres_server_name: postgres -# db__postgres_container_name: postgres +# postgres.service_name: postgres +# postgres.container_name: postgres -# db__postgres_backup_enabled: false -# db__postgres_postgres_mode: "backup" -# db__postgres_s3_region: "eu-central-1" -# db__postgres_s3_access_key: "KEY" -# db__postgres_s3_secret_key: "SECRET" -# db__postgres_s3_prefix: "s3://bucket-name/path/to/subfolder" -# db__postgres_delete_retain: 15 -# db__postgres_base_backup_in: "30 2 * * *" +# postgres.backup_enabled: false +# postgres.mode: "backup" +# postgres.s3_region: "eu-central-1" +# postgres.s3_access_key: "KEY" +# postgres.s3_secret_key: "SECRET" +# postgres.s3_prefix: "s3://bucket-name/path/to/subfolder" +# postgres.delete_retain: 15 +# postgres.base_backup_in: "30 2 * * *" -# db__postgres_recovery_enabled: false -# db__postgres_archive_timeout: 600 -# db__postgres_checkpoint_timeout: 600 +# postgres.recovery_enabled: false +# postgres.archive_timeout: 600 +# postgres.checkpoint_timeout: 600 diff --git a/db.postgres/tasks/main.yml b/db.postgres/tasks/main.yml index 9d108f9..d01d5ba 100644 --- a/db.postgres/tasks/main.yml +++ b/db.postgres/tasks/main.yml @@ -5,13 +5,13 @@ name: docker.deployment.prepare public: "yes" vars: - deployment_name: "{{ db__postgres_deployment_name }}" + deployment_name: "{{ postgres.deployment_name }}" tags: - postgres - name: DB.POSTGRES | Merge commandline agruments set_fact: - db__postgres_command: "{{ db__postgres_command_default + db__postgres_command_custom }}" + postgres__command: "{{ postgres__command_default + postgres.command_custom }}" tags: - postgres diff --git a/db.postgres/templates/backup.env.j2 b/db.postgres/templates/backup.env.j2 index 60bade6..54dd667 100644 --- a/db.postgres/templates/backup.env.j2 +++ b/db.postgres/templates/backup.env.j2 @@ -1,9 +1,9 @@ -{% if db__postgres_backup_enabled == true %} -POSTGRES_MODE={{ db__postgres_postgres_mode }} -AWS_REGION={{ db__postgres_s3_region }} -AWS_ACCESS_KEY_ID={{ db__postgres_s3_access_key }} -AWS_SECRET_ACCESS_KEY={{ db__postgres_s3_secret_key }} -WALE_S3_PREFIX={{ db__postgres_s3_prefix }} -WALG_DELETE_RETAIN={{ db__postgres_delete_retain }} -WALG_BASE_BACKUP_IN={{ db__postgres_base_backup_in }} +{% if postgres.backup_enabled == true %} +POSTGRES_MODE={{ postgres.mode }} +AWS_REGION={{ postgres.s3_region }} +AWS_ACCESS_KEY_ID={{ postgres.s3_access_key }} +AWS_SECRET_ACCESS_KEY={{ postgres.s3_secret_key }} +WALE_S3_PREFIX={{ postgres.s3_prefix }} +WALG_DELETE_RETAIN={{ postgres.delete_retain }} +WALG_BASE_BACKUP_IN={{ postgres.base_backup_in }} {% endif %} diff --git a/db.postgres/templates/docker-compose.yml.j2 b/db.postgres/templates/docker-compose.yml.j2 index 3a77fb2..585785c 100644 --- a/db.postgres/templates/docker-compose.yml.j2 +++ b/db.postgres/templates/docker-compose.yml.j2 @@ -1,27 +1,28 @@ version: "3.7" services: - {{ db__postgres_server_name }}: - container_name: "{{ db__postgres_container_name }}" - image: "{{ db__postgres_image }}" + {{ postgres.service_name | default(postgres.container_name) }}: + container_name: "{{ postgres.container_name }}" + image: "{{ postgres.image | default(postgres__image) }}" restart: unless-stopped volumes: - "{{ docker_deployment__volume_path }}:/var/lib/postgresql/data" - command: {{ db__postgres_command_default }} + command: {{ postgres__command }} env_file: - backup.env environment: - - PGDATA={{ db__postgres_data_directory }} - - POSTGRES_DB={{ db__postgres_database_name }} - - POSTGRES_USER={{ db__postgres_username }} - - POSTGRES_PASSWORD={{ db__postgres_password }} + - PGDATA={{ postgres__data_directory }} + - POSTGRES_DB={{ postgres.database_name }} + - POSTGRES_USER={{ postgres.username }} + - POSTGRES_PASSWORD={{ postgres.password }} labels: "traefik.enable": "false" networks: - "{{ docker__traefik_network }}" +{% if postgres.port is defined %} ports: - - "{{ db__postgres_port }}" - + - "{{ postgres.port }}" +{% endif %} networks: {{ docker__traefik_network }}: external: true