From d62c070ccca2110b91bd813ae28df24987fa39a1 Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:17:38 +0100 Subject: [PATCH 1/6] maintenance(playbook): fix playbook by using updated nginx role res. --- playbooks/maintenance.yaml | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/playbooks/maintenance.yaml b/playbooks/maintenance.yaml index 31c817b..8b6d037 100644 --- a/playbooks/maintenance.yaml +++ b/playbooks/maintenance.yaml @@ -1,30 +1,10 @@ -- name: Ensure NGINX repo and install on nginx_hosts - hosts: nginx_hosts +- name: Ensure nginx install on nginx_hosts and nextcloud_hosts + hosts: nginx_hosts:nextcloud_hosts tasks: - - name: make sure NGINX repos are setup + - name: Ensure NGINX is installed ansible.builtin.include_role: name: nginx - tasks_from: main/repo_setup - - - name: make sure NGINX is installed - ansible.builtin.include_role: - name: nginx - tasks_from: main/nginx_install - -- name: Ensure NGINX repo and install on nextcloud_hosts - hosts: nextcloud_hosts:!nginx_hosts - tasks: - - name: make sure NGINX repos are setup - ansible.builtin.include_role: - name: nginx - tasks_from: main/repo_setup - - - name: make sure NGINX is installed - ansible.builtin.include_role: - name: nginx - tasks_from: main/nginx_install - vars: - nginx__version_spec: "{{ nextcloud__nginx_version_spec | default('') }}" + tasks_from: main/02_nginx_install.yaml - name: Make Sure System Package Are Up-To-Date for all non-hypervisors hosts: all:!hypervisors From ce812fb00671a24176394b32c296f1809ca17784 Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:33:30 +0100 Subject: [PATCH 2/6] docker(role): update README Document Debian 12 support, enhance wording, bring structure in line with the READMEs of more modern roles and remove unnecessary sections. --- roles/docker/README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/roles/docker/README.md b/roles/docker/README.md index 2e8a47f..b7f38e1 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -1,26 +1,22 @@ # Role `docker` -Makes sure Docker Engine and other related packages are installed from the Docker repos on the specified hosts. -For details see: [`tasks/main/02_docker_install.yaml`](./tasks/main/02_docker_install.yaml). +Ensures the Docker Engine and other related packages are installed from the Docker repos. +For detailed list of packages see: [`tasks/main/02_docker_install.yaml`](./tasks/main/02_docker_install.yaml). ## Supported Distributions The following distributions are supported: - Debian 11 +- Debian 12 ## Required Arguments None. -## Updates +## Optional Arguments -This role doesn't handle updates. -However it uses the system package manager for installing Docker Engine and the other related packages, so when you're making sure the system packages are up-to-date, you're handling updates for the packages installed by this role as well. - -## `hosts` - -The `hosts` for this role need to be the machines for which you want to make sure Docker Engine and other related packages are installed from the Docker repos. +None. ## Links & Resources From 89f3e55eacfa9620332ec8fbf3c79036928a7fd5 Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:35:45 +0100 Subject: [PATCH 3/6] docker(role): use better naming --- roles/docker/tasks/main.yaml | 6 +++--- roles/docker/tasks/main/01_repo_setup.yaml | 4 ++-- roles/docker/tasks/main/02_docker_install.yaml | 2 +- roles/docker/tasks/main/03_docker_config.yaml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/roles/docker/tasks/main.yaml b/roles/docker/tasks/main.yaml index aa01005..8c8044d 100644 --- a/roles/docker/tasks/main.yaml +++ b/roles/docker/tasks/main.yaml @@ -1,11 +1,11 @@ -- name: make sure the Docker repo is setup +- name: Ensure Docker repo is setup ansible.builtin.import_tasks: file: main/01_repo_setup.yaml -- name: make sure Docker Engine and other related packages are installed +- name: Ensure Docker Engine and other related packages are installed ansible.builtin.import_tasks: file: main/02_docker_install.yaml -- name: configure the Docker daemon +- name: Ensure Docker daemon configuration ansible.builtin.import_tasks: file: main/03_docker_config.yaml diff --git a/roles/docker/tasks/main/01_repo_setup.yaml b/roles/docker/tasks/main/01_repo_setup.yaml index 24d3dcf..aa77521 100644 --- a/roles/docker/tasks/main/01_repo_setup.yaml +++ b/roles/docker/tasks/main/01_repo_setup.yaml @@ -1,4 +1,4 @@ -- name: make sure Dockers GPG key is added +- name: Ensure Dockers GPG key is added ansible.builtin.get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/trusted.gpg.d/docker.asc @@ -7,7 +7,7 @@ group: root become: true -- name: make sure Dockers APT repository is added +- name: Ensure Docker APT repository is added ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" filename: docker diff --git a/roles/docker/tasks/main/02_docker_install.yaml b/roles/docker/tasks/main/02_docker_install.yaml index 5617195..f2ae880 100644 --- a/roles/docker/tasks/main/02_docker_install.yaml +++ b/roles/docker/tasks/main/02_docker_install.yaml @@ -1,4 +1,4 @@ -- name: make sure Docker Engine and other related packages are installed +- name: Ensure Docker Engine and other related packages are installed ansible.builtin.apt: name: - docker-ce diff --git a/roles/docker/tasks/main/03_docker_config.yaml b/roles/docker/tasks/main/03_docker_config.yaml index 0f26500..639e8fa 100644 --- a/roles/docker/tasks/main/03_docker_config.yaml +++ b/roles/docker/tasks/main/03_docker_config.yaml @@ -1,7 +1,7 @@ -# Configure the Docker daemon with the following settings: +# Ensure the Docker daemon is configured with the following settings: # - log to systemd journal # https://docs.docker.com/engine/logging/drivers/journald/ -- name: configure Docker daemon +- name: Ensure Docker daemon configuration ansible.builtin.copy: src: daemon.json dest: /etc/docker/daemon.json From 7420ed60105dbcf5b5c76c90279c4c8b3889bd98 Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:43:39 +0100 Subject: [PATCH 4/6] nginx(role): split up repo setup and install task lists to estab. conv. Split up repo setup and package installation after all to establish this as a convention (its already done this way in the docker role and was done this way in the nginx role before) to highlight that an external repo is used. --- playbooks/maintenance.yaml | 11 ++++++++--- roles/nginx/tasks/main.yaml | 8 ++++++-- .../{02_nginx_install.yaml => 02_repo_setup.yaml} | 7 ------- roles/nginx/tasks/main/03_nginx_install.yaml | 6 ++++++ .../{03_config_deploy.yaml => 04_config_deploy.yaml} | 0 5 files changed, 20 insertions(+), 12 deletions(-) rename roles/nginx/tasks/main/{02_nginx_install.yaml => 02_repo_setup.yaml} (90%) create mode 100644 roles/nginx/tasks/main/03_nginx_install.yaml rename roles/nginx/tasks/main/{03_config_deploy.yaml => 04_config_deploy.yaml} (100%) diff --git a/playbooks/maintenance.yaml b/playbooks/maintenance.yaml index 8b6d037..40ca666 100644 --- a/playbooks/maintenance.yaml +++ b/playbooks/maintenance.yaml @@ -1,10 +1,15 @@ -- name: Ensure nginx install on nginx_hosts and nextcloud_hosts +- name: Ensure NGINX repo setup and nginx install on nginx_hosts and nextcloud_hosts hosts: nginx_hosts:nextcloud_hosts tasks: - - name: Ensure NGINX is installed + - name: Ensure NGINX repo is setup ansible.builtin.include_role: name: nginx - tasks_from: main/02_nginx_install.yaml + tasks_from: main/02_repo_setup.yaml + + - name: Ensure nginx is installed + ansible.builtin.include_role: + name: nginx + tasks_from: main/03_nginx_install.yaml - name: Make Sure System Package Are Up-To-Date for all non-hypervisors hosts: all:!hypervisors diff --git a/roles/nginx/tasks/main.yaml b/roles/nginx/tasks/main.yaml index 4a86530..0cade0b 100644 --- a/roles/nginx/tasks/main.yaml +++ b/roles/nginx/tasks/main.yaml @@ -2,10 +2,14 @@ ansible.builtin.import_tasks: file: main/01_validate_config_names.yaml +- name: Ensure NGINX repo is set up + ansible.builtin.import_tasks: + file: main/02_repo_setup.yaml + - name: Ensure nginx is installed ansible.builtin.import_tasks: - file: main/02_nginx_install.yaml + file: main/03_nginx_install.yaml - name: Ensure configuration deployment ansible.builtin.import_tasks: - file: main/03_config_deploy.yaml + file: main/04_config_deploy.yaml diff --git a/roles/nginx/tasks/main/02_nginx_install.yaml b/roles/nginx/tasks/main/02_repo_setup.yaml similarity index 90% rename from roles/nginx/tasks/main/02_nginx_install.yaml rename to roles/nginx/tasks/main/02_repo_setup.yaml index 9ceb323..eaaec30 100644 --- a/roles/nginx/tasks/main/02_nginx_install.yaml +++ b/roles/nginx/tasks/main/02_repo_setup.yaml @@ -37,10 +37,3 @@ group: root mode: "0644" become: true - -- name: Ensure nginx is installed - ansible.builtin.apt: - name: nginx - state: present - update_cache: true - become: true diff --git a/roles/nginx/tasks/main/03_nginx_install.yaml b/roles/nginx/tasks/main/03_nginx_install.yaml new file mode 100644 index 0000000..86df2e1 --- /dev/null +++ b/roles/nginx/tasks/main/03_nginx_install.yaml @@ -0,0 +1,6 @@ +- name: Ensure nginx is installed + ansible.builtin.apt: + name: nginx + state: present + update_cache: true + become: true diff --git a/roles/nginx/tasks/main/03_config_deploy.yaml b/roles/nginx/tasks/main/04_config_deploy.yaml similarity index 100% rename from roles/nginx/tasks/main/03_config_deploy.yaml rename to roles/nginx/tasks/main/04_config_deploy.yaml From 1ea63a19d38ff1285aceeeccf3c012a4e57ad3c2 Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:48:01 +0100 Subject: [PATCH 5/6] maintenance(playbook): ensure docker repo and install before update As with ensuring the nginx repo setup and install on relevant hosts, do the same for docker. --- playbooks/maintenance.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/playbooks/maintenance.yaml b/playbooks/maintenance.yaml index 40ca666..5cf70c5 100644 --- a/playbooks/maintenance.yaml +++ b/playbooks/maintenance.yaml @@ -11,6 +11,19 @@ name: nginx tasks_from: main/03_nginx_install.yaml +- name: Ensure Docker repo setup and package install on relevant hosts + hosts: docker_compose_hosts:nextcloud_hosts + tasks: + - name: Ensure Docker repo is setup + ansible.builtin.include_role: + name: docker + tasks_from: main/01_repo_setup.yaml + + - name: Ensure Docker Engine and other related packages are installed + ansible.builtin.include_role: + name: docker + tasks_from: main/02_docker_install.yaml + - name: Make Sure System Package Are Up-To-Date for all non-hypervisors hosts: all:!hypervisors roles: From 9dba002f10cbf5d6a0c3bcc5ae196ed1b9bff4ee Mon Sep 17 00:00:00 2001 From: June <june@jsts.xyz> Date: Tue, 18 Feb 2025 05:48:52 +0100 Subject: [PATCH 6/6] maintenance(playbook): simplify nginx repo setup and install task name --- playbooks/maintenance.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/maintenance.yaml b/playbooks/maintenance.yaml index 5cf70c5..c912a53 100644 --- a/playbooks/maintenance.yaml +++ b/playbooks/maintenance.yaml @@ -1,4 +1,4 @@ -- name: Ensure NGINX repo setup and nginx install on nginx_hosts and nextcloud_hosts +- name: Ensure NGINX repo setup and nginx install on relevant hosts hosts: nginx_hosts:nextcloud_hosts tasks: - name: Ensure NGINX repo is setup