From 289da5c1db4fcebc8874cf8a84fbe7a5ecbc5187 Mon Sep 17 00:00:00 2001 From: Adrien Waksberg Date: Thu, 23 Nov 2023 11:12:18 +0100 Subject: [PATCH] feat: add support debian12 --- README.md | 2 +- defaults/main.yml | 2 +- handlers/main.yml | 2 +- meta/main.yml | 3 ++- molecule/default/converge.yml | 7 ++++++- molecule/default/molecule.yml | 7 ++++--- tasks/cluster.yml | 4 ++-- tasks/config.yml | 8 ++++---- tasks/install.yml | 8 ++++---- tasks/main.yml | 9 ++++++--- 10 files changed, 31 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index a8f71c7..277bc47 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Install and configure docker with swarm ## Requirements * Ansible >= 2.10 -* Debian Bullseye +* Debian Bookworm ## Role variables diff --git a/defaults/main.yml b/defaults/main.yml index c5891ee..c0cc362 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,7 +1,7 @@ --- swarm_manager: false swarm_init: false -swarm_advertise_addr: 127.0.0.1 +swarm_advertise_addr: "{{ ansible_default_ipv4.address }}" swarm_services: {} swarm_networks: {} swarm_registry_logins: {} diff --git a/handlers/main.yml b/handlers/main.yml index 1a5058d..07aa0eb 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,5 +1,5 @@ --- -- name: restart docker +- name: Restart docker ansible.builtin.service: name: docker state: restarted diff --git a/meta/main.yml b/meta/main.yml index 8f6cbc1..b981d19 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -6,12 +6,13 @@ galaxy_info: company: MyLegiTech description: Install docker and configure docker swarm license: Apache2 - min_ansible_version: 2.10 + min_ansible_version: "2.10" platforms: - name: Debian versions: - bullseye + - bookworm galaxy_tags: - docker diff --git a/molecule/default/converge.yml b/molecule/default/converge.yml index ec26b6a..4446994 100644 --- a/molecule/default/converge.yml +++ b/molecule/default/converge.yml @@ -34,6 +34,11 @@ traefik.port: '8000' pre_tasks: - - name: update apt cache + - name: Update apt cache ansible.builtin.apt: update_cache: true + + - name: Install package for tests + ansible.builtin.package: + name: + - curl diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 58a453d..89bf10a 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -2,11 +2,12 @@ driver: name: docker platforms: - - name: debian11 - image: nishiki/debian11:molecule + - name: debian12 + image: nishiki/debian12:molecule privileged: true volumes: - - /sys/fs/cgroup:/sys/fs/cgroup:ro + - /sys/fs/cgroup:/sys/fs/cgroup:rw + cgroupns_mode: host command: /bin/systemd capabilities: - SYS_ADMIN diff --git a/tasks/cluster.yml b/tasks/cluster.yml index 9e84654..a5c9211 100644 --- a/tasks/cluster.yml +++ b/tasks/cluster.yml @@ -1,5 +1,5 @@ --- -- name: init swarm cluster +- name: Init swarm cluster community.docker.docker_swarm: advertise_addr: '{{ swarm_advertise_addr }}' state: present @@ -7,7 +7,7 @@ register: result tags: swarm -- name: join swarm cluster +- name: Join swarm cluster community.docker.docker_swarm: # noqa no-handler advertise_addr: '{{ swarm_advertise_addr }}' join_token: '{{ swarm_manager | ternary(swarm_join_token_manager, swarm_join_token_worker) }}' diff --git a/tasks/config.yml b/tasks/config.yml index cc1f82d..00e7042 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -1,5 +1,5 @@ --- -- name: copy registry login +- name: Copy registry login community.general.docker_login: registry_url: '{{ item.value.registry_url }}' username: '{{ item.value.registry_username }}' @@ -11,10 +11,10 @@ label: '{{ item.key }}' tags: swarm -- name: manage networks +- name: Manage networks community.docker.docker_network: name: '{{ item.key }}' - driver: '{{ item.value.driver | default("bridge") }}' + driver: '{{ item.value.driver | default("overlay") }}' scope: swarm state: '{{ item.value.state | default("present") }}' loop: '{{ swarm_networks | dict2items }}' @@ -24,7 +24,7 @@ run_once: true tags: swarm -- name: manage services +- name: Manage services community.docker.docker_swarm_service: name: '{{ item.key }}' image: '{{ item.value.image }}' diff --git a/tasks/install.yml b/tasks/install.yml index b83fa19..12c8c8b 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -1,22 +1,22 @@ --- -- name: install docker package +- name: Install docker package ansible.builtin.package: name: - docker.io - python3-docker tags: swarm -- name: copy default variables file +- name: Copy default variables file ansible.builtin.template: src: default.j2 dest: /etc/default/docker owner: root group: root mode: 0644 - notify: restart docker + notify: Restart docker tags: swarm -- name: enable and start service +- name: Enable and start service ansible.builtin.service: name: docker state: started diff --git a/tasks/main.yml b/tasks/main.yml index 1abddab..9333430 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,8 @@ --- -- import_tasks: install.yml -- import_tasks: cluster.yml -- import_tasks: config.yml +- name: Import install tasks + ansible.builtin.import_tasks: install.yml +- name: Import cluster tasks + ansible.builtin.import_tasks: cluster.yml +- name: Import config tasks + ansible.builtin.import_tasks: config.yml when: swarm_manager