docker_compose(role): add support for deploying optional .env file
This is needed for situations, where one wants to use a vendor-provided compose file and configure it using environment variables. Like for example: https://github.com/zammad/zammad-docker-compose
This commit is contained in:
parent
839a9b2c0a
commit
3840553f9d
3 changed files with 19 additions and 2 deletions
|
|
@ -1,8 +1,8 @@
|
|||
# Role `docker_compose`
|
||||
|
||||
A role for deploying a Docker-Compose-based application.
|
||||
It deploys the given Compose file as well as configuration files to the specified hosts and makes sure all services are up-to-date and running.
|
||||
The Compose file gets deployed to `/ansible_docker_compose/compose.yaml` and the configuration files get deployed into the `/ansible_docker_compose/configs/` directory.
|
||||
It deploys the given Compose file, an optional `.env` file, as well as configuration files to the specified hosts and makes sure all services are up-to-date and running.
|
||||
The Compose file gets deployed to `/ansible_docker_compose/compose.yaml`, the `.env` file to `/ansible_docker_compose/.env` and the configuration files get deployed into the `/ansible_docker_compose/configs/` directory.
|
||||
A use case for the deployment of the additional configuration files is Composes top-level element `configs` in conjunction with the `configs` option for services.
|
||||
|
||||
## Supported Distributions
|
||||
|
|
|
|||
|
|
@ -7,6 +7,12 @@ argument_specs:
|
|||
`/ansible_docker_compose/compose.yaml`.
|
||||
type: str
|
||||
required: true
|
||||
docker_compose__env_file_content:
|
||||
description: >-
|
||||
The content of the .env file at
|
||||
`/ansible_docker_compose/.env`.
|
||||
type: str
|
||||
required: false
|
||||
docker_compose__configuration_files:
|
||||
description: >-
|
||||
A list of configuration files to be deployed in the
|
||||
|
|
|
|||
|
|
@ -17,6 +17,17 @@
|
|||
become: true
|
||||
notify: docker compose down
|
||||
|
||||
- name: deploy the .env file
|
||||
ansible.builtin.copy:
|
||||
content: "{{ docker_compose__env_file_content }}"
|
||||
dest: /ansible_docker_compose/.env
|
||||
mode: "0644"
|
||||
owner: root
|
||||
group: root
|
||||
become: true
|
||||
when: docker_compose__env_file_content is defined
|
||||
notify: docker compose down
|
||||
|
||||
- name: make sure the `/ansible_docker_compose/configs` directory exists
|
||||
ansible.builtin.file:
|
||||
path: /ansible_docker_compose/configs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue