diff --git a/.ansible-lint b/.ansible-lint index 87353511c11000f2dfe7c1012b23c9a4d0f809d1..e2e7f6c9428e065d1af6ee23afa2cf5bf4c87f1f 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -1,2 +1,3 @@ --- + use_default_rules: true diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e91fe3f68a48eda98aeea908c60c019b2590abf2..4f40666f4e5a8f41ac66ea983880d493b4ec7187 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,6 @@ test: - >- ansible-lint --format codeclimate - ./*/ > codeclimate.json - "! rg --fixed-strings 'passwordstore' ./*/templates" artifacts: diff --git a/alertmanager/handlers/main.yml b/alertmanager/handlers/main.yml index 94a8c21a636aa943a469d880eb671a209bc09a1a..75340c12f9ef77f71281d5381c19993fcb348493 100644 --- a/alertmanager/handlers/main.yml +++ b/alertmanager/handlers/main.yml @@ -1,11 +1,11 @@ --- - name: Restart alertmanager - systemd: + ansible.builtin.systemd: name: prometheus-alertmanager.service state: restarted - name: Reload alertmanager - systemd: + ansible.builtin.systemd: name: prometheus-alertmanager.service state: reloaded diff --git a/alertmanager/tasks/main.yml b/alertmanager/tasks/main.yml index a87895582c8df693bdeb66f72756bd059122c2f4..33c431cfd1a9bdfebf389797f4ada5049f580c15 100644 --- a/alertmanager/tasks/main.yml +++ b/alertmanager/tasks/main.yml @@ -1,12 +1,12 @@ --- - name: Install alertmanager - apt: + ansible.builtin.apt: name: prometheus-alertmanager state: present - name: Configure alertmanager command arguments - template: + ansible.builtin.template: src: default.j2 dest: /etc/default/prometheus-alertmanager owner: root @@ -18,7 +18,7 @@ - config - name: Configure alertmanager - template: + ansible.builtin.template: src: alertmanager.yml.j2 dest: /etc/prometheus/alertmanager.yml owner: root diff --git a/grafana/handlers/main.yml b/grafana/handlers/main.yml index d4d98b6e35ea5faff5d2f1707afc141fc44eaf31..a4204926a3997a5ac87979cefd69c7d7be2e8dd1 100644 --- a/grafana/handlers/main.yml +++ b/grafana/handlers/main.yml @@ -1,10 +1,10 @@ --- - name: Restart Grafana - systemd: + ansible.builtin.systemd: name: grafana-server.service state: restarted - name: Reload systemd - systemd: + ansible.builtin.systemd: daemon_reload: true diff --git a/grafana/tasks/main.yml b/grafana/tasks/main.yml index c475450a2788b9705c9a2e9ef0fe3b722f786475..49ddf77d9cbcd1be848b21219c73155d503e57b0 100644 --- a/grafana/tasks/main.yml +++ b/grafana/tasks/main.yml @@ -15,7 +15,7 @@ - config - name: Install Grafana repo - apt_repository: + ansible.builtin.apt_repository: repo: "deb https://packages.grafana.com/enterprise/deb stable main" tags: - packages @@ -24,7 +24,7 @@ - config - name: Install Grafana - apt: + ansible.builtin.apt: name: - grafana-enterprise state: present @@ -33,7 +33,7 @@ - grafana - name: Create systemd unit override directory - file: + ansible.builtin.file: path: /etc/systemd/system/grafana-server.service.d state: directory owner: root @@ -44,7 +44,7 @@ - config - name: Configure Grafana systemd service - copy: + ansible.builtin.copy: src: grafana-server-override.service dest: /etc/systemd/system/grafana-server.service.d/ansible-override.conf owner: root @@ -58,7 +58,7 @@ - config - name: Configure Grafana - template: + ansible.builtin.template: src: grafana.ini.j2 dest: /etc/grafana/grafana.ini owner: root @@ -71,7 +71,7 @@ - grafana - name: Configure Grafana LDAP auth - template: + ansible.builtin.template: src: ldap.toml.j2 dest: /etc/grafana/ldap.toml owner: root @@ -85,7 +85,8 @@ - config - grafana -- import_tasks: postgres.yml +- name: Configure Postgres for Grafana + ansible.builtin.import_tasks: postgres.yml when: - grafana_database is defined - grafana_database.type == "postgres" @@ -94,10 +95,11 @@ - grafana - postgres -- meta: flush_handlers +- name: Flush handlers + ansible.builtin.meta: flush_handlers - name: Enable and start Grafana - systemd: + ansible.builtin.systemd: name: grafana-server.service state: started enabled: true diff --git a/grafana/tasks/postgres.yml b/grafana/tasks/postgres.yml index f69793bb92f49d36d184073ab8ee5fc288d41a62..ee1e1725f193c9402386afb8f63a2c13895b4f52 100644 --- a/grafana/tasks/postgres.yml +++ b/grafana/tasks/postgres.yml @@ -1,21 +1,22 @@ --- -- become: true +- name: Become postgres system user + become: true become_user: postgres block: - name: Create postgres user - postgresql_user: + community.postgresql.postgresql_user: name: grafana state: present - name: Create database - postgresql_db: + community.postgresql.postgresql_db: name: grafana owner: grafana state: present - name: Grant database privileges - postgresql_privs: + community.postgresql.postgresql_privs: database: grafana privs: ALL state: present diff --git a/mysqld_exporter/handlers/main.yml b/mysqld_exporter/handlers/main.yml index 0c1a1c1143c0504c6607e99777d853d23a9f9ddf..a3779728b30ae3ac9f084a26513096919c951bba 100644 --- a/mysqld_exporter/handlers/main.yml +++ b/mysqld_exporter/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: Restart mysqld_exporter - systemd: + ansible.builtin.systemd: name: prometheus-mysqld-exporter.service state: restarted diff --git a/mysqld_exporter/tasks/main.yml b/mysqld_exporter/tasks/main.yml index 9d8d2ed332bff5abf395632780cdf041e5f33f2a..a2a44fcd325f46850e5da6977dc2e0a6e813a850 100644 --- a/mysqld_exporter/tasks/main.yml +++ b/mysqld_exporter/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Install mysqld_exporter - apt: + ansible.builtin.apt: name: prometheus-mysqld-exporter state: present when: ansible_distribution_major_version|int >= 10 @@ -10,7 +10,7 @@ - prometheus-exporter - name: Install mysqld_exporter (stretch) - apt: + ansible.builtin.apt: name: prometheus-mysqld-exporter state: present default_release: stretch-backports @@ -20,7 +20,7 @@ - prometheus-exporter - name: Configure mysqld_exporter - template: + ansible.builtin.template: src: prometheus-mysqld-exporter.j2 dest: /etc/default/prometheus-mysqld-exporter owner: root @@ -34,7 +34,7 @@ - config - name: Configure Prometheus server to scrape us - template: + ansible.builtin.template: src: scrape.yml.j2 dest: "/etc/prometheus/scrape/mysqld_{{ ansible_fqdn }}.yml" owner: root diff --git a/node_exporter/handlers/main.yml b/node_exporter/handlers/main.yml index f25d9e7a2440def84a001b76b2539cec5b5a95cf..61d109da76bdaa718f44395fc9307b51d571e860 100644 --- a/node_exporter/handlers/main.yml +++ b/node_exporter/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: Restart node_exporter - systemd: + ansible.builtin.systemd: name: prometheus-node-exporter.service state: restarted diff --git a/node_exporter/tasks/main.yml b/node_exporter/tasks/main.yml index 26a48cd7de4dc768eb64a6271cdf5cd3f20454b2..f43ef2227b76190f7129aadb6ce8f23a8debc8a7 100644 --- a/node_exporter/tasks/main.yml +++ b/node_exporter/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Install node_exporter - apt: + ansible.builtin.apt: name: prometheus-node-exporter state: present when: ansible_distribution_major_version|int >= 10 @@ -10,7 +10,7 @@ - prometheus-exporter - name: Install node_exporter (stretch) - apt: + ansible.builtin.apt: name: prometheus-node-exporter state: present default_release: stretch-backports @@ -20,7 +20,7 @@ - prometheus-exporter - name: Install additional node_exporter collectors - apt: + ansible.builtin.apt: name: prometheus-node-exporter-collectors state: present when: ansible_distribution_major_version|int >= 11 @@ -29,7 +29,7 @@ - prometheus-exporter - name: Ensure smartmontools is present only on bare-metal hosts - apt: + ansible.builtin.apt: name: smartmontools state: >- {% if force_smartmontools_on_vm_guest or @@ -41,7 +41,7 @@ {%- endif %} - name: Configure node_exporter - template: + ansible.builtin.template: src: prometheus-node-exporter.j2 dest: /etc/default/prometheus-node-exporter owner: root @@ -55,7 +55,7 @@ - config - name: Configure Prometheus server to scrape us - template: + ansible.builtin.template: src: scrape.yml.j2 dest: "/etc/prometheus/scrape/node_{{ ansible_fqdn }}.yml" owner: root @@ -67,5 +67,6 @@ - prometheus-exporter - config -- import_tasks: needrestart.yml +- name: Configure needrestart integration + ansible.builtin.import_tasks: needrestart.yml when: node_exporter_needrestart diff --git a/node_exporter/tasks/needrestart.yml b/node_exporter/tasks/needrestart.yml index 8a3be68ea066426420cf15235e3aa4f9c5804db2..07a518ad6ff4d4a3ae9e495276b382925b9a151b 100644 --- a/node_exporter/tasks/needrestart.yml +++ b/node_exporter/tasks/needrestart.yml @@ -1,7 +1,7 @@ --- - name: Install needrestart - apt: + ansible.builtin.apt: name: needrestart state: present tags: @@ -9,7 +9,7 @@ - prometheus-exporter - name: Install needrestart2prom - get_url: + ansible.builtin.get_url: url: >- https://git.fsmpi.rwth-aachen.de/api/v4/projects/233/packages/generic/needrestart2prom/{{ needrestart2prom_version }}/needrestart2prom-{{ ansible_system|lower }}-{{ @@ -24,7 +24,7 @@ - prometheus-exporter - name: Configure needrestart2prom cronjob PATH - cron: + ansible.builtin.cron: cron_file: needrestart2prom user: root env: true @@ -36,7 +36,7 @@ - prometheus-exporter - name: Configure needrestart2prom cronjob - cron: + ansible.builtin.cron: cron_file: needrestart2prom user: root name: needrestart2prom diff --git a/prometheus/handlers/main.yml b/prometheus/handlers/main.yml index 0be95fde5cf43a7cc63ad41056e53e48512d5446..208fecb0460de0f6074758f9cc328925d5b13e46 100644 --- a/prometheus/handlers/main.yml +++ b/prometheus/handlers/main.yml @@ -1,11 +1,11 @@ --- - name: Restart prometheus - systemd: + ansible.builtin.systemd: name: prometheus.service state: restarted - name: Reload prometheus - systemd: + ansible.builtin.systemd: name: prometheus.service state: reloaded diff --git a/prometheus/tasks/main.yml b/prometheus/tasks/main.yml index 0e5b6197e27e566d7b5956e08a0049bdfdbe2e33..d5a7f63f2297df5be8397c72ead57a5a28118d5f 100644 --- a/prometheus/tasks/main.yml +++ b/prometheus/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Install prometheus - apt: + ansible.builtin.apt: name: - prometheus state: present @@ -9,7 +9,7 @@ - prometheus - name: Configure prometheus command arguments - template: + ansible.builtin.template: src: default-prometheus.j2 dest: /etc/default/prometheus owner: root @@ -22,7 +22,7 @@ - config - name: Configure prometheus - template: + ansible.builtin.template: src: prometheus.yml.j2 dest: /etc/prometheus/prometheus.yml validate: "promtool check config %s" @@ -36,7 +36,7 @@ - config - name: Create necessary directories - file: + ansible.builtin.file: path: "/etc/prometheus/{{ item }}" state: directory owner: root @@ -51,7 +51,7 @@ - config - name: Configure rules - template: + ansible.builtin.template: src: "rules.yml.j2" dest: "/etc/prometheus/rules/ansible_rules.yml" validate: "promtool check rules %s"