From 1b06ca431d363ec684b3dc47542f5e015ae15a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com> Date: Wed, 5 Jul 2023 15:11:40 +0200 Subject: [PATCH] [UPD] ansible-lint --- .ansible-lint | 7 ++ .yamllint | 39 +++++++++++ defaults/main.yml | 26 +++---- handlers/main.yml | 8 +-- meta/main.yml | 31 ++++----- tasks/main.yml | 169 +++++++++++++++++++++++----------------------- 6 files changed, 162 insertions(+), 118 deletions(-) create mode 100644 .ansible-lint create mode 100644 .yamllint diff --git a/.ansible-lint b/.ansible-lint new file mode 100644 index 0000000..8d40d06 --- /dev/null +++ b/.ansible-lint @@ -0,0 +1,7 @@ +--- +warn_list: # or 'skip_list' to silence them completely + - git-latest # Git checkouts must contain explicit version + - ignore-errors # Use failed_when and specify error conditions instead of using ignore_errors + - no-changed-when # Commands should not change things if nothing needs doing + - no-handler # Tasks that run when changed should likely be handlers + - package-latest # Package installs should not use latest diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..fbebdb8 --- /dev/null +++ b/.yamllint @@ -0,0 +1,39 @@ +--- +# Based on ansible-lint config +extends: default + +rules: + braces: + max-spaces-inside: 1 + level: error + brackets: + max-spaces-inside: 1 + level: error + colons: + max-spaces-after: -1 + level: error + commas: + max-spaces-after: -1 + level: error + # comments enable + comments: enable + comments-indentation: enable + document-start: enable + empty-lines: + max: 3 + level: error + hyphens: + level: error + indentation: + level: warning + indent-sequences: consistent + spaces: 4 + check-multi-line-strings: true + key-duplicates: enable + line-length: disable + new-line-at-end-of-file: enable + new-lines: + type: unix + # trailing-spaces enable + trailing-spaces: enable + truthy: enable diff --git a/defaults/main.yml b/defaults/main.yml index ae4454e..0e02c43 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,19 +4,19 @@ nagios_url: "nagios.example.org" # Webhooks to be triggered daily webhooks_to_be_called_daily: - - name: Docker Odoo - url: gitlab.example.org - uri: "/api/v4/projects/xx/ref/REF_NAME/trigger/pipeline?token=TOKEN" + - name: Docker Odoo + url: gitlab.example.org + uri: "/api/v4/projects/xx/ref/REF_NAME/trigger/pipeline?token=TOKEN" # List of external services to be monitored services_to_be_monitored: - - name: Webmail - period: generic - service: https - url: mail.example.org - uri: /webmail/ - - name: Certificate IMAP - period: daily - service: certif - url: mail.example.org - uri: 993 + - name: Webmail + period: generic + service: https + url: mail.example.org + uri: /webmail/ + - name: Certificate IMAP + period: daily + service: certif + url: mail.example.org + uri: 993 diff --git a/handlers/main.yml b/handlers/main.yml index 468d4cd..e1bb036 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,6 +1,6 @@ --- -- name: restart nagios docker - docker_compose: - project_src: /home/docker/nagios/ - restarted: true +- name: Restart nagios docker + community.docker.docker_compose: + project_src: /home/docker/nagios/ + restarted: true diff --git a/meta/main.yml b/meta/main.yml index ef34bed..9f02c7e 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,19 +1,16 @@ --- galaxy_info: - author: Rémi - description: This role deploys Nagios with Docker to monitor all other defined servers - company: Le Filament (https://le-filament.com) - license: AGPL-3.0-or-later - min_ansible_version: 2.1 - platforms: - - name: EL - versions: - - 7 - - name: Ubuntu - versions: - - xenial - - bionic - - focal - galaxy_tags: - - nagios - - monitoring + author: lefilament + description: This role deploys Nagios with Docker to monitor all other defined servers + company: Le Filament (https://le-filament.com) + license: AGPL-3.0-or-later + min_ansible_version: "2.1" + platforms: + - name: Ubuntu + versions: + - xenial + - bionic + - focal + galaxy_tags: + - nagios + - monitoring diff --git a/tasks/main.yml b/tasks/main.yml index 53a396e..e4631ac 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,102 +1,103 @@ --- ## Install Nagios docker -- name: create Nagios docker structure on server in /home/docker/nagios - file: - name: "{{ item }}" - state: directory - owner: '999' - group: '1000' - mode: '0755' +- name: Create Nagios docker structure on server in /home/docker/nagios + ansible.builtin.file: + name: "{{ item }}" + state: directory + owner: '999' + group: '1000' + mode: '0755' with_items: - - /home/docker/nagios/etc/objects - - /home/docker/nagios/stylesheets + - /home/docker/nagios/etc/objects + - /home/docker/nagios/stylesheets - name: Copy nagios docker-compose file - template: - src: nagios.yaml.j2 - dest: /home/docker/nagios/docker-compose.yaml - mode: '0644' - notify: restart nagios docker + ansible.builtin.template: + src: nagios.yaml.j2 + dest: /home/docker/nagios/docker-compose.yaml + mode: '0644' + notify: Restart nagios docker -- name: copy configuration files - copy: - src: "{{ item }}" - dest: /home/docker/nagios/etc/{{ item }} - mode: '0644' - owner: '999' - group: '1000' +- name: Copy configuration files + ansible.builtin.copy: + src: "{{ item }}" + dest: /home/docker/nagios/etc/{{ item }} + mode: '0644' + owner: '999' + group: '1000' with_items: - - cgi.cfg - - nagios.cfg - - resource.cfg - notify: restart nagios docker + - cgi.cfg + - nagios.cfg + - resource.cfg + notify: Restart nagios docker tags: nagios_config -- name: copy CSS files - copy: - src: "{{ item }}" - dest: /home/docker/nagios/stylesheets/{{ item }} - mode: '0644' - owner: '999' - group: '1000' +- name: Copy CSS files + ansible.builtin.copy: + src: "{{ item }}" + dest: /home/docker/nagios/stylesheets/{{ item }} + mode: '0644' + owner: '999' + group: '1000' with_items: - - avail.css - - checksanity.css - - cmd.css - - common.css - - config.css - - extinfo.css - - histogram.css - - histogramgraph.css - - history.css - - jsonquery.css - - map.css - - map-directive.css - - ministatus.css - - nag_funcs.css - - notifications.css - - outages.css - - showlog.css - - status.css - - statusmap.css - - summary.css - - tac.css - - trends.css - - trendsgraph.css - notify: restart nagios docker + - avail.css + - checksanity.css + - cmd.css + - common.css + - config.css + - extinfo.css + - histogram.css + - histogramgraph.css + - history.css + - jsonquery.css + - map.css + - map-directive.css + - ministatus.css + - nag_funcs.css + - notifications.css + - outages.css + - showlog.css + - status.css + - statusmap.css + - summary.css + - tac.css + - trends.css + - trendsgraph.css + notify: Restart nagios docker tags: nagios_config -- name: copy objects configuration files - template: - src: "{{ item }}.j2" - dest: /home/docker/nagios/etc/objects/{{ item }} - mode: '0644' - owner: '999' - group: '1000' +- name: Copy objects configuration files + ansible.builtin.template: + src: "{{ item }}.j2" + dest: /home/docker/nagios/etc/objects/{{ item }} + mode: '0644' + owner: '999' + group: '1000' with_items: - - vps.cfg - - localhost.cfg - - templates.cfg - - contacts.cfg - - commands.cfg - - timeperiods.cfg - notify: restart nagios docker + - vps.cfg + - localhost.cfg + - templates.cfg + - contacts.cfg + - commands.cfg + - timeperiods.cfg + notify: Restart nagios docker tags: nagios_config -- name: create apache2 dir on server in /home/docker/nagios - file: - name: /home/docker/nagios/apache2 - owner: 'root' - group: 'root' - mode: '0755' - state: directory +- name: Create apache2 dir on server in /home/docker/nagios + ansible.builtin.file: + name: /home/docker/nagios/apache2 + owner: 'root' + group: 'root' + mode: '0755' + state: directory -- name: install apache2 configuration files - copy: - src: "{{ item }}" - dest: /home/docker/nagios/apache2/{{ item }} - mode: '0644' +- name: Install apache2 configuration files + ansible.builtin.copy: + src: "{{ item }}" + dest: /home/docker/nagios/apache2/{{ item }} + mode: '0644' with_items: - - 000-default.conf - - nagios.conf + - 000-default.conf + - nagios.conf + notify: Restart nagios docker -- GitLab