- Fix a bug in docker-compose.yml template generation, when a single value variable is not a string, leading to crashes.
- This release incorporates the fix from v3.0.8 into the v3.1.0 release.
- deploy value of
command
as a list wrapping multiple lines instead of a single line list value, if the value is passed to the role as a list- if the value is a string, nothing changes
- this helps with some YAML string escapes, where it's easier to write the command as a list
- Fix a bug in docker-compose.yml template generation, when a single value variable is not a string, leading to crashes.
- properly escape ':' in single value variables using double quotes
- this doesn't change how the image is deployed even when specifying a tag
- Add
user
key to compose
- Fix python3-pip not being installed as become_user (root)
- Remove unused handler outputs
- Refactor: consistent usage of become
- Refactor: remove unused become: false
- Fix: become
project_deployment_docker_user
when creating docker networks
- Fix
labels
section being defined twice indocker-compose.yml
whenlabels
is a dictionary.
- Fix docker-compose file generation when
roject_deployment_projects.<project>.networks
is defined.
- Fix a bug when a network is defined as external but no labels were set.
- Update README
- Deprecate
project_deployment_projects.<project>.external_networks
in favor ofproject_deployment_projects.<project>.networks
.- The role execution will fail if
external_networks
is set. - To migrate, set
networks.<network>.external: true
in thenetworks
key of the project.
- The role execution will fail if
- Add network configuration options via
project_deployment_projects.<project>.networks
.- Supports the same syntax and options as normal docker-compose networks. Reference
- Remove empty new line from deployed docker-compose.yml before the
services
key, if noversion
is set.
- ensure role doesn't crash in check mode if python3-pip isn't installed
- Ensure python3-pip is installed when
project_deployment_install_python_requirements
istrue
- add check whether
logging
is set tonone
for a service (thanks to @serknsvnc)- if so, don't write
logging
key to docker-compose.yml for that service - previously this would crash with
ansible.errors.AnsibleUndefinedVariable: 'None' has no attribute 'driver'. 'None' has no attribute 'driver'
- if so, don't write
- remove
version
key from docker-compose.yml unless explicitely stated viaproject_deployment_docker_compose_file_version
or<project>.docker_compose_file_version
- allow using docker-compose.yml host-files without deploying the template
- add
project_deployment_install_python_requirements
(defaulttrue
) which will control whether to install the Docker SDK for Python and uninstalldocker-py
if installed. - switch to using the
community.docker.docker_compose_v2
module for stopping and starting projects
- add
--remove-orphans
parameter to container restarting process to allow for container name changes
- add
project_deployment_docker_user
variable, which allows restarting the projects as a different user than{{ ansible_user }}
/root
- allow
regex_ignore_changes_remote_paths
to ignore changes in docker-compose.yml - add
memswap_limit
support
- add key
regex_ignore_changes_remote_paths
to projects, which allows the user to select certain files, for which the docker project shouldn't be restarted if they change. - add example for
regex_ignore_changes_remote_paths
in README
- becoming super user is no longer required for the entire role, instead select tasks become where necessary
- fix
restart
,condition
andrequired
atdepends_on
key for services
- add
restart
,condition
andrequired
todepends_on
key for services
- rename
project_deployment_project_to_deploy
->project_deployment_projects_to_deploy
- rename variables to match ansible-lint:
docker_compose_file_version
->project_deployment_docker_compose_file_version
docker_compose_command
->project_deployment_docker_compose_command
docker_project_base_path
->project_deployment_base_path
docker_file_mode
->project_deployment_file_mode
docker_directory_mode
->project_deployment_directory_mode
docker_secret_file_mode
->project_deployment_secret_file_mode
docker_secret_directory_mode
->project_deployment_secret_directory_mode
docker_owner
->project_deployment_owner
docker_group
->project_deployment_group
docker_projects_to_deploy
->project_deployment_project_to_deploy
docker_projects
->project_deployment_projects
- don't become for localhost tasks
- indent healthcheck test into newline if colon occurs
- fix test
- some ansible-lint proposed fixes
- fix name for filters
- fix CHANGELOG
- import role ifalatik.docker_project_deployment at v1.2.3
- for previous CHANGELOG look at roles/project_deployment/CHANGELOG.md
- fix remote_path for files being wrong when
project_name/
was in the local path.
- add extra_hosts list var to docker-compose.yml
- hide diff when remote_path matches secret path
- fix deployment of templates
- allow for empty healthcheck in project
- fix typo in ansible task
- add option to only deploy a subset of projects via
docker_projects_to_deploy
variable
- fix bug tracker URL
- Initial Release