diff --git a/roles/ansible_pull/tasks/main.yaml b/roles/ansible_pull/tasks/main.yaml index 040d9c2..61a2635 100644 --- a/roles/ansible_pull/tasks/main.yaml +++ b/roles/ansible_pull/tasks/main.yaml @@ -1,9 +1,6 @@ ---- - name: ensure dependencies are installed - tags: [ "ansible_pull" ] block: - name: ensure apt dependencies are installed - tags: [ "ansible_pull" ] ansible.builtin.apt: name: - python3-pip @@ -13,14 +10,12 @@ become: true - name: ensure SOPS is installed - tags: [ "ansible_pull" ] ansible.builtin.include_role: name: community.sops.install # https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible-with-pip # https://www.redhat.com/en/blog/python-venv-ansible - name: ensure Ansible installation exists - tags: [ "ansible_pull" ] ansible.builtin.pip: name: - ansible @@ -30,7 +25,6 @@ become: true - name: ensure ansible-pull-failure-notify script installation exists - tags: [ "ansible_pull" ] ansible.builtin.template: src: ansible-pull-failure-notify.sh.j2 dest: /usr/local/sbin/ansible-pull-failure-notify.sh @@ -40,7 +34,6 @@ become: true - name: ensure secrets directory exists - tags: [ "ansible_pull" ] ansible.builtin.file: path: /etc/ansible_pull_secrets state: directory @@ -50,7 +43,6 @@ become: true - name: ensure age private key is deployed - tags: [ "ansible_pull" ] ansible.builtin.copy: content: "{{ ansible_pull__age_private_key }}" dest: /etc/ansible_pull_secrets/age_private_key @@ -60,7 +52,6 @@ become: true - name: ensure systemd services exists - tags: [ "ansible_pull" ] ansible.builtin.template: src: "{{ item }}.j2" dest: "/etc/systemd/system/{{ item }}" @@ -75,7 +66,6 @@ - systemd daemon reload - name: ensure systemd timer exists - tags: [ "ansible_pull" ] ansible.builtin.template: src: ansible-pull.timer.j2 dest: /etc/systemd/system/ansible-pull.timer @@ -87,7 +77,6 @@ - systemd daemon reload - name: ensure systemd timer is started and enabled - tags: [ "ansible_pull" ] ansible.builtin.systemd_service: name: ansible-pull.timer state: started diff --git a/roles/base_config/tasks/main.yaml b/roles/base_config/tasks/main.yaml index 0837c64..ab737b7 100644 --- a/roles/base_config/tasks/main.yaml +++ b/roles/base_config/tasks/main.yaml @@ -1,12 +1,10 @@ # Ensure the ssh module is disabled, so a cloud-init config change doesn't regenerate the host keys for no reason. - name: check if cloud-init config file exists - tags: [ "base_config" ] ansible.builtin.stat: path: /etc/cloud/cloud.cfg register: base_config__stat_cloud_cfg - name: ensure the cloud-init ssh module is disabled - tags: [ "base_config" ] ansible.builtin.replace: path: /etc/cloud/cloud.cfg regexp: " - ssh$" @@ -16,7 +14,6 @@ # Ensure a base set of admin tools is installed. - name: ensure a base set of admin tools is installed - tags: [ "base_config" ] ansible.builtin.apt: name: - vim diff --git a/roles/certbot/tasks/main.yaml b/roles/certbot/tasks/main.yaml index 6b14567..e4749b4 100644 --- a/roles/certbot/tasks/main.yaml +++ b/roles/certbot/tasks/main.yaml @@ -1,15 +1,11 @@ ---- - name: ensure certbot installation - tags: [ "certbot" ] ansible.builtin.import_tasks: file: main/install.yaml - name: ensure new cert commands - tags: [ "certbot" ] ansible.builtin.import_tasks: file: main/new_cert_commands.yaml - name: ensure certificates - tags: [ "certbot" ] ansible.builtin.import_tasks: file: main/certs.yaml diff --git a/roles/certbot/tasks/main/cert.yaml b/roles/certbot/tasks/main/cert.yaml index c179dee..61f6d45 100644 --- a/roles/certbot/tasks/main/cert.yaml +++ b/roles/certbot/tasks/main/cert.yaml @@ -1,6 +1,4 @@ ---- - name: get expiry date before - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem ignore_errors: true become: true @@ -8,7 +6,6 @@ register: certbot__cert_expiry_before - name: ensure directory for cert configs exists - tags: [ "certbot" ] ansible.builtin.file: path: "/etc/ansible_certbot/cert_configs/" state: directory @@ -18,7 +15,6 @@ become: true - name: ensure cert config is stored - tags: [ "certbot" ] ansible.builtin.copy: content: "{{ cert_config_defaults[item.challengeType] | combine(item, recursive=True) | ansible.builtin.to_nice_json }}" dest: "/etc/ansible_certbot/cert_configs/{{ item.commonName }}.json" @@ -34,20 +30,17 @@ # # https://eff-certbot.readthedocs.io/en/stable/using.html#manual - name: obtain the certificate using certbot and the manual auth hook - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --manual --preferred-challenge dns --manual-auth-hook "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item.challengeType }}.sh" -d "{{ item.commonName }}" become: true changed_when: false - name: get expiry date after - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item.commonName }}/fullchain.pem become: true changed_when: false register: certbot__cert_expiry_after - name: potentially report changed - tags: [ "certbot" ] ansible.builtin.debug: msg: "If this reports changed, then the certificate expiry date and therefore the certificate changed." changed_when: certbot__cert_expiry_before.stdout != certbot__cert_expiry_after.stdout diff --git a/roles/certbot/tasks/main/certs.yaml b/roles/certbot/tasks/main/certs.yaml index 71a42a5..16271b7 100644 --- a/roles/certbot/tasks/main/certs.yaml +++ b/roles/certbot/tasks/main/certs.yaml @@ -1,18 +1,14 @@ ---- - name: obtain http-01 challenge certificates - tags: [ "certbot" ] loop: "{{ certbot__certificate_domains }}" ansible.builtin.include_tasks: file: main/http_01_cert.yaml - name: validate certs config - tags: [ "certbot" ] loop: "{{ certbot__certs }}" ansible.builtin.include_tasks: file: main/validate_cert.yaml - name: obtain certs - tags: [ "certbot" ] loop: "{{ certbot__certs }}" ansible.builtin.include_tasks: file: main/cert.yaml diff --git a/roles/certbot/tasks/main/http_01_cert.yaml b/roles/certbot/tasks/main/http_01_cert.yaml index a2fb4b6..d829fb1 100644 --- a/roles/certbot/tasks/main/http_01_cert.yaml +++ b/roles/certbot/tasks/main/http_01_cert.yaml @@ -1,6 +1,4 @@ ---- - name: get expiry date before - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem ignore_errors: true become: true @@ -8,13 +6,11 @@ register: certbot__cert_expiry_before - name: obtain the certificate using certbot - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/certbot certonly --keep-until-expiring --agree-tos --non-interactive --email "{{ certbot__acme_account_email_address }}" --no-eff-email --standalone --http-01-port "{{ certbot__http_01_port }}" -d "{{ item }}" become: true changed_when: false - name: get expiry date after - tags: [ "certbot" ] ansible.builtin.command: /usr/bin/openssl x509 -enddate -noout -in /etc/letsencrypt/live/{{ item }}/fullchain.pem become: true changed_when: false diff --git a/roles/certbot/tasks/main/install.yaml b/roles/certbot/tasks/main/install.yaml index 14c6430..d0fa58d 100644 --- a/roles/certbot/tasks/main/install.yaml +++ b/roles/certbot/tasks/main/install.yaml @@ -1,6 +1,4 @@ ---- - name: ensure relevant packages are installed - tags: [ "certbot" ] ansible.builtin.apt: name: - openssl @@ -10,10 +8,8 @@ become: true - name: ensure manual auth scripts are deployed - tags: [ "certbot" ] block: - name: ensure manual auth scripts directory exists - tags: [ "certbot" ] ansible.builtin.file: path: "/usr/local/lib/ansible_certbot/manual_auth_scripts" state: directory @@ -23,7 +19,6 @@ become: true - name: ensure manual auth scripts are deployed - tags: [ "certbot" ] ansible.builtin.copy: src: "manual_auth_scripts/{{ item }}.sh" dest: "/usr/local/lib/ansible_certbot/manual_auth_scripts/{{ item }}.sh" diff --git a/roles/certbot/tasks/main/new_cert_commands.yaml b/roles/certbot/tasks/main/new_cert_commands.yaml index 70c003b..42bc255 100644 --- a/roles/certbot/tasks/main/new_cert_commands.yaml +++ b/roles/certbot/tasks/main/new_cert_commands.yaml @@ -1,6 +1,4 @@ ---- - name: ensure existence of renewal deploy hooks directory - tags: [ "certbot" ] ansible.builtin.file: path: /etc/letsencrypt/renewal-hooks/deploy state: directory @@ -10,7 +8,6 @@ become: true - name: ensure renewal deploy hook commands - tags: [ "certbot" ] ansible.builtin.template: src: renewal_deploy_hook_commands.sh.j2 dest: /etc/letsencrypt/renewal-hooks/deploy/ansible_commands.sh diff --git a/roles/certbot/tasks/main/validate_cert.yaml b/roles/certbot/tasks/main/validate_cert.yaml index c8e9dfb..a13b3b9 100644 --- a/roles/certbot/tasks/main/validate_cert.yaml +++ b/roles/certbot/tasks/main/validate_cert.yaml @@ -1,15 +1,11 @@ ---- - name: validate dns-01-acme-dns challenge type config - tags: [ "certbot" ] when: item.challengeType == "dns-01-acme-dns" block: - name: assert dns_01_acme_dns config exists - tags: [ "certbot" ] ansible.builtin.assert: that: item.dns_01_acme_dns is defined - name: assert dns_01_acme_dns config is valid - tags: [ "certbot" ] ansible.builtin.validate_argument_spec: argument_spec: "{{ required_data }}" provided_arguments: diff --git a/roles/docker_compose/handlers/main.yaml b/roles/docker_compose/handlers/main.yaml index 8885171..2aff0fe 100644 --- a/roles/docker_compose/handlers/main.yaml +++ b/roles/docker_compose/handlers/main.yaml @@ -1,13 +1,10 @@ ---- - name: docker compose down - tags: [ "docker_compose" ] community.docker.docker_compose_v2: project_src: /ansible_docker_compose state: absent become: true - name: docker compose restart - tags: [ "docker_compose" ] community.docker.docker_compose_v2: project_src: /ansible_docker_compose state: restarted diff --git a/roles/docker_compose/tasks/main.yaml b/roles/docker_compose/tasks/main.yaml index 17e65a3..3563102 100644 --- a/roles/docker_compose/tasks/main.yaml +++ b/roles/docker_compose/tasks/main.yaml @@ -1,6 +1,4 @@ ---- - name: make sure the `/ansible_docker_compose` directory exists - tags: [ "docker_compose" ] ansible.builtin.file: path: /ansible_docker_compose state: directory @@ -10,7 +8,6 @@ become: true - name: deploy the Compose file - tags: [ "docker_compose" ] ansible.builtin.copy: content: "{{ docker_compose__compose_file_content }}" dest: /ansible_docker_compose/compose.yaml @@ -21,7 +18,6 @@ notify: docker compose down - name: deploy the .env file - tags: [ "docker_compose" ] ansible.builtin.copy: content: "{{ docker_compose__env_file_content }}" dest: /ansible_docker_compose/.env @@ -33,7 +29,6 @@ notify: docker compose down - name: make sure the `/ansible_docker_compose/configs` directory exists - tags: [ "docker_compose" ] ansible.builtin.file: path: /ansible_docker_compose/configs state: directory @@ -43,12 +38,10 @@ become: true - name: set `docker_compose__config_files_to_exist` fact initially to an empty list - tags: [ "docker_compose" ] ansible.builtin.set_fact: docker_compose__config_files_to_exist: [ ] - name: add names from `docker_compose__configuration_files` to `docker_compose__config_files_to_exist` fact - tags: [ "docker_compose" ] ansible.builtin.set_fact: docker_compose__config_files_to_exist: "{{ docker_compose__config_files_to_exist + [ item.name ] }}" # noqa: jinja[spacing] loop: "{{ docker_compose__configuration_files }}" @@ -56,7 +49,6 @@ label: "{{ item.name }}" - name: find configuration files to remove - tags: [ "docker_compose" ] ansible.builtin.find: paths: /ansible_docker_compose/configs/ recurse: false @@ -64,7 +56,6 @@ register: docker_compose__config_files_to_remove - name: remove all configuration files, which should be removed - tags: [ "docker_compose" ] ansible.builtin.file: path: "{{ item.path }}" state: absent @@ -73,7 +64,6 @@ notify: docker compose restart - name: make sure all given configuration files are deployed - tags: [ "docker_compose" ] ansible.builtin.copy: content: "{{ item.content }}" dest: "/ansible_docker_compose/configs/{{ item.name }}" @@ -87,7 +77,6 @@ notify: docker compose restart - name: Sync files - tags: [ "docker_compose" ] ansible.posix.synchronize: src: "{{ docker_compose__files }}/" dest: "/ansible_docker_compose/files" @@ -99,11 +88,9 @@ when: docker_compose__files != "" - name: Flush handlers to make "docker compose down" and "docker compose restart" handlers run now - tags: [ "docker_compose" ] ansible.builtin.meta: flush_handlers - name: docker compose up - tags: [ "docker_compose" ] community.docker.docker_compose_v2: project_src: /ansible_docker_compose state: present @@ -113,14 +100,12 @@ become: true - name: Make sure anacron is installed - tags: [ "docker_compose" ] become: true ansible.builtin.package: name: anacron state: present - name: ensure automatic update cron job is present - tags: [ "docker_compose" ] become: true ansible.builtin.cron: name: 'ansible docker compose auto update' diff --git a/roles/infrastructure_authorized_keys/tasks/main.yaml b/roles/infrastructure_authorized_keys/tasks/main.yaml index c82ced3..982c7a0 100644 --- a/roles/infrastructure_authorized_keys/tasks/main.yaml +++ b/roles/infrastructure_authorized_keys/tasks/main.yaml @@ -1,6 +1,4 @@ ---- - name: deploy infrastructure authorized keys - tags: [ "infrastructure_authorized_keys" ] ansible.posix.authorized_key: state: present user: chaos diff --git a/roles/msmtp/tasks/main.yaml b/roles/msmtp/tasks/main.yaml index 664ff6d..7689ddc 100644 --- a/roles/msmtp/tasks/main.yaml +++ b/roles/msmtp/tasks/main.yaml @@ -1,13 +1,10 @@ ---- - name: ensure msmtp is installed - tags: [ "msmtp" ] ansible.builtin.apt: name: msmtp state: present become: true - name: ensure msmtp config for root user - tags: [ "msmtp" ] ansible.builtin.template: src: msmtprc.j2 dest: /root/.msmtprc