From 4c5733d39c405422607e6186295202562c3581e3 Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Thu, 10 Oct 2024 23:30:37 +0200 Subject: [PATCH] apply ansible lint rules --- .ansible-lint | 3 + .pre-commit-config.yaml | 11 +++ playbooks/apps/caddy.yaml | 18 +++-- {files => playbooks/apps/files}/Caddyfile | 0 playbooks/apps/goatcounter.yaml | 71 ++++++++++--------- playbooks/apps/lyon-transports.yaml | 33 +++++---- .../apps/templates}/goatcounter.service.j2 | 0 .../templates}/lyon-transports.service.j2 | 0 playbooks/dependencies/00-clean-deps.yaml | 7 +- playbooks/dependencies/01-setup-deps.yaml | 15 ++-- playbooks/dependencies/caddy.yaml | 27 +++---- playbooks/system/update.yaml | 11 +-- 12 files changed, 115 insertions(+), 81 deletions(-) create mode 100644 .ansible-lint rename {files => playbooks/apps/files}/Caddyfile (100%) rename {templates => playbooks/apps/templates}/goatcounter.service.j2 (100%) rename {templates => playbooks/apps/templates}/lyon-transports.service.j2 (100%) diff --git a/.ansible-lint b/.ansible-lint new file mode 100644 index 0000000..b8b22c9 --- /dev/null +++ b/.ansible-lint @@ -0,0 +1,3 @@ +--- +profile: production +strict: true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 13698a1..9940cc6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,3 +1,7 @@ +--- +ci: + autoupdate_schedule: monthly + repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 @@ -6,3 +10,10 @@ repos: args: [--unsafe] - id: end-of-file-fixer - id: trailing-whitespace + - repo: https://github.com/ansible/ansible-lint + rev: v24.9.2 + hooks: + - id: ansible-lint + entry: python3 -m ansiblelint -v --force-color --fix + additional_dependencies: + - ansible diff --git a/playbooks/apps/caddy.yaml b/playbooks/apps/caddy.yaml index 90c5971..aa95883 100644 --- a/playbooks/apps/caddy.yaml +++ b/playbooks/apps/caddy.yaml @@ -1,15 +1,19 @@ -- name: update caddy config +--- +- name: Update caddy config hosts: servers become: true tasks: - - name: write Caddyfile - copy: - src: ../../files/Caddyfile + - name: Write Caddyfile + ansible.builtin.copy: + src: files/Caddyfile dest: /etc/caddy/Caddyfile + mode: "0644" + owner: root + group: root notify: - - reload caddy + - Reload caddy handlers: - - name: reload caddy - service: + - name: Reload caddy + ansible.builtin.service: name: caddy state: reloaded diff --git a/files/Caddyfile b/playbooks/apps/files/Caddyfile similarity index 100% rename from files/Caddyfile rename to playbooks/apps/files/Caddyfile diff --git a/playbooks/apps/goatcounter.yaml b/playbooks/apps/goatcounter.yaml index fc0fe06..6d71cd7 100644 --- a/playbooks/apps/goatcounter.yaml +++ b/playbooks/apps/goatcounter.yaml @@ -1,57 +1,64 @@ -- name: goatcounter +--- +- name: Goatcounter hosts: servers tasks: - - name: get latest release - github_release: + - name: Get latest release + community.general.github_release: action: latest_release user: arp242 repo: goatcounter register: release - - name: print release + - name: Print release ansible.builtin.debug: var: release.tag - - name: download binary - get_url: - url: https://github.com/arp242/goatcounter/releases/download/{{release.tag}}/goatcounter-{{release.tag}}-linux-amd64.gz - dest: "{{base_dir}}/goatcounter-{{release.tag}}.gz" - - name: uncompress - command: gunzip {{base_dir}}/goatcounter-{{release.tag}}.gz + - name: Download binary + ansible.builtin.get_url: + url: https://github.com/arp242/goatcounter/releases/download/{{ release.tag }}/goatcounter-{{ release.tag }}-linux-amd64.gz + dest: "{{ base_dir }}/goatcounter-{{ release.tag }}.gz" + mode: "0644" + owner: gaugendre + group: gaugendre + - name: Uncompress + ansible.builtin.command: gunzip {{ base_dir }}/goatcounter-{{ release.tag }}.gz args: - creates: "{{base_dir}}/goatcounter-{{release.tag}}" - - name: make executable - file: - path: "{{base_dir}}/goatcounter-{{release.tag}}" - mode: '0775' - - name: symlink - file: - src: "{{base_dir}}/goatcounter-{{release.tag}}" - dest: "{{base_dir}}/goatcounter" + creates: "{{ base_dir }}/goatcounter-{{ release.tag }}" + - name: Make executable + ansible.builtin.file: + path: "{{ base_dir }}/goatcounter-{{ release.tag }}" + mode: "0775" + - name: Symlink + ansible.builtin.file: + src: "{{ base_dir }}/goatcounter-{{ release.tag }}" + dest: "{{ base_dir }}/goatcounter" state: link - - name: write service unit file + - name: Write service unit file become: true - template: - src: ../../templates/goatcounter.service.j2 + ansible.builtin.template: + src: templates/goatcounter.service.j2 dest: /etc/systemd/system/goatcounter.service + mode: "0644" + owner: root + group: root notify: - - daemon-reload - - restart service - - name: flush handlers - meta: flush_handlers - - name: ensure service is running + - Daemon-reload + - Restart service + - name: Flush handlers + ansible.builtin.meta: flush_handlers + - name: Ensure service is running become: true - service: + ansible.builtin.service: name: goatcounter state: started enabled: true handlers: - - name: daemon-reload + - name: Daemon-reload become: true - systemd: + ansible.builtin.systemd: daemon_reload: true - - name: restart service + - name: Restart service become: true - service: + ansible.builtin.service: name: goatcounter state: restarted diff --git a/playbooks/apps/lyon-transports.yaml b/playbooks/apps/lyon-transports.yaml index ff468d9..5e01a1a 100644 --- a/playbooks/apps/lyon-transports.yaml +++ b/playbooks/apps/lyon-transports.yaml @@ -1,31 +1,36 @@ -- name: lyon-transports +--- +- name: Lyon-transports hosts: servers tasks: - - name: write service file + - name: Write service file become: true - template: - src: ../../templates/lyon-transports.service.j2 + ansible.builtin.template: + src: templates/lyon-transports.service.j2 dest: /etc/systemd/system/lyon-transports.service + mode: "0644" + owner: root + group: root notify: - - daemon-reload - - restart service - - name: flush handlers - meta: flush_handlers - - name: ensure service is running + - Reload daemon + - Restart service + when: ansible_os_family != "" # <- Compares with an empty string. + - name: Flush handlers + ansible.builtin.meta: flush_handlers + - name: Ensure service is running become: true - service: + ansible.builtin.service: name: lyon-transports state: started enabled: true handlers: - - name: daemon-reload + - name: Reload daemon become: true - systemd: + ansible.builtin.systemd: daemon_reload: true - - name: restart service + - name: Restart service become: true - service: + ansible.builtin.service: name: lyon-transports state: restarted diff --git a/templates/goatcounter.service.j2 b/playbooks/apps/templates/goatcounter.service.j2 similarity index 100% rename from templates/goatcounter.service.j2 rename to playbooks/apps/templates/goatcounter.service.j2 diff --git a/templates/lyon-transports.service.j2 b/playbooks/apps/templates/lyon-transports.service.j2 similarity index 100% rename from templates/lyon-transports.service.j2 rename to playbooks/apps/templates/lyon-transports.service.j2 diff --git a/playbooks/dependencies/00-clean-deps.yaml b/playbooks/dependencies/00-clean-deps.yaml index 954cde1..8f4227f 100644 --- a/playbooks/dependencies/00-clean-deps.yaml +++ b/playbooks/dependencies/00-clean-deps.yaml @@ -1,7 +1,8 @@ -- name: clean ansible venv +--- +- name: Clean ansible venv hosts: servers tasks: - - name: remove virtualenv - file: + - name: Remove virtualenv + ansible.builtin.file: path: /tmp/ansible state: absent diff --git a/playbooks/dependencies/01-setup-deps.yaml b/playbooks/dependencies/01-setup-deps.yaml index ed5bdc6..671b983 100644 --- a/playbooks/dependencies/01-setup-deps.yaml +++ b/playbooks/dependencies/01-setup-deps.yaml @@ -1,18 +1,19 @@ -- name: setup ansible python dependencies +--- +- name: Setup ansible python dependencies hosts: servers tasks: - - name: install system deps + - name: Install system deps become: true - apt: + ansible.builtin.apt: pkg: - python3-venv - - name: setup venv - shell: | + - name: Setup venv + ansible.builtin.shell: | if [ -x /tmp/ansible/bin/python ]; then exit 123; fi /usr/bin/python3 -m venv /tmp/ansible /tmp/ansible/bin/pip install --upgrade 'github3.py >= 1.0.0a3' args: executable: /bin/bash register: venv - changed_when: "venv.rc != 123" - failed_when: "venv.rc != 0 and venv.rc != 123" + changed_when: venv.rc != 123 + failed_when: venv.rc != 0 and venv.rc != 123 diff --git a/playbooks/dependencies/caddy.yaml b/playbooks/dependencies/caddy.yaml index 9b6e1d4..46afdc0 100644 --- a/playbooks/dependencies/caddy.yaml +++ b/playbooks/dependencies/caddy.yaml @@ -1,9 +1,10 @@ -- name: setup caddy +--- +- name: Setup caddy hosts: servers become: true tasks: - - name: install system deps - apt: + - name: Install system deps + ansible.builtin.apt: pkg: - debian-keyring - debian-archive-keyring @@ -14,21 +15,21 @@ - name: Add caddy repository ansible.builtin.deb822_repository: name: caddy - uris: "https://dl.cloudsmith.io/public/caddy/stable/deb/debian" - signed_by: "https://dl.cloudsmith.io/public/caddy/stable/gpg.key" - components: "main" - suites: "any-version" - types: ["deb"] + uris: https://dl.cloudsmith.io/public/caddy/stable/deb/debian + signed_by: https://dl.cloudsmith.io/public/caddy/stable/gpg.key + components: main + suites: any-version + types: [deb] state: present enabled: true - - name: install caddy - apt: + - name: Install caddy + ansible.builtin.apt: update_cache: true name: caddy state: present - notify: restart caddy + notify: Restart caddy handlers: - - name: restart caddy - service: + - name: Restart caddy + ansible.builtin.service: name: caddy state: restarted diff --git a/playbooks/system/update.yaml b/playbooks/system/update.yaml index 8544f11..cc54519 100644 --- a/playbooks/system/update.yaml +++ b/playbooks/system/update.yaml @@ -1,9 +1,10 @@ -- name: system update +--- +- name: Update system hosts: servers become: true tasks: - - name: packages update - apt: - upgrade: yes - update_cache: yes + - name: Update packages + ansible.builtin.apt: + upgrade: true + update_cache: true cache_valid_time: 86400