mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-02-23 07:24:09 +01:00
Upgrade systemd_docker_base (v1.3.0-0 -> v1.4.0-0) and make use of the new devture_systemd_docker_base_ipv6_daemon_options_changing_enabled
variable
This commit is contained in:
parent
74177d9ba3
commit
0de1b76da7
32
CHANGELOG.md
32
CHANGELOG.md
@ -1,5 +1,37 @@
|
|||||||
# 2025-02-21
|
# 2025-02-21
|
||||||
|
|
||||||
|
## Docker daemon options are no longer adjusted when IPv6 is enabled
|
||||||
|
|
||||||
|
We landed [initial IPv6 support](#initial-work-on-ipv6-support) in the past via a `devture_systemd_docker_base_ipv6_enabled` variable that one had to toggle to `true`.
|
||||||
|
|
||||||
|
This variable did **2 different things at once**:
|
||||||
|
|
||||||
|
- ensured that container networks were created with IPv6 being enabled
|
||||||
|
- adjusted the Docker daemon's configuration to set `experimental: true` and `ip6tables: true` (a necessary prerequisite for creating IPv6-enabled networks)
|
||||||
|
|
||||||
|
Since Docker 27.0.1's [changes to how it handles IPv6](https://docs.docker.com/engine/release-notes/27/#ipv6), **adjusting the Docker daemon's configuration is no longer necessary**, because:
|
||||||
|
- `ip6tables` defaults to `true` for everyone
|
||||||
|
- `ip6tables` is out of the experimental phase, so `experimental` is no longer necessary
|
||||||
|
|
||||||
|
In light of this, we're introducing a new variable (`devture_systemd_docker_base_ipv6_daemon_options_changing_enabled`) for controlling if IPv6 should be force-enabled in the Docker daemon's configuration options.
|
||||||
|
Since most people should be on a modern enough Docker daemon version which doesn't require such changes, this variable defaults to `false`.
|
||||||
|
|
||||||
|
This change affects you like this:
|
||||||
|
|
||||||
|
- ✅ if you're **not explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration): you're unaffected
|
||||||
|
- ❓ if you're **explicitly enabling IPv6** (via `devture_systemd_docker_base_ipv6_enabled` in your configuration):
|
||||||
|
- ✅ .. and you're on a modern enough Docker version (which you most likely are): the playbook will no longer mess with your Docker daemon options. You're unaffected.
|
||||||
|
- 🔧 .. and you're on an old Docker version, you **are affected** and need to use the following configuration to restore the old behavior:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
# Force-enable IPv6 by changing the Docker daemon's options.
|
||||||
|
# This is necessary for Docker < 27.0.1, but not for newer versions.
|
||||||
|
devture_systemd_docker_base_ipv6_daemon_options_changing_enabled: true
|
||||||
|
|
||||||
|
# Request that individual container networks are created with IPv6 enabled.
|
||||||
|
devture_systemd_docker_base_ipv6_enabled: true
|
||||||
|
```
|
||||||
|
|
||||||
## Support for bridging to Bluesky via mautrix-bluesky
|
## Support for bridging to Bluesky via mautrix-bluesky
|
||||||
|
|
||||||
Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky).
|
Thanks to [Zepmann](https://github.com/Zepmann), the playbook now supports bridging to [Bluesky](https://bsky.app/) via [mautrix-bluesky](https://github.com/mautrix/bluesky).
|
||||||
|
@ -21,17 +21,18 @@ matrix_playbook_docker_installation_enabled: true
|
|||||||
|
|
||||||
matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}"
|
matrix_playbook_docker_installation_daemon_options: "{{ matrix_playbook_docker_installation_daemon_options_auto | combine(matrix_playbook_docker_installation_daemon_options_custom, recursive=True) }}"
|
||||||
|
|
||||||
matrix_playbook_docker_installation_daemon_options_auto:
|
# Since Docker 27.0.1, Docker daemon options do not need to be changed to enable IPv6 support on the daemon side.
|
||||||
# Since Docker 27.0.1:
|
|
||||||
# - `experimental` is no longer required to enable `ip6tables`
|
|
||||||
# - `ip6tables` defaults to enabled
|
|
||||||
#
|
|
||||||
# See: https://docs.docker.com/engine/release-notes/27/#ipv6
|
# See: https://docs.docker.com/engine/release-notes/27/#ipv6
|
||||||
|
# We only enable `ip6tables` and `experimental` for people who explicitly request it (perhaps due to running an old Docker version).
|
||||||
#
|
#
|
||||||
# Still, we intend to keep these around a while longer to benefit people who are still on older versions.
|
# Despite IPv6-enablement at the Docker level being a thing, for IPv6 to work for containers
|
||||||
# In the future, we won't be specifying any of these options by default.
|
# networks need to be created with IPv6 explicitly enabled.
|
||||||
experimental: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
# This is controlled by the `devture_systemd_docker_base_ipv6_enabled` variable and it's up to the various roles to
|
||||||
ip6tables: "{{ devture_systemd_docker_base_ipv6_enabled }}"
|
# respect this variable when creating their networks.
|
||||||
|
matrix_playbook_docker_installation_daemon_options_auto: |
|
||||||
|
{{
|
||||||
|
({'experimental': true, 'ip6tables': true} if devture_systemd_docker_base_ipv6_daemon_options_changing_enabled else {})
|
||||||
|
}}
|
||||||
|
|
||||||
matrix_playbook_docker_installation_daemon_options_custom: {}
|
matrix_playbook_docker_installation_daemon_options_custom: {}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
version: v0.14.0-6
|
version: v0.14.0-6
|
||||||
name: prometheus_postgres_exporter
|
name: prometheus_postgres_exporter
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
|
||||||
version: v1.3.0-0
|
version: v1.4.0-0
|
||||||
name: systemd_docker_base
|
name: systemd_docker_base
|
||||||
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git
|
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git
|
||||||
version: v1.0.0-4
|
version: v1.0.0-4
|
||||||
|
Loading…
x
Reference in New Issue
Block a user