diff --git a/.config/ansible-lint.yml b/.config/ansible-lint.yml index 12efabb22..d3764d781 100644 --- a/.config/ansible-lint.yml +++ b/.config/ansible-lint.yml @@ -1,11 +1,11 @@ --- profile: production warn_list: - - galaxy[version-incorrect] # until collection gets bumped to 1.x.x - - name[casing] # https://github.com/ansible/ansible-lint/issues/4035#issuecomment-2116272270 + - galaxy[version-incorrect] # until collection gets bumped to 1.x.x + - name[casing] # https://github.com/ansible/ansible-lint/issues/4035#issuecomment-2116272270 skip_list: - - role-name # Allow underscore prefix in role name for internal role - - var-naming[no-role-prefix] # https://github.com/ansible/ansible-lint/pull/3422#issuecomment-1549584988 + - role-name # Allow underscore prefix in role name for internal role + - var-naming[no-role-prefix] # https://github.com/ansible/ansible-lint/pull/3422#issuecomment-1549584988 supported_ansible_also: - "2.14" - "2.15" diff --git a/.config/molecule/alternative/prepare.yml b/.config/molecule/alternative/prepare.yml index a6d6b624a..39a99897d 100644 --- a/.config/molecule/alternative/prepare.yml +++ b/.config/molecule/alternative/prepare.yml @@ -13,7 +13,7 @@ ansible.builtin.file: path: "{{ __cache_path }}" state: directory - mode: 0755 + mode: "0755" when: __cache_path is truthy - name: "Fetch binary" diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index e22c4c6c5..6d868ae81 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,52 +1,52 @@ --- -name-template: '$RESOLVED_VERSION' -tag-template: '$RESOLVED_VERSION' +name-template: "$RESOLVED_VERSION" +tag-template: "$RESOLVED_VERSION" categories: - - title: 'Major Changes' + - title: "Major Changes" labels: - - 'major' # c6476b - - title: 'Minor Changes' + - "major" # c6476b + - title: "Minor Changes" labels: - - 'feature' # 006b75 - - 'enhancement' # ededed - - 'refactoring' - - title: 'Bugfixes' + - "feature" # 006b75 + - "enhancement" # ededed + - "refactoring" + - title: "Bugfixes" labels: - - 'bug' # fbca04 - - title: 'Deprecations' + - "bug" # fbca04 + - title: "Deprecations" labels: - - 'deprecated' # fef2c0 + - "deprecated" # fef2c0 exclude-labels: - - 'skip-changelog' - - 'duplicate' + - "skip-changelog" + - "duplicate" version-resolver: major: labels: - - 'major' + - "major" minor: labels: - - 'minor' - - 'feature' - - 'enhancement' - - 'refactoring' + - "minor" + - "feature" + - "enhancement" + - "refactoring" patch: labels: - - 'patch' - - 'bug' - - 'deprecated' + - "patch" + - "bug" + - "deprecated" default: patch autolabeler: - - label: 'skip-changelog' - title: '/chore/i' - - label: 'bug' - title: '/fix/i' - - label: 'enhancement' - title: '/(enhance|improve)/i' - - label: 'feature' - title: '/feature/i' - - label: 'dreprecated' - title: '/deprecat/i' -change-template: '* $TITLE by @$AUTHOR in #$NUMBER' + - label: "skip-changelog" + title: "/chore/i" + - label: "bug" + title: "/fix/i" + - label: "enhancement" + title: "/(enhance|improve)/i" + - label: "feature" + title: "/feature/i" + - label: "dreprecated" + title: "/deprecat/i" +change-template: "* $TITLE by @$AUTHOR in #$NUMBER" template: | What's Changed === diff --git a/.github/version-drafter.yml b/.github/version-drafter.yml index a5415f61f..9fbee79a9 100644 --- a/.github/version-drafter.yml +++ b/.github/version-drafter.yml @@ -1,4 +1,4 @@ --- -major-labels: ['semver:major', 'major', 'breaking'] -minor-labels: ['semver:minor', 'minor', 'enhancement', 'deprecated', 'removed', 'security'] -patch-labels: ['semver:patch', 'bug', 'trivial', 'bugfix'] +major-labels: ["semver:major", "major", "breaking"] +minor-labels: ["semver:minor", "minor", "enhancement", "deprecated", "removed", "security"] +patch-labels: ["semver:patch", "bug", "trivial", "bugfix"] diff --git a/.github/workflows/ansible-ci.yml b/.github/workflows/ansible-ci.yml index ba2559dfc..456c2acf6 100644 --- a/.github/workflows/ansible-ci.yml +++ b/.github/workflows/ansible-ci.yml @@ -24,33 +24,33 @@ jobs: ansible-lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Lint collection - uses: ansible/ansible-lint@5fac056c45595896c973fbde871f01f6cb14d74c # v26.4.0 + uses: ansible/ansible-lint@5fac056c45595896c973fbde871f01f6cb14d74c # v26.4.0 arguments-spec-lint: runs-on: ubuntu-latest container: image: quay.io/prometheus/golang-builder:base steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Lint arguments spec run: ./.github/scripts/lint_arguments_spec.sh check-unused-variables: runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Run action - uses: hoo29/little-timmy@c8ca5086db961499fc3d4e37637f566c3d0ec6d6 # v3-action + uses: hoo29/little-timmy@c8ca5086db961499fc3d4e37637f566c3d0ec6d6 # v3-action discover-ansible-versions: runs-on: ubuntu-latest outputs: versions: ${{ steps.supported-ansible-versions.outputs.result }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Get Ansible versions that the collection supports id: supported-ansible-versions @@ -72,13 +72,13 @@ jobs: integration-tests: ${{ steps.set-integration-tests.outputs.tests }} ansible-roles: ${{ steps.set-ansible-roles.outputs.roles }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 - name: Fetch current PR labels id: fetch-labels - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const { owner, repo } = context.repo; @@ -114,8 +114,9 @@ jobs: needs: - discover-ansible-tests - discover-ansible-versions - if: needs.discover-ansible-tests.outputs.ansible-roles != '[]' && - needs.discover-ansible-tests.outputs.ansible-roles != '' + if: | + needs.discover-ansible-tests.outputs.ansible-roles != '[]' && + needs.discover-ansible-tests.outputs.ansible-roles != '' with: role: ${{ matrix.role }} ansible-core-versions: ${{ needs.discover-ansible-versions.outputs.versions }} @@ -129,7 +130,7 @@ jobs: needs: - discover-ansible-tests - discover-ansible-versions - if: + if: | needs.discover-ansible-tests.outputs.integration-tests != '[]' && needs.discover-ansible-tests.outputs.integration-tests != '' with: diff --git a/.github/workflows/ansible-test-integration.yml b/.github/workflows/ansible-test-integration.yml index effc6915c..d36a34213 100644 --- a/.github/workflows/ansible-test-integration.yml +++ b/.github/workflows/ansible-test-integration.yml @@ -40,17 +40,17 @@ jobs: name: "${{ matrix.targets.name }}-${{ matrix.ansible-core-versions }}" steps: - name: "Perform ${{ matrix.targets.test }} integration test with ansible-test" - uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # v1.18.0 + uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # v1.18.0 with: ansible-core-version: ${{ matrix.ansible-core-versions }} target-python-version: ${{ matrix.target-python-versions }} controller-python-version: auto - docker-image: "--docker-privileged" # Workaround because ansible-test action doesn't support setting privileged flag + docker-image: "--docker-privileged" # Workaround because ansible-test action doesn't support setting privileged flag testing-type: integration target: ${{ matrix.targets.test }} coverage: ${{ inputs.coverage }} - ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible-core-versions) && - 'ansible-community/eol-ansible' || 'ansible/ansible' }} + ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible-core-versions) && 'ansible-community/eol-ansible' || + 'ansible/ansible' }} test-deps: ${{ inputs.test-deps }} pre-test-cmd: |- printf '%s\n' '${{ matrix.ansible-core-versions }}' > .ansible-test-core-ref diff --git a/.github/workflows/ansible-test-molecule.yml b/.github/workflows/ansible-test-molecule.yml index 561553b22..edb712ef4 100644 --- a/.github/workflows/ansible-test-molecule.yml +++ b/.github/workflows/ansible-test-molecule.yml @@ -19,7 +19,7 @@ jobs: name: "${{ inputs.role }}-discover-molecule-scenarios" steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 @@ -35,8 +35,9 @@ jobs: uses: ./.github/workflows/ansible-test-integration.yml needs: - discover-molecule-scenarios - if: needs.discover-molecule-scenarios.outputs.molecule-tests != '[]' && - needs.discover-molecule-scenarios.outputs.molecule-tests != '' + if: | + needs.discover-molecule-scenarios.outputs.molecule-tests != '[]' && + needs.discover-molecule-scenarios.outputs.molecule-tests != '' with: targets: ${{ needs.discover-molecule-scenarios.outputs.molecule-tests }} ansible-core-versions: ${{ inputs.ansible-core-versions }} diff --git a/.github/workflows/ansible-test-sanity.yml b/.github/workflows/ansible-test-sanity.yml index b53ce284d..a905bd86a 100644 --- a/.github/workflows/ansible-test-sanity.yml +++ b/.github/workflows/ansible-test-sanity.yml @@ -19,9 +19,9 @@ jobs: name: "sanity-${{ matrix.ansible-core-versions }}" steps: - name: "Perform sanity test with ansible-test" - uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # v1.18.0 + uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # v1.18.0 with: ansible-core-version: ${{ matrix.ansible-core-versions }} testing-type: sanity - ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible-core-versions) && - 'ansible-community/eol-ansible' || 'ansible/ansible' }} + ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible-core-versions) && 'ansible-community/eol-ansible' || + 'ansible/ansible' }} diff --git a/.github/workflows/conventional-label.yml b/.github/workflows/conventional-label.yml index 8b0484e84..36667c713 100644 --- a/.github/workflows/conventional-label.yml +++ b/.github/workflows/conventional-label.yml @@ -16,16 +16,14 @@ jobs: - name: "Confirm correct pull request title" uses: deepakputhraya/action-pr-title@077bddd7bdabd0d2b1b25ed0754c7e62e184d7ee with: - allowed_prefixes: "breaking,chore,feat,feature,fix,major,minor,enhancement,\ - deprecated,removed,security,bug,bugfix,docs,packaging,\ - test,refactor,refactoring,skip-release,skip_changelog,patch" + allowed_prefixes: "breaking,chore,feat,feature,fix,major,minor,enhancement,deprecated,removed,security,bug,bugfix,docs,packaging,test,refactor,refactoring,skip-release,skip_changelog,patch" - name: "Apply label" if: github.event.pull_request.labels.length == 0 - uses: bcoe/conventional-release-labels@886f696738527c7be444262c327c89436dfb95a8 # v1.3.1 + uses: bcoe/conventional-release-labels@886f696738527c7be444262c327c89436dfb95a8 # v1.3.1 with: type_labels: | - { + { "feature": "enhancement", "feat": "enhancement", "fix": "bugfix", @@ -47,7 +45,7 @@ jobs: "skip_changelog": "skip_changelog", "patch": "trivial", "chore": "trivial" - } + } role-label: runs-on: ubuntu-latest @@ -56,7 +54,7 @@ jobs: pull-requests: write steps: - name: Add changed roles labels - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const prNumber = context.issue.number; diff --git a/.github/workflows/docs-pr.yml b/.github/workflows/docs-pr.yml index 2dec586bb..30c578cc3 100644 --- a/.github/workflows/docs-pr.yml +++ b/.github/workflows/docs-pr.yml @@ -1,8 +1,10 @@ --- name: Collection Docs (PR) + concurrency: group: docs-pr-${{ github.head_ref }} cancel-in-progress: true + on: pull_request_target: types: [opened, synchronize, reopened, closed] @@ -18,7 +20,7 @@ jobs: steps: - name: Get the latest tag id: get-latest-tag - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const latestTag = await github.rest.repos.listTags({ @@ -45,9 +47,7 @@ jobs: init-html-short-title: Prometheus.Prometheus Collection Docs init-extra-html-theme-options: | documentation_home_url=https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/tag/${{ needs.get-tags.outputs.latest }} - render-file-line: - '> * `$` - [$](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/pr/${{ github.event.number }}/$)' + render-file-line: "> * `$` [$](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/pr/${{ github.event.number }}/$)" publish-docs-gh-pages: # for now we won't run this on forks @@ -76,7 +76,7 @@ jobs: - name: PR comment uses: ansible-community/github-docs-build/actions/ansible-docs-build-comment@main with: - body-includes: '## Docs Build' + body-includes: "## Docs Build" action: ${{ needs.build-docs.outputs.changed != 'true' && 'remove' || '' }} on-closed-body: | ## Docs Build 📝 diff --git a/.github/workflows/docs-push.yml b/.github/workflows/docs-push.yml index 95d7a0b46..8d4e4c3f1 100644 --- a/.github/workflows/docs-push.yml +++ b/.github/workflows/docs-push.yml @@ -8,13 +8,12 @@ on: branches: - main tags: - - '*' + - "*" # Run CI once per day (at 06:00 UTC) schedule: - - cron: '0 6 * * *' + - cron: "0 6 * * *" # Allow manual trigger (for newer antsibull-docs, sphinx-ansible-theme, ... versions) workflow_dispatch: - jobs: get-tags: runs-on: ubuntu-latest @@ -23,7 +22,7 @@ jobs: steps: - name: Get the latest tag id: get-latest-tag - uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const latestTag = await github.rest.repos.listTags({ diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bcbbf50a0..7035e8d68 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,21 +3,20 @@ name: Ansible collection publish on: push: tags: - - '*' + - "*" workflow_dispatch: - jobs: release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: "Build the collection" id: build-collection uses: ansible-community/github-action-build-collection@main - name: "Upload built collection to release" - uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 + uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ${{ steps.build-collection.outputs.artifact-filename }} @@ -26,6 +25,6 @@ jobs: overwrite: true - name: "Publish collection on galaxy" - uses: ansible/ansible-publish-action@a56a0328c92c1d4feedf5bd7f7cf7ec7a4ae3f09 # v1.0.0 + uses: ansible/ansible-publish-action@a56a0328c92c1d4feedf5bd7f7cf7ec7a4ae3f09 # v1.0.0 with: api_key: ${{ secrets.ANSIBLE_GALAXY_API_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ce860b97..0f825e215 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 @@ -23,7 +23,7 @@ jobs: - name: "Calculate next version" id: version - uses: gardar/version-drafter-action@event-triggers # Until PR gets merged: https://github.com/patrickjahns/version-drafter-action/pull/343 + uses: gardar/version-drafter-action@event-triggers # Until PR gets merged: https://github.com/patrickjahns/version-drafter-action/pull/343 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" @@ -45,19 +45,19 @@ jobs: cmd: yq -i '.version = "${{ steps.version.outputs.next-version }}"' 'galaxy.yml' - name: "Write changelog and version" - uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0 + uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0 with: branch: ${{ github.event.pull_request.base.ref }} commit_message: "chore: update version" push_options: --force - name: "Checkout updated branch" - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: ref: ${{ github.event.pull_request.base.ref }} - name: "Publish release" id: release-publish - uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 + uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/version_bumper.yml b/.github/workflows/version_bumper.yml index 8b473a574..b114a244e 100644 --- a/.github/workflows/version_bumper.yml +++ b/.github/workflows/version_bumper.yml @@ -2,7 +2,7 @@ name: Check for new upstream releases on: schedule: - - cron: '21 14 * * *' + - cron: "21 14 * * *" workflow_call: inputs: role-repos: @@ -16,7 +16,7 @@ jobs: container: image: quay.io/prometheus/golang-builder:base steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Get repos for each role id: discover @@ -36,5 +36,5 @@ jobs: matrix: include: ${{ fromJson(needs.discover-role-repos.outputs.role-repos) }} steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - run: ./.github/scripts/version_updater.sh ${{ matrix.repo }} ${{ matrix.role }} ${{ matrix.type }} diff --git a/.yamllint.yml b/.yamllint.yml index 4e5ef8302..9e4861c8a 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -14,15 +14,22 @@ rules: commas: max-spaces-after: -1 level: error + comments: + min-spaces-from-content: 1 + comments-indentation: false empty-lines: max: 3 level: error hyphens: level: error line-length: - max: 200 + max: 250 + octal-values: + forbid-implicit-octal: true + forbid-explicit-octal: true truthy: check-keys: false ignore: | changelogs/.plugin-cache.yaml + changelogs/changelog.yaml diff --git a/galaxy.yml b/galaxy.yml index 5a0bca1be..a1dfcc068 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -19,7 +19,7 @@ tags: - alerting - cloud dependencies: - community.general: '>=1.0.0' + community.general: ">=1.0.0" repository: "https://github.com/prometheus-community/ansible" documentation: "https://prometheus-community.github.io/ansible" homepage: "https://prometheus.io" @@ -31,4 +31,4 @@ build_ignore: - changelogs - roles/*/molecule - tests - - '*.tar.gz' + - "*.tar.gz" diff --git a/roles/_common/meta/argument_specs.yml b/roles/_common/meta/argument_specs.yml index 0a89b81fe..7cb9cd15f 100644 --- a/roles/_common/meta/argument_specs.yml +++ b/roles/_common/meta/argument_specs.yml @@ -77,10 +77,7 @@ argument_specs: options: _common_dependencies: description: "Package dependencies to install" - default: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}\ - {{ ('python-apt' if ansible_facts['python_version'] is version('3', '<') else 'python3-apt') -}} - {% else %}\ - {% endif %}" + default: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}{{ ('python-apt' if ansible_facts['python_version'] is version('3', '<') else 'python3-apt') -}} {% else %}{% endif %}" _common_web_listen_address: description: "Address on which to listen" default: "" diff --git a/roles/_common/tasks/configure.yml b/roles/_common/tasks/configure.yml index 74ac67cb4..cd6d0be4e 100644 --- a/roles/_common/tasks/configure.yml +++ b/roles/_common/tasks/configure.yml @@ -14,7 +14,7 @@ dest: "/etc/systemd/system/{{ _common_service_name }}.service" owner: root group: root - mode: 0644 + mode: "0644" become: true notify: - "{{ ansible_parent_role_names | first }} : Restart {{ _common_service_name }}" @@ -45,7 +45,7 @@ dest: "{{ _common_config_dir }}/web_config.yml" owner: "{{ _common_system_user }}" group: "{{ _common_system_group }}" - mode: 0644 + mode: "0644" become: true notify: - "{{ ansible_parent_role_names | first }} : Restart {{ _common_service_name }}" diff --git a/roles/_common/tasks/install.yml b/roles/_common/tasks/install.yml index c2c4c19fb..35374442b 100644 --- a/roles/_common/tasks/install.yml +++ b/roles/_common/tasks/install.yml @@ -60,7 +60,7 @@ ansible.builtin.file: path: "{{ _common_local_cache_path }}" state: directory - mode: 0755 + mode: "0755" check_mode: false - name: "Download {{ __common_binary_basename }}" @@ -68,7 +68,7 @@ url: "{{ _common_binary_url }}" dest: "{{ _common_local_cache_path }}/{{ _common_binary_name | default(__common_binary_basename) }}" headers: "{{ __common_github_api_headers }}" - mode: 0644 + mode: "0644" status_code: [200, 203, 204, 206, 300, 301, 302, 303, 304, 307, 308] follow_redirects: all register: __common_download @@ -95,8 +95,7 @@ - name: "Parse checksum list for {{ __common_binary_basename }}" ansible.builtin.set_fact: - __common_binary_checksums: "{{ dict(__common_binary_checksums_raw.content.splitlines() - | map('regex_findall', '^([a-fA-F0-9]+)\\s+(.+)$') | map('flatten') | map('reverse')) }}" + __common_binary_checksums: "{{ dict(__common_binary_checksums_raw.content.splitlines() | map('regex_findall', '^([a-fA-F0-9]+)\\s+(.+)$') | map('flatten') | map('reverse')) }}" - name: "Calculate checksum of {{ __common_binary_basename }}" ansible.builtin.stat: @@ -115,11 +114,11 @@ ansible.builtin.unarchive: src: "{{ _common_local_cache_path }}/{{ __common_binary_basename }}" dest: "{{ _common_local_cache_path }}" - mode: 0755 + mode: "0755" list_files: true extra_opts: "{{ _common_binary_unarchive_opts | default(omit, true) }}" check_mode: false - throttle: 1 # see prometheus-community/ansible#457 + throttle: 1 # see prometheus-community/ansible#457 when: __common_binary_basename is search('\.zip$|\.tar\.gz$') - name: "Check existence of binary install dir" @@ -134,7 +133,7 @@ - name: "Make sure binary install dir exists" ansible.builtin.file: path: "{{ _common_binary_install_dir }}" - mode: 0755 + mode: "0755" owner: root group: root become: true @@ -148,7 +147,7 @@ ansible.builtin.copy: src: "{{ _common_local_cache_path }}/{{ item }}" dest: "{{ _common_binary_install_dir }}/{{ item }}" - mode: 0755 + mode: "0755" owner: root group: root loop: "{{ _common_binaries }}" diff --git a/roles/_common/tasks/preflight.yml b/roles/_common/tasks/preflight.yml index cb3284a13..a9b5587ba 100644 --- a/roles/_common/tasks/preflight.yml +++ b/roles/_common/tasks/preflight.yml @@ -12,8 +12,7 @@ ansible.builtin.assert: that: - __common_parent_role_short_name ~ '_skip_install' not in vars - fail_msg: "The variable {{ __common_parent_role_short_name ~ '_skip_install' }} is deprecated. - Please use `--skip-tags {{ __common_parent_role_short_name }}_install` instead to skip the installation." + fail_msg: "The variable {{ __common_parent_role_short_name ~ '_skip_install' }} is deprecated. Please use `--skip-tags {{ __common_parent_role_short_name }}_install` instead to skip the installation." tags: - "{{ ansible_parent_role_names | first | regex_replace(ansible_collection_name ~ '.', '') }}" - configure @@ -23,8 +22,7 @@ ansible.builtin.assert: that: - __common_parent_role_short_name ~ '_binary_local_dir' not in vars - fail_msg: "The variable {{ __common_parent_role_short_name ~ '_binary_local_dir' }} is deprecated. - Please use the variable {{ __common_parent_role_short_name ~ '_local_cache_path' }} instead" + fail_msg: "The variable {{ __common_parent_role_short_name ~ '_binary_local_dir' }} is deprecated. Please use the variable {{ __common_parent_role_short_name ~ '_local_cache_path' }} instead" tags: - "{{ ansible_parent_role_names | first | regex_replace(ansible_collection_name ~ '.', '') }}" - configure @@ -34,8 +32,7 @@ ansible.builtin.assert: that: - __common_parent_role_short_name ~ '_archive_path' not in vars - fail_msg: "The variable {{ __common_parent_role_short_name ~ '_archive_path' }} is deprecated. - Please use the variable {{ __common_parent_role_short_name ~ '_local_cache_path' }} instead" + fail_msg: "The variable {{ __common_parent_role_short_name ~ '_archive_path' }} is deprecated. Please use the variable {{ __common_parent_role_short_name ~ '_local_cache_path' }} instead" tags: - "{{ ansible_parent_role_names | first | regex_replace(ansible_collection_name ~ '.', '') }}" - configure diff --git a/roles/_common/tasks/selinux.yml b/roles/_common/tasks/selinux.yml index 0242cccfa..2579c83e3 100644 --- a/roles/_common/tasks/selinux.yml +++ b/roles/_common/tasks/selinux.yml @@ -10,9 +10,7 @@ - name: Install selinux python packages [RedHat] ansible.builtin.package: - name: "{{ ['libselinux-python', 'policycoreutils-python'] - if ansible_facts['python_version'] is version('3', '<') else - ['python3-libselinux', 'python3-policycoreutils'] }}" + name: "{{ ['libselinux-python', 'policycoreutils-python'] if ansible_facts['python_version'] is version('3', '<') else ['python3-libselinux', 'python3-policycoreutils'] }}" state: present register: __common_install_selinux_packages until: __common_install_selinux_packages is success diff --git a/roles/_common/vars/main.yml b/roles/_common/vars/main.yml index ee14a2a47..e09f3a1a0 100644 --- a/roles/_common/vars/main.yml +++ b/roles/_common/vars/main.yml @@ -10,10 +10,7 @@ _common_selinux_port: "" _common_service_name: "{{ __common_parent_role_short_name }}" _common_system_user: "" _common_system_group: "" -_common_dependencies: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}\ - {{ ('python-apt' if ansible_facts['python_version'] is version('3', '<') else 'python3-apt') -}}\ - {% else %}\ - {% endif %}" +_common_dependencies: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}{{ ('python-apt' if ansible_facts['python_version'] is version('3', '<') else 'python3-apt') -}}{% else %}{% endif %}" _common_binary_unarchive_opts: "" _common_tls_server_config: {} _common_http_server_config: {} diff --git a/roles/alertmanager/defaults/main.yml b/roles/alertmanager/defaults/main.yml index db92180c4..d3e152fcc 100644 --- a/roles/alertmanager/defaults/main.yml +++ b/roles/alertmanager/defaults/main.yml @@ -1,27 +1,25 @@ --- alertmanager_version: 0.33.0 -alertmanager_binary_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/\ - alertmanager-{{ alertmanager_version }}.{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch }}.tar.gz" +alertmanager_binary_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch + }}.tar.gz" alertmanager_checksums_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt" alertmanager_config_dir: /etc/alertmanager alertmanager_db_dir: /var/lib/alertmanager -alertmanager_config_file: 'alertmanager.yml.j2' +alertmanager_config_file: "alertmanager.yml.j2" alertmanager_template_files: - alertmanager/templates/*.tmpl -alertmanager_web_listen_address: '0.0.0.0:9093' -alertmanager_web_external_url: 'http://localhost:9093/' +alertmanager_web_listen_address: "0.0.0.0:9093" +alertmanager_web_external_url: "http://localhost:9093/" alertmanager_http_config: {} - alertmanager_web_config: tls_server_config: {} http_server_config: {} basic_auth_users: {} - alertmanager_resolve_timeout: 3m alertmanager_config_flags_extra: {} @@ -40,17 +38,17 @@ alertmanager_smtp: {} # require_tls: "True" # Default values you can see here -> https://prometheus.io/docs/alerting/configuration/ -alertmanager_slack_api_url: '' -alertmanager_pagerduty_url: '' -alertmanager_opsgenie_api_key: '' -alertmanager_opsgenie_api_url: '' -alertmanager_victorops_api_key: '' -alertmanager_victorops_api_url: '' -alertmanager_hipchat_api_url: '' -alertmanager_hipchat_auth_token: '' -alertmanager_wechat_url: '' -alertmanager_wechat_secret: '' -alertmanager_wechat_corp_id: '' +alertmanager_slack_api_url: "" +alertmanager_pagerduty_url: "" +alertmanager_opsgenie_api_key: "" +alertmanager_opsgenie_api_url: "" +alertmanager_victorops_api_key: "" +alertmanager_victorops_api_url: "" +alertmanager_hipchat_api_url: "" +alertmanager_hipchat_auth_token: "" +alertmanager_wechat_url: "" +alertmanager_wechat_secret: "" +alertmanager_wechat_corp_id: "" # First read: https://github.com/prometheus/alertmanager#high-availability alertmanager_cluster: @@ -130,15 +128,15 @@ alertmanager_route: {} # receiver: team-Y-pager # The template for amtool's configuration -alertmanager_amtool_config_file: 'amtool.yml.j2' +alertmanager_amtool_config_file: "amtool.yml.j2" # Location (URL) of the alertmanager alertmanager_amtool_config_alertmanager_url: "{{ alertmanager_web_external_url }}" # Extended output of `amtool` commands, use '' for less verbosity -alertmanager_amtool_config_output: 'extended' +alertmanager_amtool_config_output: "extended" -alertmanager_binary_install_dir: '/usr/local/bin' +alertmanager_binary_install_dir: "/usr/local/bin" # Local path to stash the archive and its extraction alertmanager_local_cache_path: "/tmp/alertmanager-{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch }}/{{ alertmanager_version }}" diff --git a/roles/alertmanager/meta/argument_specs.yml b/roles/alertmanager/meta/argument_specs.yml index 142ce48e2..0293ad470 100644 --- a/roles/alertmanager/meta/argument_specs.yml +++ b/roles/alertmanager/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: 0.33.0 alertmanager_binary_url: description: "URL of the alertmanager binaries .tar.gz file" - default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.{{ ansible_facts['system'] | lower }}-{{ _alertmanager_go_ansible_arch + }}.tar.gz" alertmanager_checksums_url: description: "URL of the alertmanager checksums file" default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt" diff --git a/roles/alertmanager/molecule/alternative/molecule.yml b/roles/alertmanager/molecule/alternative/molecule.yml index a1e109e77..c8255d083 100644 --- a/roles/alertmanager/molecule/alternative/molecule.yml +++ b/roles/alertmanager/molecule/alternative/molecule.yml @@ -10,19 +10,19 @@ provisioner: alertmanager_config_dir: /opt/am/etc alertmanager_db_dir: /opt/am/lib alertmanager_web_listen_address: - - '127.0.0.1:9093' - - '127.0.1.1:9093' - alertmanager_web_external_url: 'http://localhost:9093/alertmanager' + - "127.0.0.1:9093" + - "127.0.1.1:9093" + alertmanager_web_external_url: "http://localhost:9093/alertmanager" alertmanager_resolve_timeout: 10m alertmanager_slack_api_url: "http://example.com" alertmanager_receivers: - name: slack slack_configs: - send_resolved: true - api_url: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX' - channel: '#alerts' + api_url: "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX" + channel: "#alerts" alertmanager_route: - group_by: ['alertname', 'cluster', 'service'] + group_by: ["alertname", "cluster", "service"] group_wait: 30s group_interval: 5m repeat_interval: 3h @@ -36,5 +36,4 @@ provisioner: peers: - "127.0.0.1:6783" - "alertmanager.demo.do.prometheus.io:6783" - alertmanager_binary_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version\ - \ }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz" + alertmanager_binary_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz" diff --git a/roles/alertmanager/molecule/default/molecule.yml b/roles/alertmanager/molecule/default/molecule.yml index eeb81d063..d91f71af4 100644 --- a/roles/alertmanager/molecule/default/molecule.yml +++ b/roles/alertmanager/molecule/default/molecule.yml @@ -8,9 +8,9 @@ provisioner: - name: slack slack_configs: - send_resolved: true - channel: '#alerts' + channel: "#alerts" alertmanager_route: - group_by: ['alertname', 'cluster', 'service'] + group_by: ["alertname", "cluster", "service"] group_wait: 30s group_interval: 5m repeat_interval: 3h diff --git a/roles/alertmanager/molecule/latest/molecule.yml b/roles/alertmanager/molecule/latest/molecule.yml index bc35fecf9..21fc33d3a 100644 --- a/roles/alertmanager/molecule/latest/molecule.yml +++ b/roles/alertmanager/molecule/latest/molecule.yml @@ -9,9 +9,9 @@ provisioner: - name: slack slack_configs: - send_resolved: true - channel: '#alerts' + channel: "#alerts" alertmanager_route: - group_by: ['alertname', 'cluster', 'service'] + group_by: ["alertname", "cluster", "service"] group_wait: 30s group_interval: 5m repeat_interval: 3h diff --git a/roles/alertmanager/tasks/configure.yml b/roles/alertmanager/tasks/configure.yml index d34c222b0..795acbd3b 100644 --- a/roles/alertmanager/tasks/configure.yml +++ b/roles/alertmanager/tasks/configure.yml @@ -21,7 +21,7 @@ state: directory owner: "{{ alertmanager_system_user }}" group: "{{ alertmanager_system_group }}" - mode: 0755 + mode: "0755" loop: - "{{ alertmanager_config_dir }}/templates" - "{{ alertmanager_db_dir }}" @@ -39,7 +39,7 @@ dest: "{{ _alertmanager_amtool_config_dir }}/config.yml" owner: "{{ alertmanager_system_user }}" group: "{{ alertmanager_system_group }}" - mode: 0644 + mode: "0644" become: true tags: - alertmanager @@ -53,7 +53,7 @@ dest: "{{ alertmanager_config_dir }}/alertmanager.yml" owner: "{{ alertmanager_system_user }}" group: "{{ alertmanager_system_group }}" - mode: 0644 + mode: "0644" validate: "{{ alertmanager_binary_install_dir }}/amtool check-config %s" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" become: true @@ -71,7 +71,7 @@ force: true owner: "{{ alertmanager_system_user }}" group: "{{ alertmanager_system_group }}" - mode: 0644 + mode: "0644" with_fileglob: "{{ alertmanager_template_files }}" become: true notify: diff --git a/roles/alertmanager/tasks/main.yml b/roles/alertmanager/tasks/main.yml index dcee64acb..b8e43a273 100644 --- a/roles/alertmanager/tasks/main.yml +++ b/roles/alertmanager/tasks/main.yml @@ -22,7 +22,7 @@ _common_system_group: "{{ alertmanager_system_group }}" _common_system_user: "{{ alertmanager_system_user }}" _common_config_dir: "{{ alertmanager_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - alertmanager - install diff --git a/roles/alertmanager/tasks/preflight.yml b/roles/alertmanager/tasks/preflight.yml index 9b53f3ba4..10a231e04 100644 --- a/roles/alertmanager/tasks/preflight.yml +++ b/roles/alertmanager/tasks/preflight.yml @@ -19,8 +19,8 @@ - name: Discover latest version ansible.builtin.set_fact: - alertmanager_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _alertmanager_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + alertmanager_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _alertmanager_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: alertmanager_version is version('0.0.0', '>=') retries: 10 @@ -37,11 +37,8 @@ - name: Fail when extra config flags are duplicating ansible variables ansible.builtin.fail: msg: "Detected duplicate configuration entry. Please check your ansible variables and role README.md." - when: - (alertmanager_config_flags_extra['config.file'] is defined) or - (alertmanager_config_flags_extra['storage.path'] is defined) or - (alertmanager_config_flags_extra['web.listen-address'] is defined) or - (alertmanager_config_flags_extra['web.external-url'] is defined) + when: (alertmanager_config_flags_extra['config.file'] is defined) or (alertmanager_config_flags_extra['storage.path'] is defined) or (alertmanager_config_flags_extra['web.listen-address'] is + defined) or (alertmanager_config_flags_extra['web.external-url'] is defined) - name: Fail when there are no receivers defined ansible.builtin.fail: @@ -113,14 +110,12 @@ - name: "`alertmanager_child_routes` is no longer supported" ansible.builtin.fail: - msg: "Please move content of `alertmanager_child_routes` to `alertmanager_route.routes` as the former variable is deprecated - and will be removed in future versions." + msg: "Please move content of `alertmanager_child_routes` to `alertmanager_route.routes` as the former variable is deprecated and will be removed in future versions." when: alertmanager_child_routes is defined - name: "`alertmanager_time_intervals` is only supported on version 0.22.0. Please upgrade to this version." ansible.builtin.fail: - msg: "To use `alertmanager_time_intervals`, - Please upgrade to AlertManager 0.22.0 or newer." + msg: "To use `alertmanager_time_intervals`, Please upgrade to AlertManager 0.22.0 or newer." when: - alertmanager_version is version_compare('0.22.0', '<') - alertmanager_time_intervals is defined diff --git a/roles/alertmanager/vars/main.yml b/roles/alertmanager/vars/main.yml index dfef222a1..35b893e43 100644 --- a/roles/alertmanager/vars/main.yml +++ b/roles/alertmanager/vars/main.yml @@ -1,12 +1,8 @@ --- -_alertmanager_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_alertmanager_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" # The expected location of the amtool configuration file -_alertmanager_amtool_config_dir: '/etc/amtool' +_alertmanager_amtool_config_dir: "/etc/amtool" _alertmanager_repo: "prometheus/alertmanager" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" _alertmanager_binaries: diff --git a/roles/apache_exporter/defaults/main.yml b/roles/apache_exporter/defaults/main.yml index 883dda821..8bbdea7a9 100644 --- a/roles/apache_exporter/defaults/main.yml +++ b/roles/apache_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- apache_exporter_version: 1.1.1 -apache_exporter_binary_url: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/\ - apache_exporter-{{ apache_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _apache_exporter_go_ansible_arch }}.tar.gz" +apache_exporter_binary_url: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/apache_exporter-{{ apache_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _apache_exporter_go_ansible_arch }}.tar.gz" apache_exporter_checksums_url: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/sha256sums.txt" apache_exporter_web_listen_address: "0.0.0.0:9117" @@ -12,7 +12,6 @@ apache_exporter_timeout_offset: 1 apache_exporter_tls_server_config: {} apache_exporter_http_server_config: {} apache_exporter_basic_auth_users: {} - apache_exporter_log_level: "error" apache_exporter_binary_install_dir: "/usr/local/bin" diff --git a/roles/apache_exporter/meta/argument_specs.yml b/roles/apache_exporter/meta/argument_specs.yml index 0e866fc74..9a7f84d8e 100644 --- a/roles/apache_exporter/meta/argument_specs.yml +++ b/roles/apache_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.1.1" apache_exporter_binary_url: description: "URL of the apache_exporter binaries .tar.gz file" - default: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/apache_exporter_{{ apache_exporter_version }}_{{ ansible_facts['system'] | lower }}-{{ _apache_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/apache_exporter_{{ apache_exporter_version }}_{{ ansible_facts['system'] | lower }}-{{ _apache_exporter_go_ansible_arch + }}.tar.gz" apache_exporter_checksums_url: description: "URL of the apache_exporter checksums file" default: "https://github.com/{{ _apache_exporter_repo }}/releases/download/v{{ apache_exporter_version }}/apache_exporter_{{ apache_exporter_version }}_checksums.txt" diff --git a/roles/apache_exporter/tasks/main.yml b/roles/apache_exporter/tasks/main.yml index c03cfb1cc..30b9daa1c 100644 --- a/roles/apache_exporter/tasks/main.yml +++ b/roles/apache_exporter/tasks/main.yml @@ -24,7 +24,7 @@ _common_system_group: "{{ apache_exporter_system_group }}" _common_system_user: "{{ apache_exporter_system_user }}" _common_config_dir: "{{ apache_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - apache_exporter - install diff --git a/roles/apache_exporter/tasks/preflight.yml b/roles/apache_exporter/tasks/preflight.yml index b0d37aa6d..2a371df6e 100644 --- a/roles/apache_exporter/tasks/preflight.yml +++ b/roles/apache_exporter/tasks/preflight.yml @@ -39,8 +39,8 @@ - name: Discover latest version ansible.builtin.set_fact: - apache_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _apache_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + apache_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _apache_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | + replace('v', '') }}" run_once: true until: apache_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/apache_exporter/vars/main.yml b/roles/apache_exporter/vars/main.yml index 72c12627d..26a38f2f0 100644 --- a/roles/apache_exporter/vars/main.yml +++ b/roles/apache_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_apache_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_apache_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _apache_exporter_repo: "Lusitaniae/apache_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_apache_exporter_binaries: ['apache_exporter'] +_apache_exporter_binaries: ["apache_exporter"] diff --git a/roles/bind_exporter/defaults/main.yml b/roles/bind_exporter/defaults/main.yml index 2e98d4665..59fd46760 100644 --- a/roles/bind_exporter/defaults/main.yml +++ b/roles/bind_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- bind_exporter_version: 0.8.0 -bind_exporter_binary_url: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/\ - bind_exporter-{{ bind_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _bind_exporter_go_ansible_arch }}.tar.gz" +bind_exporter_binary_url: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/bind_exporter-{{ bind_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _bind_exporter_go_ansible_arch }}.tar.gz" bind_exporter_checksums_url: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/sha256sums.txt" bind_exporter_web_listen_address: "0.0.0.0:9119" @@ -12,11 +12,9 @@ bind_exporter_timeout: "10s" bind_exporter_pid_file: "/run/named/named.pid" bind_exporter_stats_version: "auto" bind_exporter_stats_groups: [] - bind_exporter_tls_server_config: {} bind_exporter_http_server_config: {} bind_exporter_basic_auth_users: {} - # Internal variables. bind_exporter_system_group: "bind-exp" bind_exporter_system_user: "{{ bind_exporter_system_group }}" diff --git a/roles/bind_exporter/meta/argument_specs.yml b/roles/bind_exporter/meta/argument_specs.yml index 6b631471b..5d36ba743 100644 --- a/roles/bind_exporter/meta/argument_specs.yml +++ b/roles/bind_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.8.0" bind_exporter_binary_url: description: "URL of the bind_exporter binaries .tar.gz file" - default: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/bind_exporter-{{ bind_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _bind_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/bind_exporter-{{ bind_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _bind_exporter_go_ansible_arch + }}.tar.gz" bind_exporter_checksums_url: description: "URL of the bind_exporter checksums file" default: "https://github.com/{{ _bind_exporter_repo }}/releases/download/v{{ bind_exporter_version }}/sha256sums.txt" diff --git a/roles/bind_exporter/molecule/alternative/molecule.yml b/roles/bind_exporter/molecule/alternative/molecule.yml index 73f940ba2..846210874 100644 --- a/roles/bind_exporter/molecule/alternative/molecule.yml +++ b/roles/bind_exporter/molecule/alternative/molecule.yml @@ -8,8 +8,8 @@ provisioner: bind_exporter_version: 0.7.0 bind_exporter_local_cache_path: "/tmp/bind_exporter-linux-amd64/{{ bind_exporter_version }}" bind_exporter_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" bind_exporter_stats_groups: - server - view @@ -20,6 +20,4 @@ provisioner: http2: true bind_exporter_basic_auth_users: randomuser: examplepassword - bind_exporter_binary_url: "https://github.com/prometheus-community/bind_exporter/releases/download/v{{\ - \ bind_exporter_version }}/bind_exporter-{{ bind_exporter_version\ - \ }}.linux-amd64.tar.gz" + bind_exporter_binary_url: "https://github.com/prometheus-community/bind_exporter/releases/download/v{{ bind_exporter_version }}/bind_exporter-{{ bind_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/bind_exporter/tasks/main.yml b/roles/bind_exporter/tasks/main.yml index 655ba4b35..5e2b1233b 100644 --- a/roles/bind_exporter/tasks/main.yml +++ b/roles/bind_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ bind_exporter_system_group }}" _common_system_user: "{{ bind_exporter_system_user }}" _common_config_dir: "{{ bind_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - bind_exporter_install @@ -34,7 +34,6 @@ tags: - bind_exporter_configure - - name: Configure ansible.builtin.include_role: name: prometheus.prometheus._common diff --git a/roles/bind_exporter/tasks/preflight.yml b/roles/bind_exporter/tasks/preflight.yml index 426948379..8794daf72 100644 --- a/roles/bind_exporter/tasks/preflight.yml +++ b/roles/bind_exporter/tasks/preflight.yml @@ -33,8 +33,8 @@ - name: Discover latest version ansible.builtin.set_fact: - bind_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _bind_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + bind_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _bind_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: bind_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/bind_exporter/vars/main.yml b/roles/bind_exporter/vars/main.yml index bb287a99a..03d69aa6b 100644 --- a/roles/bind_exporter/vars/main.yml +++ b/roles/bind_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_bind_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_bind_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _bind_exporter_repo: "prometheus-community/bind_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_bind_exporter_binaries: ['bind_exporter'] +_bind_exporter_binaries: ["bind_exporter"] diff --git a/roles/blackbox_exporter/defaults/main.yml b/roles/blackbox_exporter/defaults/main.yml index bd2f0b20b..0b56a20e4 100644 --- a/roles/blackbox_exporter/defaults/main.yml +++ b/roles/blackbox_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- blackbox_exporter_version: 0.28.0 -blackbox_exporter_binary_url: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/\ - blackbox_exporter-{{ blackbox_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}.tar.gz" +blackbox_exporter_binary_url: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/blackbox_exporter-{{ blackbox_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _blackbox_exporter_go_ansible_arch }}.tar.gz" blackbox_exporter_checksums_url: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/sha256sums.txt" blackbox_exporter_web_listen_address: "0.0.0.0:9115" @@ -72,7 +72,6 @@ blackbox_exporter_configuration_modules: blackbox_exporter_config_dir: /etc/blackbox_exporter # Local path to stash the archive and its extraction -blackbox_exporter_local_cache_path: "/tmp/blackbox_exporter-{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}/\ - {{ blackbox_exporter_version }}" +blackbox_exporter_local_cache_path: "/tmp/blackbox_exporter-{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}/{{ blackbox_exporter_version }}" blackbox_exporter_binary_install_dir: "/usr/local/bin" diff --git a/roles/blackbox_exporter/meta/argument_specs.yml b/roles/blackbox_exporter/meta/argument_specs.yml index 9c278a3e2..360ab97d4 100644 --- a/roles/blackbox_exporter/meta/argument_specs.yml +++ b/roles/blackbox_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.28.0" blackbox_exporter_binary_url: description: "URL of the blackbox_exporter binaries .tar.gz file" - default: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/blackbox_exporter-{{ blackbox_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/blackbox_exporter-{{ blackbox_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _blackbox_exporter_go_ansible_arch }}.tar.gz" blackbox_exporter_checksums_url: description: "URL of the blackbox exporter checksums file" default: "https://github.com/{{ _blackbox_exporter_repo }}/releases/download/v{{ blackbox_exporter_version }}/sha256sums.txt" @@ -48,5 +49,5 @@ argument_specs: description: "The group the exporter runs as" default: "blackbox-exp" blackbox_exporter_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/blackbox_exporter-{{ ansible_facts['system'] | lower }}-{{ _blackbox_exporter_go_ansible_arch }}/{{ blackbox_exporter_version }}" diff --git a/roles/blackbox_exporter/molecule/alternative/molecule.yml b/roles/blackbox_exporter/molecule/alternative/molecule.yml index 760056e8c..1db5390fc 100644 --- a/roles/blackbox_exporter/molecule/alternative/molecule.yml +++ b/roles/blackbox_exporter/molecule/alternative/molecule.yml @@ -4,8 +4,8 @@ provisioner: group_vars: all: blackbox_exporter_web_listen_address: - - '127.0.0.1:9000' - - '127.0.1.1:9000' + - "127.0.0.1:9000" + - "127.0.1.1:9000" blackbox_exporter_cli_flags: log.level: "warn" blackbox_exporter_configuration_modules: diff --git a/roles/blackbox_exporter/tasks/configure.yml b/roles/blackbox_exporter/tasks/configure.yml index 84c5da2d9..31e15e6f1 100644 --- a/roles/blackbox_exporter/tasks/configure.yml +++ b/roles/blackbox_exporter/tasks/configure.yml @@ -39,7 +39,7 @@ dest: "{{ blackbox_exporter_config_dir }}/blackbox_exporter.yml" owner: "{{ blackbox_exporter_system_user }}" group: "{{ blackbox_exporter_system_group }}" - mode: '0644' + mode: "0644" become: true notify: - reload blackbox_exporter diff --git a/roles/blackbox_exporter/tasks/main.yml b/roles/blackbox_exporter/tasks/main.yml index 47bcc23fb..477e584b1 100644 --- a/roles/blackbox_exporter/tasks/main.yml +++ b/roles/blackbox_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ blackbox_exporter_system_group }}" _common_system_user: "{{ blackbox_exporter_system_user }}" _common_config_dir: "{{ blackbox_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - blackbox_exporter_install diff --git a/roles/blackbox_exporter/tasks/preflight.yml b/roles/blackbox_exporter/tasks/preflight.yml index a2d068397..98a7e8339 100644 --- a/roles/blackbox_exporter/tasks/preflight.yml +++ b/roles/blackbox_exporter/tasks/preflight.yml @@ -20,8 +20,8 @@ - name: Discover latest version ansible.builtin.set_fact: - blackbox_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _blackbox_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + blackbox_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _blackbox_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: blackbox_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/blackbox_exporter/vars/main.yml b/roles/blackbox_exporter/vars/main.yml index b4bd5a431..0b1d890a1 100644 --- a/roles/blackbox_exporter/vars/main.yml +++ b/roles/blackbox_exporter/vars/main.yml @@ -1,13 +1,7 @@ --- -_blackbox_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_blackbox_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _blackbox_exporter_repo: "prometheus/blackbox_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_blackbox_exporter_binaries: ['blackbox_exporter'] -_blackbox_exporter_dependencies: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}\ - {{ (['python-apt', 'libcap2-bin'] if ansible_facts['python_version'] is version('3', '<') else ['python3-apt', 'libcap2-bin']) -}}\ - {% else %}\ - {% endif %}" +_blackbox_exporter_binaries: ["blackbox_exporter"] +_blackbox_exporter_dependencies: "{% if (ansible_facts['pkg_mgr'] == 'apt') %}{{ (['python-apt', 'libcap2-bin'] if ansible_facts['python_version'] is version('3', '<') else ['python3-apt', 'libcap2-bin']) + -}}{% else %}{% endif %}" diff --git a/roles/cadvisor/defaults/main.yml b/roles/cadvisor/defaults/main.yml index ae8052557..aabd7bdc1 100644 --- a/roles/cadvisor/defaults/main.yml +++ b/roles/cadvisor/defaults/main.yml @@ -1,7 +1,7 @@ --- cadvisor_version: 0.60.3 -cadvisor_binary_url: "https://github.com/{{ _cadvisor_repo }}/releases/download/v{{ cadvisor_version }}/\ - cadvisor-v{{ cadvisor_version }}-{{ ansible_facts['system'] | lower }}-{{ _cadvisor_go_ansible_arch }}" +cadvisor_binary_url: "https://github.com/{{ _cadvisor_repo }}/releases/download/v{{ cadvisor_version }}/cadvisor-v{{ cadvisor_version }}-{{ ansible_facts['system'] | lower }}-{{ _cadvisor_go_ansible_arch + }}" cadvisor_listen_ip: "0.0.0.0" cadvisor_port: "8080" diff --git a/roles/cadvisor/meta/argument_specs.yml b/roles/cadvisor/meta/argument_specs.yml index 18ce44822..1ef9ec37e 100644 --- a/roles/cadvisor/meta/argument_specs.yml +++ b/roles/cadvisor/meta/argument_specs.yml @@ -89,11 +89,11 @@ argument_specs: - "Directory to install binaries" default: "/usr/local/bin" cadvisor_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/cadvisor-{{ ansible_facts['system'] | lower }}-{{ _cadvisor_go_ansible_arch }}/{{ cadvisor_version }}" cadvisor_housekeeping_interval: - description: 'Interval between container housekeepings' - default: '10s' + description: "Interval between container housekeepings" + default: "10s" cadvisor_max_housekeeping_interval: - description: 'Largest interval to allow between container housekeepings' - default: '10s' + description: "Largest interval to allow between container housekeepings" + default: "10s" diff --git a/roles/cadvisor/molecule/alternative/molecule.yml b/roles/cadvisor/molecule/alternative/molecule.yml index d523c0ab5..80955aabc 100644 --- a/roles/cadvisor/molecule/alternative/molecule.yml +++ b/roles/cadvisor/molecule/alternative/molecule.yml @@ -13,7 +13,7 @@ provisioner: - network - cpu cadvisor_docker_only: true - whitelisted_container_labels: [ "com.docker.compose.image" ] - env_metadata_whitelist: [ "PATH" ] + whitelisted_container_labels: ["com.docker.compose.image"] + env_metadata_whitelist: ["PATH"] store_container_labels: false cadvisor_housekeeping_interval: 15s diff --git a/roles/cadvisor/tasks/preflight.yml b/roles/cadvisor/tasks/preflight.yml index f18996c43..4dd8f9f3c 100644 --- a/roles/cadvisor/tasks/preflight.yml +++ b/roles/cadvisor/tasks/preflight.yml @@ -6,8 +6,8 @@ - name: Discover latest version ansible.builtin.set_fact: - cadvisor_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _cadvisor_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + cadvisor_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _cadvisor_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: cadvisor_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/cadvisor/vars/main.yml b/roles/cadvisor/vars/main.yml index 52cbf0140..831ca4964 100644 --- a/roles/cadvisor/vars/main.yml +++ b/roles/cadvisor/vars/main.yml @@ -1,9 +1,5 @@ --- -_cadvisor_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_cadvisor_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _cadvisor_repo: "google/cadvisor" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_cadvisor_binaries: ['cadvisor'] +_cadvisor_binaries: ["cadvisor"] diff --git a/roles/chrony_exporter/defaults/main.yml b/roles/chrony_exporter/defaults/main.yml index e1708bf9a..bde538740 100644 --- a/roles/chrony_exporter/defaults/main.yml +++ b/roles/chrony_exporter/defaults/main.yml @@ -1,28 +1,23 @@ --- chrony_exporter_version: 0.13.3 -chrony_exporter_binary_url: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/\ - chrony_exporter-{{ chrony_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch }}.tar.gz" +chrony_exporter_binary_url: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/chrony_exporter-{{ chrony_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _chrony_exporter_go_ansible_arch }}.tar.gz" chrony_exporter_checksums_url: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/sha256sums.txt" chrony_exporter_web_listen_address: "0.0.0.0:9123" chrony_exporter_web_telemetry_path: "/metrics" chrony_exporter_tls_server_config: {} - chrony_exporter_http_server_config: {} - chrony_exporter_basic_auth_users: {} - chrony_exporter_enabled_collectors: [] # - tracking # - sources chrony_exporter_disabled_collectors: [] - chrony_exporter_system_user: "chrony-exp" chrony_exporter_system_group: "{{ chrony_exporter_system_user }}" - # Local path to stash the archive and its extraction chrony_exporter_local_cache_path: "/tmp/chrony_exporter-{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch }}/{{ chrony_exporter_version }}" diff --git a/roles/chrony_exporter/meta/argument_specs.yml b/roles/chrony_exporter/meta/argument_specs.yml index 647ea2011..1f77c7f94 100644 --- a/roles/chrony_exporter/meta/argument_specs.yml +++ b/roles/chrony_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.13.3" chrony_exporter_binary_url: description: "URL of the chrony_exporter binaries .tar.gz file" - default: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/chrony_exporter-{{ chrony_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/chrony_exporter-{{ chrony_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch + }}.tar.gz" chrony_exporter_checksums_url: description: "URL of the chrony_exporter checksums file" default: "https://github.com/{{ _chrony_exporter_repo }}/releases/download/v{{ chrony_exporter_version }}/sha256sums.txt" @@ -65,7 +66,7 @@ argument_specs: - "Directory to install binaries" default: "/usr/local/bin" chrony_exporter_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/chrony_exporter-{{ ansible_facts['system'] | lower }}-{{ _chrony_exporter_go_ansible_arch }}/{{ chrony_exporter_version }}" chrony_exporter_config_dir: description: "Path to directory with chrony_exporter configuration" diff --git a/roles/chrony_exporter/molecule/alternative/molecule.yml b/roles/chrony_exporter/molecule/alternative/molecule.yml index d0944c50a..f6cc01aaa 100644 --- a/roles/chrony_exporter/molecule/alternative/molecule.yml +++ b/roles/chrony_exporter/molecule/alternative/molecule.yml @@ -8,8 +8,8 @@ provisioner: chrony_exporter_version: 0.6.0 chrony_exporter_local_cache_path: "/tmp/chrony_exporter-linux-amd64/{{ chrony_exporter_version }}" chrony_exporter_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" chrony_exporter_enabled_collectors: - sources chrony_exporter_disabled_collectors: @@ -21,5 +21,4 @@ provisioner: http2: true chrony_exporter_basic_auth_users: randomuser: examplepassword - chrony_exporter_binary_url: "https://github.com/superq/chrony_exporter/releases/download/v{{ chrony_exporter_version\ - \ }}/chrony_exporter-{{ chrony_exporter_version }}.linux-amd64.tar.gz" + chrony_exporter_binary_url: "https://github.com/superq/chrony_exporter/releases/download/v{{ chrony_exporter_version }}/chrony_exporter-{{ chrony_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/chrony_exporter/tasks/main.yml b/roles/chrony_exporter/tasks/main.yml index 1bb4bfc6f..e20f4b7eb 100644 --- a/roles/chrony_exporter/tasks/main.yml +++ b/roles/chrony_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ chrony_exporter_system_group }}" _common_system_user: "{{ chrony_exporter_system_user }}" _common_config_dir: "{{ chrony_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - chrony_exporter_install diff --git a/roles/chrony_exporter/tasks/preflight.yml b/roles/chrony_exporter/tasks/preflight.yml index 146de536e..bfd5c8535 100644 --- a/roles/chrony_exporter/tasks/preflight.yml +++ b/roles/chrony_exporter/tasks/preflight.yml @@ -50,8 +50,8 @@ - name: Discover latest version ansible.builtin.set_fact: - chrony_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _chrony_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + chrony_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _chrony_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | + replace('v', '') }}" run_once: true until: chrony_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/chrony_exporter/vars/main.yml b/roles/chrony_exporter/vars/main.yml index eea0461ef..3b7e12eda 100644 --- a/roles/chrony_exporter/vars/main.yml +++ b/roles/chrony_exporter/vars/main.yml @@ -1,10 +1,6 @@ --- -_chrony_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_chrony_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _chrony_exporter_repo: "superq/chrony_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" chrony_exporter_binary_install_dir: "/usr/local/bin" -_chrony_exporter_binaries: ['chrony_exporter'] +_chrony_exporter_binaries: ["chrony_exporter"] diff --git a/roles/consul_exporter/defaults/main.yml b/roles/consul_exporter/defaults/main.yml index 736adfb9d..b2bd834f3 100644 --- a/roles/consul_exporter/defaults/main.yml +++ b/roles/consul_exporter/defaults/main.yml @@ -1,18 +1,15 @@ --- consul_exporter_version: 0.13.0 -consul_exporter_binary_url: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/\ - consul_exporter-{{ consul_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch }}.tar.gz" +consul_exporter_binary_url: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/consul_exporter-{{ consul_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _consul_exporter_go_ansible_arch }}.tar.gz" consul_exporter_checksums_url: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/sha256sums.txt" consul_exporter_web_listen_address: "0.0.0.0:9107" consul_exporter_web_telemetry_path: "/metrics" consul_exporter_tls_server_config: {} - consul_exporter_http_server_config: {} - consul_exporter_basic_auth_users: {} - consul_exporter_server: "http://localhost:8500" consul_exporter_timeout: "500ms" consul_exporter_request_limit: 0 @@ -30,7 +27,6 @@ consul_exporter_log_format: "logfmt" consul_exporter_system_user: "consul-exp" consul_exporter_system_group: "{{ consul_exporter_system_user }}" - # Local path to stash the archive and its extraction consul_exporter_local_cache_path: "/tmp/consul_exporter-{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch }}/{{ consul_exporter_version }}" diff --git a/roles/consul_exporter/meta/argument_specs.yml b/roles/consul_exporter/meta/argument_specs.yml index 98d63ac2d..1183384ca 100644 --- a/roles/consul_exporter/meta/argument_specs.yml +++ b/roles/consul_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.13.0" consul_exporter_binary_url: description: "URL of the consul_exporter binaries .tar.gz file" - default: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/consul_exporter-{{ consul_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/consul_exporter-{{ consul_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch + }}.tar.gz" consul_exporter_checksums_url: description: "URL of the consul_exporter checksums file" default: "https://github.com/{{ _consul_exporter_repo }}/releases/download/v{{ consul_exporter_version }}/sha256sums.txt" @@ -99,7 +100,7 @@ argument_specs: - "Directory to install binaries" default: "/usr/local/bin" consul_exporter_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/consul_exporter-{{ ansible_facts['system'] | lower }}-{{ _consul_exporter_go_ansible_arch }}/{{ consul_exporter_version }}" consul_exporter_config_dir: description: "Path to directory with consul_exporter configuration" diff --git a/roles/consul_exporter/molecule/alternative/molecule.yml b/roles/consul_exporter/molecule/alternative/molecule.yml index 08a9a3c52..4d0ad0007 100644 --- a/roles/consul_exporter/molecule/alternative/molecule.yml +++ b/roles/consul_exporter/molecule/alternative/molecule.yml @@ -7,7 +7,7 @@ provisioner: all: consul_exporter_version: 0.13.0 consul_exporter_local_cache_path: "/tmp/consul_exporter-linux-amd64/{{ consul_exporter_version }}" - consul_exporter_web_listen_address: '127.0.1.1:8080' + consul_exporter_web_listen_address: "127.0.1.1:8080" consul_exporter_tls_server_config: cert_file: /etc/consul_exporter/tls.cert key_file: /etc/consul_exporter/tls.key @@ -15,5 +15,4 @@ provisioner: http2: true consul_exporter_basic_auth_users: randomuser: examplepassword - consul_exporter_binary_url: "https://github.com/prometheus/consul_exporter/releases/download/v{{ consul_exporter_version\ - \ }}/consul_exporter-{{ consul_exporter_version }}.linux-amd64.tar.gz" + consul_exporter_binary_url: "https://github.com/prometheus/consul_exporter/releases/download/v{{ consul_exporter_version }}/consul_exporter-{{ consul_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/consul_exporter/tasks/main.yml b/roles/consul_exporter/tasks/main.yml index 5c3284231..1aa5bc7c8 100644 --- a/roles/consul_exporter/tasks/main.yml +++ b/roles/consul_exporter/tasks/main.yml @@ -24,7 +24,7 @@ _common_system_group: "{{ consul_exporter_system_group }}" _common_system_user: "{{ consul_exporter_system_user }}" _common_config_dir: "{{ consul_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - consul_exporter - install diff --git a/roles/consul_exporter/tasks/preflight.yml b/roles/consul_exporter/tasks/preflight.yml index 0d19ce85f..06dc76604 100644 --- a/roles/consul_exporter/tasks/preflight.yml +++ b/roles/consul_exporter/tasks/preflight.yml @@ -41,8 +41,8 @@ - name: Discover latest version ansible.builtin.set_fact: - consul_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _consul_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + consul_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _consul_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | + replace('v', '') }}" run_once: true until: consul_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/consul_exporter/vars/main.yml b/roles/consul_exporter/vars/main.yml index f7ff6abb2..527488f75 100644 --- a/roles/consul_exporter/vars/main.yml +++ b/roles/consul_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_consul_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_consul_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _consul_exporter_repo: "prometheus/consul_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_consul_exporter_binaries: ['consul_exporter'] +_consul_exporter_binaries: ["consul_exporter"] diff --git a/roles/fail2ban_exporter/defaults/main.yml b/roles/fail2ban_exporter/defaults/main.yml index 4fc901010..99682c810 100644 --- a/roles/fail2ban_exporter/defaults/main.yml +++ b/roles/fail2ban_exporter/defaults/main.yml @@ -1,9 +1,8 @@ --- fail2ban_exporter_version: 0.10.3 -fail2ban_exporter_binary_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/\ - fail2ban_exporter_{{ fail2ban_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _fail2ban_exporter_go_ansible_arch }}.tar.gz" -fail2ban_exporter_checksums_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/\ - fail2ban_exporter_{{ fail2ban_exporter_version }}_checksums.txt" +fail2ban_exporter_binary_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/fail2ban_exporter_{{ fail2ban_exporter_version }}_{{ ansible_facts['system'] + | lower }}_{{ _fail2ban_exporter_go_ansible_arch }}.tar.gz" +fail2ban_exporter_checksums_url: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/fail2ban_exporter_{{ fail2ban_exporter_version }}_checksums.txt" fail2ban_exporter_web_listen_address: "0.0.0.0:9191" fail2ban_exporter_socket: "/var/run/fail2ban/fail2ban.sock" @@ -15,5 +14,4 @@ fail2ban_exporter_system_user: "root" fail2ban_exporter_system_group: "{{ fail2ban_exporter_system_user }}" # Local path to stash the archive and its extraction -fail2ban_exporter_local_cache_path: "/tmp/fail2ban_exporter-{{ ansible_facts['system'] | lower }}-{{ _fail2ban_exporter_go_ansible_arch }}/\ - {{ fail2ban_exporter_version }}" +fail2ban_exporter_local_cache_path: "/tmp/fail2ban_exporter-{{ ansible_facts['system'] | lower }}-{{ _fail2ban_exporter_go_ansible_arch }}/{{ fail2ban_exporter_version }}" diff --git a/roles/fail2ban_exporter/meta/argument_specs.yml b/roles/fail2ban_exporter/meta/argument_specs.yml index f1f99f0c3..579eecb1b 100644 --- a/roles/fail2ban_exporter/meta/argument_specs.yml +++ b/roles/fail2ban_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.10.3" fail2ban_exporter_binary_url: description: "URL of the fail2ban_exporter binaries .tar.gz file" - default: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/fail2ban_exporter_{{ fail2ban_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _fail2ban_exporter_go_ansible_arch }}.tar.gz" + default: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/fail2ban_exporter_{{ fail2ban_exporter_version }}_{{ ansible_facts['system'] + | lower }}_{{ _fail2ban_exporter_go_ansible_arch }}.tar.gz" fail2ban_exporter_checksums_url: description: "URL of the fail2ban_exporter checksums file" default: "https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/releases/v{{ fail2ban_exporter_version }}/downloads/fail2ban_exporter_{{ fail2ban_exporter_version }}_checksums.txt" @@ -38,7 +39,7 @@ argument_specs: - "I(Advanced)" - "Password to use to protect endpoints with basic auth" fail2ban_exporter_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/fail2ban_exporter-{{ ansible_facts['system'] | lower }}-{{ _fail2ban_exporter_go_ansible_arch }}/{{ fail2ban_exporter_version }}" fail2ban_exporter_system_user: description: diff --git a/roles/fail2ban_exporter/tasks/preflight.yml b/roles/fail2ban_exporter/tasks/preflight.yml index 35e8f68cc..7e9bed412 100644 --- a/roles/fail2ban_exporter/tasks/preflight.yml +++ b/roles/fail2ban_exporter/tasks/preflight.yml @@ -14,8 +14,7 @@ - name: Discover latest version ansible.builtin.set_fact: - fail2ban_exporter_version: "{{ (lookup('url', 'https://gitlab.com/api/v4/projects/{{ _fail2ban_exporter_repo }}/releases', - split_lines=False) | from_json)[0].get('tag_name') | replace('v', '') }}" + fail2ban_exporter_version: "{{ (lookup('url', 'https://gitlab.com/api/v4/projects/{{ _fail2ban_exporter_repo }}/releases', split_lines=False) | from_json)[0].get('tag_name') | replace('v', '') }}" run_once: true until: fail2ban_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/fail2ban_exporter/vars/main.yml b/roles/fail2ban_exporter/vars/main.yml index 565a6b357..fa0a979b0 100644 --- a/roles/fail2ban_exporter/vars/main.yml +++ b/roles/fail2ban_exporter/vars/main.yml @@ -1,8 +1,4 @@ --- -_fail2ban_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_fail2ban_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _fail2ban_exporter_repo: 24199687 -_fail2ban_exporter_binaries: ['fail2ban_exporter'] +_fail2ban_exporter_binaries: ["fail2ban_exporter"] diff --git a/roles/influxdb_exporter/defaults/main.yml b/roles/influxdb_exporter/defaults/main.yml index 87f1fa33f..180e65ce7 100644 --- a/roles/influxdb_exporter/defaults/main.yml +++ b/roles/influxdb_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- influxdb_exporter_version: 0.12.1 -influxdb_exporter_binary_url: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/\ - influxdb_exporter-{{ influxdb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _influxdb_exporter_go_ansible_arch }}.tar.gz" +influxdb_exporter_binary_url: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/influxdb_exporter-{{ influxdb_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _influxdb_exporter_go_ansible_arch }}.tar.gz" influxdb_exporter_checksums_url: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/sha256sums.txt" influxdb_exporter_web_listen_address: "0.0.0.0:9122" diff --git a/roles/influxdb_exporter/meta/argument_specs.yml b/roles/influxdb_exporter/meta/argument_specs.yml index 76c13786a..c774d2b8b 100644 --- a/roles/influxdb_exporter/meta/argument_specs.yml +++ b/roles/influxdb_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.12.1" influxdb_exporter_binary_url: description: "URL of the influxdb exporter binaries .tar.gz file" - default: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/influxdb_exporter-{{ influxdb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _influxdb_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/influxdb_exporter-{{ influxdb_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _influxdb_exporter_go_ansible_arch }}.tar.gz" influxdb_exporter_checksums_url: description: "URL of the influxdb exporter checksums file" default: "https://github.com/{{ _influxdb_exporter_repo }}/releases/download/v{{ influxdb_exporter_version }}/sha256sums.txt" @@ -59,7 +60,7 @@ argument_specs: - "influxdb exporter user" default: "influxdb-exp" influxdb_exporter_local_cache_path: - description: 'Local path to stash the archive and its extraction' + description: "Local path to stash the archive and its extraction" default: "/tmp/influxdb_exporter-{{ ansible_facts['system'] | lower }}-{{ _influxdb_exporter_go_ansible_arch }}/{{ influxdb_exporter_version }}" influxdb_exporter_config_dir: description: "Path to directory with influxdb_exporter configuration" diff --git a/roles/influxdb_exporter/molecule/alternative/molecule.yml b/roles/influxdb_exporter/molecule/alternative/molecule.yml index 890224131..68204e861 100644 --- a/roles/influxdb_exporter/molecule/alternative/molecule.yml +++ b/roles/influxdb_exporter/molecule/alternative/molecule.yml @@ -5,6 +5,6 @@ provisioner: inventory: group_vars: all: - influxdb_exporter_web_listen_address: '127.0.0.1:8080' + influxdb_exporter_web_listen_address: "127.0.0.1:8080" influxdb_exporter_version: 0.11.2 diff --git a/roles/influxdb_exporter/tasks/main.yml b/roles/influxdb_exporter/tasks/main.yml index 24b909b1d..1d84e1a9b 100644 --- a/roles/influxdb_exporter/tasks/main.yml +++ b/roles/influxdb_exporter/tasks/main.yml @@ -24,7 +24,7 @@ _common_system_group: "{{ influxdb_exporter_system_group }}" _common_system_user: "{{ influxdb_exporter_system_user }}" _common_config_dir: "{{ influxdb_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - influxdb_exporter - install diff --git a/roles/influxdb_exporter/tasks/preflight.yml b/roles/influxdb_exporter/tasks/preflight.yml index 9ae864b52..2054541a3 100644 --- a/roles/influxdb_exporter/tasks/preflight.yml +++ b/roles/influxdb_exporter/tasks/preflight.yml @@ -22,8 +22,8 @@ - name: Discover latest version ansible.builtin.set_fact: - influxdb_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _influxdb_exporter_repo }}/releases/latest', headers=_influxdb_exporter_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + influxdb_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _influxdb_exporter_repo }}/releases/latest', headers=_influxdb_exporter_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: influxdb_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/influxdb_exporter/vars/main.yml b/roles/influxdb_exporter/vars/main.yml index 6da1a81e3..1feca6adf 100644 --- a/roles/influxdb_exporter/vars/main.yml +++ b/roles/influxdb_exporter/vars/main.yml @@ -1,10 +1,6 @@ --- -_influxdb_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_influxdb_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _influxdb_exporter_repo: "prometheus/influxdb_exporter" _influxdb_exporter_github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_influxdb_exporter_binaries: ['influxdb_exporter'] +_influxdb_exporter_binaries: ["influxdb_exporter"] diff --git a/roles/ipmi_exporter/defaults/main.yml b/roles/ipmi_exporter/defaults/main.yml index 6c550381b..346ee5981 100644 --- a/roles/ipmi_exporter/defaults/main.yml +++ b/roles/ipmi_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- ipmi_exporter_version: 1.10.1 -ipmi_exporter_binary_url: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/\ - ipmi_exporter-{{ ipmi_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _ipmi_exporter_go_ansible_arch }}.tar.gz" +ipmi_exporter_binary_url: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/ipmi_exporter-{{ ipmi_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _ipmi_exporter_go_ansible_arch }}.tar.gz" ipmi_exporter_checksums_url: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/sha256sums.txt" ipmi_exporter_modules: @@ -18,7 +18,6 @@ ipmi_exporter_web_listen_address: "0.0.0.0:9290" ipmi_exporter_tls_server_config: {} ipmi_exporter_http_server_config: {} ipmi_exporter_basic_auth_users: {} - ipmi_exporter_log_level: "info" ipmi_exporter_log_format: "logfmt" diff --git a/roles/ipmi_exporter/meta/argument_specs.yml b/roles/ipmi_exporter/meta/argument_specs.yml index 275dd26cb..275d48edc 100644 --- a/roles/ipmi_exporter/meta/argument_specs.yml +++ b/roles/ipmi_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.10.1" ipmi_exporter_binary_url: description: "URL of the ipmi_exporter binaries .tar.gz file" - default: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/ipmi_exporter-{{ ipmi_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _ipmi_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/ipmi_exporter-{{ ipmi_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _ipmi_exporter_go_ansible_arch + }}.tar.gz" ipmi_exporter_checksums_url: description: "URL of the ipmi_exporter checksums file" default: "https://github.com/{{ _ipmi_exporter_repo }}/releases/download/v{{ ipmi_exporter_version }}/sha256sums.txt" diff --git a/roles/ipmi_exporter/molecule/alternative/molecule.yml b/roles/ipmi_exporter/molecule/alternative/molecule.yml index f35e70951..08095dc42 100644 --- a/roles/ipmi_exporter/molecule/alternative/molecule.yml +++ b/roles/ipmi_exporter/molecule/alternative/molecule.yml @@ -15,5 +15,4 @@ provisioner: ipmi_exporter_basic_auth_users: randomuser: examplepassword ipmi_exporter_version: 1.6.1 - ipmi_exporter_binary_url: "https://github.com/prometheus-community/ipmi_exporter/releases/download/v{{\ - \ ipmi_exporter_version }}/ipmi_exporter-{{ ipmi_exporter_version }}.linux-amd64.tar.gz" + ipmi_exporter_binary_url: "https://github.com/prometheus-community/ipmi_exporter/releases/download/v{{ ipmi_exporter_version }}/ipmi_exporter-{{ ipmi_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/ipmi_exporter/tasks/configure.yml b/roles/ipmi_exporter/tasks/configure.yml index 25cc671ed..1e82336ab 100644 --- a/roles/ipmi_exporter/tasks/configure.yml +++ b/roles/ipmi_exporter/tasks/configure.yml @@ -21,7 +21,7 @@ dest: /etc/ipmi_exporter/config.yaml owner: "{{ ipmi_exporter_system_user }}" group: "{{ ipmi_exporter_system_group }}" - mode: 0640 + mode: "0640" become: true no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" notify: diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml index 37316fee4..138387512 100644 --- a/roles/ipmi_exporter/tasks/main.yml +++ b/roles/ipmi_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ ipmi_exporter_system_group }}" _common_system_user: "{{ ipmi_exporter_system_user }}" _common_config_dir: "{{ ipmi_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - ipmi_exporter_install diff --git a/roles/ipmi_exporter/tasks/preflight.yml b/roles/ipmi_exporter/tasks/preflight.yml index beb437a7a..96748fd5d 100644 --- a/roles/ipmi_exporter/tasks/preflight.yml +++ b/roles/ipmi_exporter/tasks/preflight.yml @@ -40,8 +40,8 @@ - name: Discover latest version ansible.builtin.set_fact: - ipmi_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _ipmi_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + ipmi_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _ipmi_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: ipmi_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/ipmi_exporter/vars/main.yml b/roles/ipmi_exporter/vars/main.yml index 684bbf8dd..a6693d942 100644 --- a/roles/ipmi_exporter/vars/main.yml +++ b/roles/ipmi_exporter/vars/main.yml @@ -1,12 +1,6 @@ --- -_ipmi_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_ipmi_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _ipmi_exporter_repo: "prometheus-community/ipmi_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_ipmi_exporter_binaries: ['ipmi_exporter'] -_ipmi_exporter_dependencies: "{{ (ansible_facts['pkg_mgr'] == 'apt') - | ternary((['python-apt'] if ansible_facts['python_version'] is version('3', '<') else ['python3-apt']), - []) + ['freeipmi'] }}" +_ipmi_exporter_binaries: ["ipmi_exporter"] +_ipmi_exporter_dependencies: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary((['python-apt'] if ansible_facts['python_version'] is version('3', '<') else ['python3-apt']), []) + ['freeipmi'] }}" diff --git a/roles/memcached_exporter/defaults/main.yml b/roles/memcached_exporter/defaults/main.yml index 8b863e3f0..93a8a09b7 100644 --- a/roles/memcached_exporter/defaults/main.yml +++ b/roles/memcached_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- memcached_exporter_version: 0.16.0 -memcached_exporter_binary_url: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/\ - memcached_exporter-{{ memcached_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}.tar.gz" +memcached_exporter_binary_url: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/memcached_exporter-{{ memcached_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _memcached_exporter_go_ansible_arch }}.tar.gz" memcached_exporter_checksums_url: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/sha256sums.txt" memcached_exporter_memcached_pid_file: "" @@ -14,7 +14,6 @@ memcached_exporter_web_telemetry_path: "/metrics" memcached_exporter_tls_server_config: {} memcached_exporter_http_server_config: {} memcached_exporter_basic_auth_users: {} - memcached_exporter_log_level: "info" memcached_exporter_log_format: "logfmt" @@ -23,6 +22,5 @@ memcached_exporter_system_user: "memcached-exp" memcached_exporter_system_group: "{{ memcached_exporter_system_user }}" # Local path to stash the archive and its extraction -memcached_exporter_local_cache_path: "/tmp/memcached_exporter-{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}/\ - {{ memcached_exporter_version }}" +memcached_exporter_local_cache_path: "/tmp/memcached_exporter-{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}/{{ memcached_exporter_version }}" memcached_exporter_config_dir: "/etc/memcached_exporter" diff --git a/roles/memcached_exporter/meta/argument_specs.yml b/roles/memcached_exporter/meta/argument_specs.yml index 495ebd155..8fb1d880e 100644 --- a/roles/memcached_exporter/meta/argument_specs.yml +++ b/roles/memcached_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.16.0" memcached_exporter_binary_url: description: "URL of the memcached_exporter binaries .tar.gz file" - default: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/memcached_exporter-{{ memcached_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _memcached_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/memcached_exporter-{{ memcached_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _memcached_exporter_go_ansible_arch }}.tar.gz" memcached_exporter_checksums_url: description: "URL of the memcached_exporter checksums file" default: "https://github.com/{{ _memcached_exporter_repo }}/releases/download/v{{ memcached_exporter_version }}/sha256sums.txt" diff --git a/roles/memcached_exporter/molecule/alternative/molecule.yml b/roles/memcached_exporter/molecule/alternative/molecule.yml index 62ed9c28a..e890472ac 100644 --- a/roles/memcached_exporter/molecule/alternative/molecule.yml +++ b/roles/memcached_exporter/molecule/alternative/molecule.yml @@ -15,5 +15,4 @@ provisioner: memcached_exporter_basic_auth_users: randomuser: examplepassword memcached_exporter_version: 0.12.0 - memcached_exporter_binary_url: "https://github.com/prometheus/memcached_exporter/releases/download/v{{\ - \ memcached_exporter_version }}/memcached_exporter-{{ memcached_exporter_version }}.linux-amd64.tar.gz" + memcached_exporter_binary_url: "https://github.com/prometheus/memcached_exporter/releases/download/v{{ memcached_exporter_version }}/memcached_exporter-{{ memcached_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/memcached_exporter/tasks/main.yml b/roles/memcached_exporter/tasks/main.yml index cffed6dd5..c7bd44e90 100644 --- a/roles/memcached_exporter/tasks/main.yml +++ b/roles/memcached_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ memcached_exporter_system_group }}" _common_system_user: "{{ memcached_exporter_system_user }}" _common_config_dir: "{{ memcached_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - memcached_exporter_install diff --git a/roles/memcached_exporter/tasks/preflight.yml b/roles/memcached_exporter/tasks/preflight.yml index cbe004bc1..e1bfc2b02 100644 --- a/roles/memcached_exporter/tasks/preflight.yml +++ b/roles/memcached_exporter/tasks/preflight.yml @@ -39,8 +39,8 @@ - name: Discover latest version ansible.builtin.set_fact: - memcached_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _memcached_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + memcached_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _memcached_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: memcached_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/memcached_exporter/vars/main.yml b/roles/memcached_exporter/vars/main.yml index 6aef59be2..bee9f38ed 100644 --- a/roles/memcached_exporter/vars/main.yml +++ b/roles/memcached_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_memcached_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_memcached_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _memcached_exporter_repo: "prometheus/memcached_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_memcached_exporter_binaries: ['memcached_exporter'] +_memcached_exporter_binaries: ["memcached_exporter"] diff --git a/roles/mongodb_exporter/defaults/main.yml b/roles/mongodb_exporter/defaults/main.yml index fca187d0a..00af4bf03 100644 --- a/roles/mongodb_exporter/defaults/main.yml +++ b/roles/mongodb_exporter/defaults/main.yml @@ -1,9 +1,8 @@ --- mongodb_exporter_version: 0.51.0 -mongodb_exporter_binary_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/\ - mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mongodb_exporter_go_ansible_arch }}.tar.gz" -mongodb_exporter_checksums_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/\ - mongodb_exporter_{{ mongodb_exporter_version }}_checksums.txt" +mongodb_exporter_binary_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _mongodb_exporter_go_ansible_arch }}.tar.gz" +mongodb_exporter_checksums_url: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter_{{ mongodb_exporter_version }}_checksums.txt" mongodb_exporter_web_listen_address: "0.0.0.0:9216" mongodb_exporter_web_telemetry_path: "/metrics" @@ -25,7 +24,6 @@ mongodb_exporter_metrics_overridedescendingindex: false mongodb_exporter_tls_server_config: {} mongodb_exporter_http_server_config: {} mongodb_exporter_basic_auth_users: {} - mongodb_exporter_log_level: "error" mongodb_exporter_binary_install_dir: "/usr/local/bin" diff --git a/roles/mongodb_exporter/meta/argument_specs.yml b/roles/mongodb_exporter/meta/argument_specs.yml index 305294581..cc9a4d161 100644 --- a/roles/mongodb_exporter/meta/argument_specs.yml +++ b/roles/mongodb_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.51.0" mongodb_exporter_binary_url: description: "URL of the mongodb_exporter binaries .tar.gz file" - default: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mongodb_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _mongodb_exporter_go_ansible_arch }}.tar.gz" mongodb_exporter_checksums_url: description: "URL of the mongodb_exporter checksums file" default: "https://github.com/{{ _mongodb_exporter_repo }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter_{{ mongodb_exporter_version }}_checksums.txt" diff --git a/roles/mongodb_exporter/molecule/alternative/molecule.yml b/roles/mongodb_exporter/molecule/alternative/molecule.yml index 95ed1ed2e..dcbd10e88 100644 --- a/roles/mongodb_exporter/molecule/alternative/molecule.yml +++ b/roles/mongodb_exporter/molecule/alternative/molecule.yml @@ -15,5 +15,4 @@ provisioner: mongodb_exporter_basic_auth_users: randomuser: examplepassword mongodb_exporter_version: 0.40.0 - mongodb_exporter_binary_url: "https://github.com/percona/mongodb_exporter/releases/download/v{{ mongodb_exporter_version }}/\ - mongodb_exporter-{{ mongodb_exporter_version }}.linux-amd64.tar.gz" + mongodb_exporter_binary_url: "https://github.com/percona/mongodb_exporter/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/mongodb_exporter/tasks/main.yml b/roles/mongodb_exporter/tasks/main.yml index 01f2d2415..31a2e1168 100644 --- a/roles/mongodb_exporter/tasks/main.yml +++ b/roles/mongodb_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ mongodb_exporter_system_group }}" _common_system_user: "{{ mongodb_exporter_system_user }}" _common_config_dir: "{{ mongodb_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - mongodb_exporter_install diff --git a/roles/mongodb_exporter/tasks/preflight.yml b/roles/mongodb_exporter/tasks/preflight.yml index 5fe930fc9..c8a0ec512 100644 --- a/roles/mongodb_exporter/tasks/preflight.yml +++ b/roles/mongodb_exporter/tasks/preflight.yml @@ -39,8 +39,8 @@ - name: Discover latest version ansible.builtin.set_fact: - mongodb_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _mongodb_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + mongodb_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _mongodb_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: mongodb_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/mongodb_exporter/vars/main.yml b/roles/mongodb_exporter/vars/main.yml index 8e996068b..9c8ac5a69 100644 --- a/roles/mongodb_exporter/vars/main.yml +++ b/roles/mongodb_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_mongodb_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_mongodb_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _mongodb_exporter_repo: "percona/mongodb_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_mongodb_exporter_binaries: ['mongodb_exporter'] +_mongodb_exporter_binaries: ["mongodb_exporter"] diff --git a/roles/mysqld_exporter/defaults/main.yml b/roles/mysqld_exporter/defaults/main.yml index 6d1aca6aa..43e03b649 100644 --- a/roles/mysqld_exporter/defaults/main.yml +++ b/roles/mysqld_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- mysqld_exporter_version: 0.19.0 -mysqld_exporter_binary_url: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/\ - mysqld_exporter-{{ mysqld_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mysqld_exporter_go_ansible_arch }}.tar.gz" +mysqld_exporter_binary_url: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _mysqld_exporter_go_ansible_arch }}.tar.gz" mysqld_exporter_checksums_url: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/sha256sums.txt" mysqld_exporter_web_listen_address: "0.0.0.0:9104" @@ -11,22 +11,18 @@ mysqld_exporter_username: exporter mysqld_exporter_password: secret mysqld_exporter_config_file: "mysqld_exporter.cnf" -mysqld_exporter_host: null -mysqld_exporter_port: null +mysqld_exporter_host: +mysqld_exporter_port: mysqld_exporter_socket: "/run/mysqld/mysqld.sock" mysqld_exporter_tls_server_config: {} - mysqld_exporter_http_server_config: {} - mysqld_exporter_basic_auth_users: {} - mysqld_exporter_enabled_collectors: [] # - engine_innodb_status # - perf_schema.eventsstatements mysqld_exporter_disabled_collectors: [] - # Internal variables. mysqld_exporter_binary_install_dir: "/usr/local/bin" mysqld_exporter_config_dir: "/etc/mysqld_exporter" diff --git a/roles/mysqld_exporter/meta/argument_specs.yml b/roles/mysqld_exporter/meta/argument_specs.yml index ebf7df08a..ac5ad2478 100644 --- a/roles/mysqld_exporter/meta/argument_specs.yml +++ b/roles/mysqld_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.19.0" mysqld_exporter_binary_url: description: "URL of the mysqld_exporter binaries .tar.gz file" - default: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mysqld_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _mysqld_exporter_go_ansible_arch + }}.tar.gz" mysqld_exporter_checksums_url: description: "URL of the mysqld_exporter checksums file" default: "https://github.com/{{ _mysqld_exporter_repo }}/releases/download/v{{ mysqld_exporter_version }}/sha256sums.txt" diff --git a/roles/mysqld_exporter/molecule/alternative/molecule.yml b/roles/mysqld_exporter/molecule/alternative/molecule.yml index b81456cb5..342c6d852 100644 --- a/roles/mysqld_exporter/molecule/alternative/molecule.yml +++ b/roles/mysqld_exporter/molecule/alternative/molecule.yml @@ -7,8 +7,8 @@ provisioner: all: mysqld_exporter_local_cache_path: "/tmp/mysqld_exporter-linux-amd64" mysqld_exporter_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" mysqld_exporter_enabled_collectors: - slave_hosts mysqld_exporter_disabled_collectors: @@ -21,6 +21,4 @@ provisioner: mysqld_exporter_basic_auth_users: randomuser: examplepassword mysqld_exporter_version: 0.15.0 - mysqld_exporter_binary_url: "https://github.com/prometheus/mysqld_exporter/releases/download/v{{\ - \ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version\ - \ }}.linux-amd64.tar.gz" + mysqld_exporter_binary_url: "https://github.com/prometheus/mysqld_exporter/releases/download/v{{ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/mysqld_exporter/tasks/configure.yml b/roles/mysqld_exporter/tasks/configure.yml index ba7c92282..2e91406ad 100644 --- a/roles/mysqld_exporter/tasks/configure.yml +++ b/roles/mysqld_exporter/tasks/configure.yml @@ -20,8 +20,8 @@ src: my_cnf.j2 dest: "{{ mysqld_exporter_config_dir }}/{{ mysqld_exporter_config_file }}" owner: root - group: '{{ mysqld_exporter_system_group }}' - mode: '0640' + group: "{{ mysqld_exporter_system_group }}" + mode: "0640" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" become: true notify: restart mysqld_exporter diff --git a/roles/mysqld_exporter/tasks/main.yml b/roles/mysqld_exporter/tasks/main.yml index 3ddf42962..7903ae1a1 100644 --- a/roles/mysqld_exporter/tasks/main.yml +++ b/roles/mysqld_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ mysqld_exporter_system_group }}" _common_system_user: "{{ mysqld_exporter_system_user }}" _common_config_dir: "{{ mysqld_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - mysqld_exporter_install diff --git a/roles/mysqld_exporter/tasks/preflight.yml b/roles/mysqld_exporter/tasks/preflight.yml index 547140d2c..904508c54 100644 --- a/roles/mysqld_exporter/tasks/preflight.yml +++ b/roles/mysqld_exporter/tasks/preflight.yml @@ -50,8 +50,8 @@ - name: Discover latest version ansible.builtin.set_fact: - mysqld_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _mysqld_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + mysqld_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _mysqld_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | + replace('v', '') }}" run_once: true until: mysqld_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/mysqld_exporter/vars/main.yml b/roles/mysqld_exporter/vars/main.yml index 9f003eb83..57f836c22 100644 --- a/roles/mysqld_exporter/vars/main.yml +++ b/roles/mysqld_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_mysqld_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_mysqld_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _mysqld_exporter_repo: "prometheus/mysqld_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_mysqld_exporter_binaries: ['mysqld_exporter'] +_mysqld_exporter_binaries: ["mysqld_exporter"] diff --git a/roles/nginx_exporter/defaults/main.yml b/roles/nginx_exporter/defaults/main.yml index 105917a3a..a359ae977 100644 --- a/roles/nginx_exporter/defaults/main.yml +++ b/roles/nginx_exporter/defaults/main.yml @@ -1,20 +1,16 @@ --- nginx_exporter_version: 1.4.1 -nginx_exporter_binary_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/\ - nginx-prometheus-exporter_{{ nginx_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nginx_exporter_go_ansible_arch }}.tar.gz" -nginx_exporter_checksums_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/\ - nginx-prometheus-exporter_{{ nginx_exporter_version }}_checksums.txt" +nginx_exporter_binary_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/nginx-prometheus-exporter_{{ nginx_exporter_version }}_{{ ansible_facts['system'] + | lower }}_{{ _nginx_exporter_go_ansible_arch }}.tar.gz" +nginx_exporter_checksums_url: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/nginx-prometheus-exporter_{{ nginx_exporter_version }}_checksums.txt" nginx_exporter_plus: false nginx_exporter_scrape_uri: "http://127.0.0.1/stub_status" nginx_exporter_web_listen_address: "0.0.0.0:9113" nginx_exporter_web_telemetry_path: "/metrics" nginx_exporter_tls_server_config: {} - nginx_exporter_http_server_config: {} - nginx_exporter_basic_auth_users: {} - nginx_exporter_log_level: "info" nginx_exporter_log_format: "logfmt" diff --git a/roles/nginx_exporter/meta/argument_specs.yml b/roles/nginx_exporter/meta/argument_specs.yml index d3c23a07d..b05440dfe 100644 --- a/roles/nginx_exporter/meta/argument_specs.yml +++ b/roles/nginx_exporter/meta/argument_specs.yml @@ -17,7 +17,8 @@ argument_specs: default: false nginx_exporter_binary_url: description: "URL of the nginx_exporter binaries .tar.gz file" - default: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/nginx-prometheus-exporter_{{ nginx_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nginx_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/nginx-prometheus-exporter_{{ nginx_exporter_version }}_{{ ansible_facts['system'] | lower + }}_{{ _nginx_exporter_go_ansible_arch }}.tar.gz" nginx_exporter_checksums_url: description: "URL of the nginx_exporter checksums file" default: "https://github.com/{{ _nginx_exporter_repo }}/releases/download/v{{ nginx_exporter_version }}/nginx-prometheus-exporter_{{ nginx_exporter_version }}_checksums.txt" diff --git a/roles/nginx_exporter/tasks/preflight.yml b/roles/nginx_exporter/tasks/preflight.yml index 1ef603a61..deef4f9cb 100644 --- a/roles/nginx_exporter/tasks/preflight.yml +++ b/roles/nginx_exporter/tasks/preflight.yml @@ -39,8 +39,8 @@ - name: Discover latest version ansible.builtin.set_fact: - nginx_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _nginx_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + nginx_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _nginx_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: nginx_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/nginx_exporter/vars/main.yml b/roles/nginx_exporter/vars/main.yml index fb8aef546..ecd31aef9 100644 --- a/roles/nginx_exporter/vars/main.yml +++ b/roles/nginx_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_nginx_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_nginx_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _nginx_exporter_repo: "nginxinc/nginx-prometheus-exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_nginx_exporter_binaries: ['nginx-prometheus-exporter'] +_nginx_exporter_binaries: ["nginx-prometheus-exporter"] diff --git a/roles/node_exporter/defaults/main.yml b/roles/node_exporter/defaults/main.yml index 33585e60e..8effa80dd 100644 --- a/roles/node_exporter/defaults/main.yml +++ b/roles/node_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- node_exporter_version: 1.11.1 -node_exporter_binary_url: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/\ - node_exporter-{{ node_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _node_exporter_go_ansible_arch }}.tar.gz" +node_exporter_binary_url: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _node_exporter_go_ansible_arch }}.tar.gz" node_exporter_checksums_url: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/sha256sums.txt" node_exporter_web_disable_exporter_metrics: false @@ -14,11 +14,8 @@ node_exporter_log_format: "logfmt" node_exporter_textfile_dir: "/var/lib/node_exporter" node_exporter_tls_server_config: {} - node_exporter_http_server_config: {} - node_exporter_basic_auth_users: {} - node_exporter_enabled_collectors: - systemd - textfile: @@ -28,7 +25,6 @@ node_exporter_enabled_collectors: # fs-types-exclude: "^(sys|proc|auto)fs$" node_exporter_disabled_collectors: [] - node_exporter_binary_install_dir: "/usr/local/bin" node_exporter_system_group: "node-exp" node_exporter_system_user: "{{ node_exporter_system_group }}" diff --git a/roles/node_exporter/meta/argument_specs.yml b/roles/node_exporter/meta/argument_specs.yml index 1d7df89fc..3027e0b0d 100644 --- a/roles/node_exporter/meta/argument_specs.yml +++ b/roles/node_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.11.1" node_exporter_binary_url: description: "URL of the node exporter binaries .tar.gz file" - default: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _node_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _node_exporter_go_ansible_arch + }}.tar.gz" node_exporter_checksums_url: description: "URL of the node exporter checksums file" default: "https://github.com/{{ _node_exporter_repo }}/releases/download/v{{ node_exporter_version }}/sha256sums.txt" diff --git a/roles/node_exporter/molecule/alternative/molecule.yml b/roles/node_exporter/molecule/alternative/molecule.yml index b6fc8e87f..998a8b298 100644 --- a/roles/node_exporter/molecule/alternative/molecule.yml +++ b/roles/node_exporter/molecule/alternative/molecule.yml @@ -7,8 +7,8 @@ provisioner: all: node_exporter_local_cache_path: "/tmp/node_exporter-linux-amd64" node_exporter_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" node_exporter_textfile_dir: "" node_exporter_enabled_collectors: - entropy @@ -22,5 +22,4 @@ provisioner: node_exporter_basic_auth_users: randomuser: examplepassword node_exporter_version: 1.5.0 - node_exporter_binary_url: "https://github.com/prometheus/node_exporter/releases/download/v{{\ - \ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz" + node_exporter_binary_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/node_exporter/tasks/main.yml b/roles/node_exporter/tasks/main.yml index a5373c415..029e31ce7 100644 --- a/roles/node_exporter/tasks/main.yml +++ b/roles/node_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ node_exporter_system_group }}" _common_system_user: "{{ node_exporter_system_user }}" _common_config_dir: "{{ node_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - node_exporter_install diff --git a/roles/node_exporter/tasks/preflight.yml b/roles/node_exporter/tasks/preflight.yml index 8fcffcb98..b67c72091 100644 --- a/roles/node_exporter/tasks/preflight.yml +++ b/roles/node_exporter/tasks/preflight.yml @@ -50,8 +50,8 @@ - name: Discover latest version ansible.builtin.set_fact: - node_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _node_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + node_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _node_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: node_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/node_exporter/vars/main.yml b/roles/node_exporter/vars/main.yml index faee8df17..6c21fdce6 100644 --- a/roles/node_exporter/vars/main.yml +++ b/roles/node_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_node_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_node_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _node_exporter_repo: "prometheus/node_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_node_exporter_binaries: ['node_exporter'] +_node_exporter_binaries: ["node_exporter"] diff --git a/roles/nvidia_gpu_exporter/defaults/main.yml b/roles/nvidia_gpu_exporter/defaults/main.yml index b61276c10..48c0772a7 100644 --- a/roles/nvidia_gpu_exporter/defaults/main.yml +++ b/roles/nvidia_gpu_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- nvidia_gpu_exporter_version: 1.5.0 -nvidia_gpu_exporter_binary_url: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/\ - nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nvidia_gpu_exporter_go_ansible_arch }}.tar.gz" +nvidia_gpu_exporter_binary_url: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_{{ ansible_facts['system'] + | lower }}_{{ _nvidia_gpu_exporter_go_ansible_arch }}.tar.gz" nvidia_gpu_exporter_checksums_url: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/checksums.txt" nvidia_gpu_exporter_web_listen_address: "0.0.0.0:9835" diff --git a/roles/nvidia_gpu_exporter/meta/argument_specs.yml b/roles/nvidia_gpu_exporter/meta/argument_specs.yml index 8c530b898..693369424 100644 --- a/roles/nvidia_gpu_exporter/meta/argument_specs.yml +++ b/roles/nvidia_gpu_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.5.0" nvidia_gpu_exporter_binary_url: description: "URL of the Nvidia GPU exporter binaries .tar.gz file" - default: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_{{ ansible_facts['system'] | lower }}_{{ _nvidia_gpu_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_{{ ansible_facts['system'] + | lower }}_{{ _nvidia_gpu_exporter_go_ansible_arch }}.tar.gz" nvidia_gpu_exporter_checksums_url: description: "URL of the Nvidia GPU exporter checksums file" default: "https://github.com/{{ _nvidia_gpu_exporter_repo }}/releases/download/v{{ nvidia_gpu_exporter_version }}/sha256sums.txt" diff --git a/roles/nvidia_gpu_exporter/molecule/alternative/molecule.yml b/roles/nvidia_gpu_exporter/molecule/alternative/molecule.yml index 1643d2b9b..2a4654bee 100644 --- a/roles/nvidia_gpu_exporter/molecule/alternative/molecule.yml +++ b/roles/nvidia_gpu_exporter/molecule/alternative/molecule.yml @@ -7,8 +7,7 @@ provisioner: all: nvidia_gpu_exporter_local_cache_path: "/tmp/nvidia_gpu_exporter-linux_x86_64" nvidia_gpu_exporter_web_listen_address: - - '127.0.0.1:9835' - - '127.0.1.1:9835' + - "127.0.0.1:9835" + - "127.0.1.1:9835" nvidia_gpu_exporter_version: 1.2.1 - nvidia_gpu_exporter_binary_url: "https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v{{\ - \ nvidia_gpu_exporter_version }}/nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_linux_x86_64.tar.gz" + nvidia_gpu_exporter_binary_url: "https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v{{ nvidia_gpu_exporter_version }}/nvidia_gpu_exporter_{{ nvidia_gpu_exporter_version }}_linux_x86_64.tar.gz" diff --git a/roles/nvidia_gpu_exporter/tasks/preflight.yml b/roles/nvidia_gpu_exporter/tasks/preflight.yml index 34c0d388b..1ebf93836 100644 --- a/roles/nvidia_gpu_exporter/tasks/preflight.yml +++ b/roles/nvidia_gpu_exporter/tasks/preflight.yml @@ -8,8 +8,8 @@ - name: Discover latest version ansible.builtin.set_fact: - nvidia_gpu_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _nvidia_gpu_exporter_repo }}/releases/latest', - headers=_nvidia_gpu_exporter_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + nvidia_gpu_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _nvidia_gpu_exporter_repo }}/releases/latest', headers=_nvidia_gpu_exporter_github_api_headers, split_lines=False) | + from_json).get('tag_name') | replace('v', '') }}" run_once: true until: nvidia_gpu_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/nvidia_gpu_exporter/vars/main.yml b/roles/nvidia_gpu_exporter/vars/main.yml index 03e54ffa8..b1caf4727 100644 --- a/roles/nvidia_gpu_exporter/vars/main.yml +++ b/roles/nvidia_gpu_exporter/vars/main.yml @@ -1,9 +1,6 @@ --- -_nvidia_gpu_exporter_go_ansible_arch: "{{ {'i386': 'i386', - 'x86_64': 'x86_64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_nvidia_gpu_exporter_go_ansible_arch: "{{ {'i386': 'i386', 'x86_64': 'x86_64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) + }}" _nvidia_gpu_exporter_repo: "utkuozdemir/nvidia_gpu_exporter" _nvidia_gpu_exporter_github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_nvidia_gpu_exporter_binaries: ['nvidia_gpu_exporter'] +_nvidia_gpu_exporter_binaries: ["nvidia_gpu_exporter"] diff --git a/roles/postgres_exporter/defaults/main.yml b/roles/postgres_exporter/defaults/main.yml index 90382833f..66c53ac14 100644 --- a/roles/postgres_exporter/defaults/main.yml +++ b/roles/postgres_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- postgres_exporter_version: 0.19.1 -postgres_exporter_binary_url: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/\ - postgres_exporter-{{ postgres_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _postgres_exporter_go_ansible_arch }}.tar.gz" +postgres_exporter_binary_url: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/postgres_exporter-{{ postgres_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _postgres_exporter_go_ansible_arch }}.tar.gz" postgres_exporter_checksums_url: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/sha256sums.txt" postgres_exporter_web_listen_address: "0.0.0.0:9187" @@ -15,15 +15,10 @@ postgres_exporter_username: "" postgres_exporter_password: "" postgres_exporter_tls_server_config: {} - postgres_exporter_http_server_config: {} - postgres_exporter_basic_auth_users: {} - postgres_exporter_enabled_collectors: [] - postgres_exporter_disabled_collectors: [] - # Internal variables. postgres_exporter_binary_install_dir: "/usr/local/bin" postgres_exporter_config_dir: "/etc/postgres_exporter" diff --git a/roles/postgres_exporter/meta/argument_specs.yml b/roles/postgres_exporter/meta/argument_specs.yml index a42781086..d47675ee2 100644 --- a/roles/postgres_exporter/meta/argument_specs.yml +++ b/roles/postgres_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.19.1" postgres_exporter_binary_url: description: "URL of the postgres_exporter binaries .tar.gz file" - default: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/postgres_exporter-{{ postgres_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _postgres_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/postgres_exporter-{{ postgres_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _postgres_exporter_go_ansible_arch }}.tar.gz" postgres_exporter_checksums_url: description: "URL of the postgres_exporter checksums file" default: "https://github.com/{{ _postgres_exporter_repo }}/releases/download/v{{ postgres_exporter_version }}/sha256sums.txt" diff --git a/roles/postgres_exporter/molecule/alternative/molecule.yml b/roles/postgres_exporter/molecule/alternative/molecule.yml index d2b20f7a6..d812fc375 100644 --- a/roles/postgres_exporter/molecule/alternative/molecule.yml +++ b/roles/postgres_exporter/molecule/alternative/molecule.yml @@ -7,8 +7,8 @@ provisioner: all: postgres_exporter_local_cache_path: "/tmp/postgres_exporter-linux-amd64" postgres_exporter_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" postgres_exporter_enabled_collectors: - postmaster postgres_exporter_disabled_collectors: @@ -21,5 +21,4 @@ provisioner: postgres_exporter_basic_auth_users: randomuser: examplepassword postgres_exporter_version: 0.15.0 - postgres_exporter_binary_url: "https://github.com/prometheus-community/postgres_exporter/releases/download/v{{\ - \ postgres_exporter_version }}/postgres_exporter-{{ postgres_exporter_version }}.linux-amd64.tar.gz" + postgres_exporter_binary_url: "https://github.com/prometheus-community/postgres_exporter/releases/download/v{{ postgres_exporter_version }}/postgres_exporter-{{ postgres_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/postgres_exporter/tasks/configure.yml b/roles/postgres_exporter/tasks/configure.yml index e5e24390d..539eba068 100644 --- a/roles/postgres_exporter/tasks/configure.yml +++ b/roles/postgres_exporter/tasks/configure.yml @@ -20,8 +20,8 @@ src: postgres_exporter.yml.j2 dest: "{{ postgres_exporter_config_dir }}/{{ postgres_exporter_config_file }}" owner: root - group: '{{ postgres_exporter_system_group }}' - mode: '0640' + group: "{{ postgres_exporter_system_group }}" + mode: "0640" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" notify: restart postgres_exporter become: true @@ -43,8 +43,8 @@ dest: "{{ postgres_exporter_config_dir }}/postgres_exporter_uri" content: "{{ postgres_exporter_uri }}" owner: root - group: '{{ postgres_exporter_system_group }}' - mode: '0640' + group: "{{ postgres_exporter_system_group }}" + mode: "0640" notify: restart postgres_exporter - name: Creating file postgres_exporter_user @@ -52,8 +52,8 @@ dest: "{{ postgres_exporter_config_dir }}/postgres_exporter_user" content: "{{ postgres_exporter_username }}" owner: root - group: '{{ postgres_exporter_system_group }}' - mode: '0640' + group: "{{ postgres_exporter_system_group }}" + mode: "0640" notify: restart postgres_exporter - name: Creating file postgres_exporter_pass @@ -61,6 +61,6 @@ dest: "{{ postgres_exporter_config_dir }}/postgres_exporter_pass" content: "{{ postgres_exporter_password }}" owner: root - group: '{{ postgres_exporter_system_group }}' - mode: '0640' + group: "{{ postgres_exporter_system_group }}" + mode: "0640" notify: restart postgres_exporter diff --git a/roles/postgres_exporter/tasks/main.yml b/roles/postgres_exporter/tasks/main.yml index e47ceef78..e7c554ecb 100644 --- a/roles/postgres_exporter/tasks/main.yml +++ b/roles/postgres_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ postgres_exporter_system_group }}" _common_system_user: "{{ postgres_exporter_system_user }}" _common_config_dir: "{{ postgres_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - postgres_exporter_install diff --git a/roles/postgres_exporter/tasks/preflight.yml b/roles/postgres_exporter/tasks/preflight.yml index f68bca070..ae5098e02 100644 --- a/roles/postgres_exporter/tasks/preflight.yml +++ b/roles/postgres_exporter/tasks/preflight.yml @@ -50,8 +50,8 @@ - name: Discover latest version ansible.builtin.set_fact: - postgres_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _postgres_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + postgres_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _postgres_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: postgres_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/postgres_exporter/vars/main.yml b/roles/postgres_exporter/vars/main.yml index 714d74e65..1f2de33b0 100644 --- a/roles/postgres_exporter/vars/main.yml +++ b/roles/postgres_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_postgres_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_postgres_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _postgres_exporter_repo: "prometheus-community/postgres_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_postgres_exporter_binaries: ['postgres_exporter'] +_postgres_exporter_binaries: ["postgres_exporter"] diff --git a/roles/process_exporter/defaults/main.yml b/roles/process_exporter/defaults/main.yml index 9734e4f7a..c996db3d4 100644 --- a/roles/process_exporter/defaults/main.yml +++ b/roles/process_exporter/defaults/main.yml @@ -1,20 +1,16 @@ --- process_exporter_version: 0.8.7 -process_exporter_binary_url: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/\ - process-exporter-{{ process_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _process_exporter_go_ansible_arch }}.tar.gz" +process_exporter_binary_url: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/process-exporter-{{ process_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _process_exporter_go_ansible_arch }}.tar.gz" process_exporter_checksums_url: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/checksums.txt" process_exporter_local_cache_path: "/tmp/process_exporter-{{ ansible_facts['system'] | lower }}-{{ _process_exporter_go_ansible_arch }}/{{ process_exporter_version }}" - process_exporter_web_listen_address: "0.0.0.0:9256" process_exporter_web_telemetry_path: "/metrics" process_exporter_tls_server_config: {} - process_exporter_http_server_config: {} - process_exporter_basic_auth_users: {} - # Process names # "raw" section is needed to avoid attempted interpretation # of process-exporter Template varables (like {{.Comm}}) diff --git a/roles/process_exporter/meta/argument_specs.yml b/roles/process_exporter/meta/argument_specs.yml index 71b23a815..e69e04756 100644 --- a/roles/process_exporter/meta/argument_specs.yml +++ b/roles/process_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.8.7" process_exporter_binary_url: description: "URL of the Process exporter binaries .tar.gz file" - default: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/process-exporter-{{ process_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _process_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/process-exporter-{{ process_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _process_exporter_go_ansible_arch }}.tar.gz" process_exporter_checksums_url: description: "URL of the Process exporter checksums file" default: "https://github.com/{{ _process_exporter_repo }}/releases/download/v{{ process_exporter_version }}/checksums.txt" diff --git a/roles/process_exporter/molecule/alternative/molecule.yml b/roles/process_exporter/molecule/alternative/molecule.yml index 567beffbc..f43cf9ef0 100644 --- a/roles/process_exporter/molecule/alternative/molecule.yml +++ b/roles/process_exporter/molecule/alternative/molecule.yml @@ -28,5 +28,4 @@ provisioner: - crond {% endraw %} process_exporter_recheck_time_limit: 180s - process_exporter_binary_url: "https://github.com/ncabatoff/process-exporter/releases/download/v{{\ - \ process_exporter_version }}/process-exporter-{{ process_exporter_version }}.linux-amd64.tar.gz" + process_exporter_binary_url: "https://github.com/ncabatoff/process-exporter/releases/download/v{{ process_exporter_version }}/process-exporter-{{ process_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/process_exporter/tasks/configure.yml b/roles/process_exporter/tasks/configure.yml index a4753e503..ad146635e 100644 --- a/roles/process_exporter/tasks/configure.yml +++ b/roles/process_exporter/tasks/configure.yml @@ -21,7 +21,7 @@ dest: "/etc/process_exporter/config.yml" owner: "{{ process_exporter_system_user }}" group: "{{ process_exporter_system_group }}" - mode: 0644 + mode: "0644" when: - process_exporter_names != [] notify: restart process_exporter diff --git a/roles/process_exporter/tasks/main.yml b/roles/process_exporter/tasks/main.yml index 5d5941ced..9d773195e 100644 --- a/roles/process_exporter/tasks/main.yml +++ b/roles/process_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ process_exporter_system_group }}" _common_system_user: "{{ process_exporter_system_user }}" _common_config_dir: "{{ process_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - process_exporter_install diff --git a/roles/process_exporter/tasks/preflight.yml b/roles/process_exporter/tasks/preflight.yml index fa91e0561..6301a656e 100644 --- a/roles/process_exporter/tasks/preflight.yml +++ b/roles/process_exporter/tasks/preflight.yml @@ -8,8 +8,8 @@ - name: Discover latest version ansible.builtin.set_fact: - process_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _process_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + process_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _process_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: process_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/process_exporter/vars/main.yml b/roles/process_exporter/vars/main.yml index daf9bc5cf..c8eb6cb2a 100644 --- a/roles/process_exporter/vars/main.yml +++ b/roles/process_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_process_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_process_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _process_exporter_repo: "ncabatoff/process-exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_process_exporter_binaries: ['process-exporter'] +_process_exporter_binaries: ["process-exporter"] diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml index b7a571dbd..5ec66efe8 100644 --- a/roles/prometheus/defaults/main.yml +++ b/roles/prometheus/defaults/main.yml @@ -1,23 +1,21 @@ --- prometheus_version: 3.12.0 -prometheus_binary_url: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/\ - prometheus-{{ prometheus_version }}.{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch }}.tar.gz" +prometheus_binary_url: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/prometheus-{{ prometheus_version }}.{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch + }}.tar.gz" prometheus_checksums_url: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/sha256sums.txt" prometheus_binary_install_dir: /usr/local/bin prometheus_config_dir: /etc/prometheus prometheus_db_dir: /var/lib/prometheus prometheus_read_only_dirs: [] - prometheus_web_listen_address: "0.0.0.0:9090" -prometheus_web_external_url: '' +prometheus_web_external_url: "" prometheus_metrics_path: "/{{ (prometheus_web_external_url + '/metrics') | regex_replace('^(.*://)?(.*?)/') }}" # See https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md prometheus_web_config: tls_server_config: {} http_server_config: {} basic_auth_users: {} - prometheus_storage_retention: "30d" # Available since Prometheus 2.7.0 # [EXPERIMENTAL] Maximum number of bytes that can be stored for blocks. Units @@ -87,7 +85,7 @@ prometheus_scrape_configs: - "{{ prometheus_config_dir }}/file_sd/node.yml" # Alternative config file name, searched in ansible templates path. -prometheus_config_file: 'prometheus.yml.j2' +prometheus_config_file: "prometheus.yml.j2" prometheus_alert_rules_files: - prometheus/rules/*.yml @@ -102,82 +100,89 @@ prometheus_scrape_config_files: - prometheus/scrape_configs/*.json # yamllint disable rule:line-length -prometheus_alert_rules: # noqa yaml[line-length] # noqa line-length +prometheus_alert_rules: # noqa yaml[line-length] # noqa line-length - alert: Watchdog expr: vector(1) for: 10m labels: severity: warning annotations: - description: "This is an alert meant to ensure that the entire alerting pipeline is functional.\nThis alert is always firing, therefore it should always be firing in Alertmanager\nand always fire against a receiver. There are integrations with various notification\nmechanisms that send a notification when this alert is not firing. For example the\n\"DeadMansSnitch\" integration in PagerDuty." - summary: 'Ensure entire alerting pipeline is functional' + description: "This is an alert meant to ensure that the entire alerting pipeline is functional.\nThis alert is always firing, therefore it should always be firing in Alertmanager\nand always fire + against a receiver. There are integrations with various notification\nmechanisms that send a notification when this alert is not firing. For example the\n\"DeadMansSnitch\" integration in PagerDuty." + summary: "Ensure entire alerting pipeline is functional" - alert: InstanceDown - expr: 'up == 0' + expr: "up == 0" for: 5m labels: severity: critical annotations: - description: '{% raw %}{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.{% endraw %}' - summary: '{% raw %}Instance {{ $labels.instance }} down{% endraw %}' + description: "{% raw %}{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.{% endraw %}" + summary: "{% raw %}Instance {{ $labels.instance }} down{% endraw %}" - alert: RebootRequired - expr: 'node_reboot_required > 0' + expr: "node_reboot_required > 0" labels: severity: warning annotations: - description: '{% raw %}{{ $labels.instance }} requires a reboot.{% endraw %}' - summary: '{% raw %}Instance {{ $labels.instance }} - reboot required{% endraw %}' + description: "{% raw %}{{ $labels.instance }} requires a reboot.{% endraw %}" + summary: "{% raw %}Instance {{ $labels.instance }} - reboot required{% endraw %}" - alert: NodeFilesystemSpaceFillingUp annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up.{% endraw %}' - summary: 'Filesystem is predicted to run out of space within the next 24 hours.' - expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 40\nand\n predict_linear(node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"}[6h], 24*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem is predicted to run out of space within the next 24 hours." + expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 40\nand\n predict_linear(node_filesystem_avail_bytes{job=\"node\"\ + ,fstype!=\"\"}[6h], 24*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: severity: warning - alert: NodeFilesystemSpaceFillingUp annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left and is filling up fast.{% endraw %}' - summary: 'Filesystem is predicted to run out of space within the next 4 hours.' - expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 20\nand\n predict_linear(node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"}[6h], 4*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem is predicted to run out of space within the next 4 hours." + expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 20\nand\n predict_linear(node_filesystem_avail_bytes{job=\"node\"\ + ,fstype!=\"\"}[6h], 4*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: severity: critical - alert: NodeFilesystemAlmostOutOfSpace annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.{% endraw %}' - summary: 'Filesystem has less than 5% space left.' - expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 5\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem has less than 5% space left." + expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 5\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n\ + )\n" for: 1h labels: severity: warning - alert: NodeFilesystemAlmostOutOfSpace annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available space left.{% endraw %}' - summary: 'Filesystem has less than 3% space left.' - expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 3\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem has less than 3% space left." + expr: "(\n node_filesystem_avail_bytes{job=\"node\",fstype!=\"\"} / node_filesystem_size_bytes{job=\"node\",fstype!=\"\"} * 100 < 3\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n\ + )\n" for: 1h labels: severity: critical - alert: NodeFilesystemFilesFillingUp annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up.{% endraw %}' - summary: 'Filesystem is predicted to run out of inodes within the next 24 hours.' - expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 40\nand\n predict_linear(node_filesystem_files_free{job=\"node\",fstype!=\"\"}[6h], 24*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem is predicted to run out of inodes within the next 24 hours." + expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 40\nand\n predict_linear(node_filesystem_files_free{job=\"node\",fstype!=\"\ + \"}[6h], 24*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: severity: warning - alert: NodeFilesystemFilesFillingUp annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left and is filling up fast.{% endraw %}' - summary: 'Filesystem is predicted to run out of inodes within the next 4 hours.' - expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 20\nand\n predict_linear(node_filesystem_files_free{job=\"node\",fstype!=\"\"}[6h], 4*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" + summary: "Filesystem is predicted to run out of inodes within the next 4 hours." + expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 20\nand\n predict_linear(node_filesystem_files_free{job=\"node\",fstype!=\"\ + \"}[6h], 4*60*60) < 0\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: severity: critical - alert: NodeFilesystemAlmostOutOfFiles annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.{% endraw %}' - summary: 'Filesystem has less than 5% inodes left.' + summary: "Filesystem has less than 5% inodes left." expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 5\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: @@ -185,7 +190,7 @@ prometheus_alert_rules: # noqa yaml[line-length] # noqa line-length - alert: NodeFilesystemAlmostOutOfFiles annotations: description: '{% raw %}Filesystem on {{ $labels.device }} at {{ $labels.instance }} has only {{ printf "%.2f" $value }}% available inodes left.{% endraw %}' - summary: 'Filesystem has less than 3% inodes left.' + summary: "Filesystem has less than 3% inodes left." expr: "(\n node_filesystem_files_free{job=\"node\",fstype!=\"\"} / node_filesystem_files{job=\"node\",fstype!=\"\"} * 100 < 3\nand\n node_filesystem_readonly{job=\"node\",fstype!=\"\"} == 0\n)\n" for: 1h labels: @@ -193,7 +198,7 @@ prometheus_alert_rules: # noqa yaml[line-length] # noqa line-length - alert: NodeNetworkReceiveErrs annotations: description: '{% raw %}{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} receive errors in the last two minutes.{% endraw %}' - summary: 'Network interface is reporting many receive errors.' + summary: "Network interface is reporting many receive errors." expr: "increase(node_network_receive_errs_total[2m]) > 10\n" for: 1h labels: @@ -201,40 +206,40 @@ prometheus_alert_rules: # noqa yaml[line-length] # noqa line-length - alert: NodeNetworkTransmitErrs annotations: description: '{% raw %}{{ $labels.instance }} interface {{ $labels.device }} has encountered {{ printf "%.0f" $value }} transmit errors in the last two minutes.{% endraw %}' - summary: 'Network interface is reporting many transmit errors.' + summary: "Network interface is reporting many transmit errors." expr: "increase(node_network_transmit_errs_total[2m]) > 10\n" for: 1h labels: severity: warning - alert: NodeHighNumberConntrackEntriesUsed annotations: - description: '{% raw %}{{ $value | humanizePercentage }} of conntrack entries are used{% endraw %}' - summary: 'Number of conntrack are getting close to the limit' + description: "{% raw %}{{ $value | humanizePercentage }} of conntrack entries are used{% endraw %}" + summary: "Number of conntrack are getting close to the limit" expr: "(node_nf_conntrack_entries / node_nf_conntrack_entries_limit) > 0.75\n" labels: severity: warning - alert: NodeClockSkewDetected annotations: - message: '{% raw %}Clock on {{ $labels.instance }} is out of sync by more than 300s. Ensure NTP is configured correctly on this host.{% endraw %}' - summary: 'Clock skew detected.' + message: "{% raw %}Clock on {{ $labels.instance }} is out of sync by more than 300s. Ensure NTP is configured correctly on this host.{% endraw %}" + summary: "Clock skew detected." expr: "(\n node_timex_offset_seconds > 0.05\nand\n deriv(node_timex_offset_seconds[5m]) >= 0\n)\nor\n(\n node_timex_offset_seconds < -0.05\nand\n deriv(node_timex_offset_seconds[5m]) <= 0\n)\n" for: 10m labels: severity: warning - alert: NodeClockNotSynchronising annotations: - message: '{% raw %}Clock on {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.{% endraw %}' - summary: 'Clock not synchronising.' + message: "{% raw %}Clock on {{ $labels.instance }} is not synchronising. Ensure NTP is configured on this host.{% endraw %}" + summary: "Clock not synchronising." expr: "min_over_time(node_timex_sync_status[5m]) == 0\n" for: 10m labels: severity: warning # yamllint enable rule:line-length -prometheus_system_group: 'prometheus' +prometheus_system_group: "prometheus" prometheus_system_user: "{{ prometheus_system_group }}" -prometheus_stop_timeout: '600s' +prometheus_stop_timeout: "600s" # Local path to stash the archive and its extraction prometheus_local_cache_path: "/tmp/prometheus-{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch }}/{{ prometheus_version }}" diff --git a/roles/prometheus/meta/argument_specs.yml b/roles/prometheus/meta/argument_specs.yml index d7b5a00ff..2c5e23f87 100644 --- a/roles/prometheus/meta/argument_specs.yml +++ b/roles/prometheus/meta/argument_specs.yml @@ -15,7 +15,8 @@ argument_specs: default: "3.12.0" prometheus_binary_url: description: "URL of the prometheus binaries .tar.gz file" - default: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/prometheus-{{ prometheus_version }}.{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/prometheus-{{ prometheus_version }}.{{ ansible_facts['system'] | lower }}-{{ _prometheus_go_ansible_arch + }}.tar.gz" prometheus_checksums_url: description: URL of the prometheus checksums file default: "https://github.com/{{ _prometheus_repo }}/releases/download/v{{ prometheus_version }}/sha256sums.txt" @@ -57,7 +58,8 @@ argument_specs: default: "0" prometheus_agent_mode: description: - - "The Agent mode optimizes Prometheus for the remote write use case. It disables querying, alerting, and local storage, and replaces it with a customized TSDB WAL. L(Everything,https://prometheus.io/docs/prometheus/latest/feature_flags/#prometheus-agent) else stays the same." + - "The Agent mode optimizes Prometheus for the remote write use case. It disables querying, alerting, and local storage, and replaces it with a customized TSDB WAL. L(Everything,https://prometheus.io/docs/prometheus/latest/feature_flags/#prometheus-agent) + else stays the same." - "This feature is available starting from Prometheus v2.32.0." type: bool default: false diff --git a/roles/prometheus/molecule/alternative/molecule.yml b/roles/prometheus/molecule/alternative/molecule.yml index dc9d00e88..3316d0546 100644 --- a/roles/prometheus/molecule/alternative/molecule.yml +++ b/roles/prometheus/molecule/alternative/molecule.yml @@ -3,7 +3,7 @@ provisioner: inventory: group_vars: all: - prometheus_local_cache_path: '/tmp/prometheus-linux-amd64' + prometheus_local_cache_path: "/tmp/prometheus-linux-amd64" prometheus_config_dir: /opt/prom/etc prometheus_db_dir: /opt/prom/lib prometheus_web_listen_address: "127.0.0.1:9090" @@ -63,8 +63,7 @@ provisioner: metrics_path: "{{ prometheus_metrics_path }}" static_configs: - targets: - - "{{ ansible_fqdn | default(ansible_host) | default('localhost')\ - \ }}:9090" + - "{{ ansible_fqdn | default(ansible_host) | default('localhost') }}:9090" - job_name: "node" file_sd_configs: - files: @@ -73,7 +72,7 @@ provisioner: file_sd_configs: - files: - "{{ prometheus_config_dir }}/file_sd/docker.yml" - - job_name: 'blackbox' + - job_name: "blackbox" metrics_path: /probe params: module: [http_2xx] @@ -87,8 +86,7 @@ provisioner: - source_labels: [__param_target] target_label: instance - target_label: __address__ - replacement: 127.0.0.1:9115 # Blackbox exporter. + replacement: 127.0.0.1:9115 # Blackbox exporter. prometheus_version: 2.25.2 prometheus_stop_timeout: 1min - prometheus_binary_url: "https://github.com/prometheus/prometheus/releases/download/v{{ prometheus_version\ - \ }}/prometheus-{{ prometheus_version }}.linux-amd64.tar.gz" + prometheus_binary_url: "https://github.com/prometheus/prometheus/releases/download/v{{ prometheus_version }}/prometheus-{{ prometheus_version }}.linux-amd64.tar.gz" diff --git a/roles/prometheus/molecule/alternative/prepare.yml b/roles/prometheus/molecule/alternative/prepare.yml index ec36e41d6..315579b09 100644 --- a/roles/prometheus/molecule/alternative/prepare.yml +++ b/roles/prometheus/molecule/alternative/prepare.yml @@ -14,7 +14,7 @@ ansible.builtin.file: name: /tmp/prometheus/scrape_configs/empty_scrapes.yml state: touch - mode: 0664 + mode: "0664" check_mode: false - name: Import shared preparation playbook diff --git a/roles/prometheus/molecule/default/prepare.yml b/roles/prometheus/molecule/default/prepare.yml index bc09dc68d..f16bc3f61 100644 --- a/roles/prometheus/molecule/default/prepare.yml +++ b/roles/prometheus/molecule/default/prepare.yml @@ -14,5 +14,5 @@ ansible.builtin.file: name: "{{ playbook_dir }}/prometheus/scrape_configs/empty_scrapes.yml" state: touch - mode: 0664 + mode: "0664" check_mode: false diff --git a/roles/prometheus/tasks/configure.yml b/roles/prometheus/tasks/configure.yml index ca01a38ad..5be7a4fc1 100644 --- a/roles/prometheus/tasks/configure.yml +++ b/roles/prometheus/tasks/configure.yml @@ -21,7 +21,7 @@ state: directory owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0755 + mode: "0755" become: true tags: - prometheus @@ -34,7 +34,7 @@ state: directory owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0775 + mode: "0775" loop: - "{{ prometheus_config_dir }}/consoles" - "{{ prometheus_config_dir }}/console_libraries" @@ -51,7 +51,7 @@ ansible.builtin.copy: src: "{{ prometheus_local_cache_path }}/{{ item }}" dest: "{{ prometheus_config_dir }}" - mode: 0644 + mode: "0644" owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" loop: @@ -72,7 +72,7 @@ dest: "{{ prometheus_config_dir }}/rules/ansible_managed.yml" owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" validate: "{{ prometheus_binary_install_dir }}/promtool check rules %s" when: - prometheus_alert_rules != [] @@ -91,7 +91,7 @@ dest: "{{ prometheus_config_dir }}/rules/" owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" validate: "{{ prometheus_binary_install_dir }}/promtool check rules %s" loop: "{{ prometheus_alert_rules_files | map('ansible.builtin.fileglob') | flatten | map('ansible.builtin.realpath') }}" when: @@ -111,7 +111,7 @@ force: true owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" validate: "{{ prometheus_binary_install_dir }}/promtool check config %s" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" notify: @@ -130,7 +130,7 @@ force: true owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" loop: "{{ prometheus_targets | dict2items }}" when: prometheus_targets != {} become: true @@ -148,7 +148,7 @@ force: true owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" loop: "{{ prometheus_static_targets_files | map('ansible.builtin.fileglob') | flatten | map('ansible.builtin.realpath') }}" become: true tags: @@ -165,7 +165,7 @@ force: true owner: "{{ prometheus_system_user }}" group: "{{ prometheus_system_group }}" - mode: 0640 + mode: "0640" loop: "{{ prometheus_scrape_config_files | map('ansible.builtin.fileglob') | flatten | map('ansible.builtin.realpath') }}" become: true tags: diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index aeb29eb7f..db715a2e4 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ prometheus_system_group }}" _common_system_user: "{{ prometheus_system_user }}" _common_config_dir: "{{ prometheus_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - prometheus_install diff --git a/roles/prometheus/tasks/preflight.yml b/roles/prometheus/tasks/preflight.yml index 75df5e9d2..82869174e 100644 --- a/roles/prometheus/tasks/preflight.yml +++ b/roles/prometheus/tasks/preflight.yml @@ -33,19 +33,18 @@ Whooops. You are duplicating configuration. Please look at your prometheus_config_flags_extra and check against other variables in defaults/main.yml with_items: - - 'storage.tsdb.retention' - - 'storage.tsdb.path' - - 'storage.local.retention' - - 'storage.local.path' - - 'config.file' - - 'web.listen-address' - - 'web.external-url' + - "storage.tsdb.retention" + - "storage.tsdb.path" + - "storage.local.retention" + - "storage.local.path" + - "config.file" + - "web.listen-address" + - "web.external-url" when: item in prometheus_config_flags_extra.keys() - name: Get all file_sd files from scrape_configs ansible.builtin.set_fact: - file_sd_files: "{{ prometheus_scrape_configs | selectattr('file_sd_configs', 'defined') | map(attribute='file_sd_configs') | - flatten | map(attribute='files') | flatten }}" + file_sd_files: "{{ prometheus_scrape_configs | selectattr('file_sd_configs', 'defined') | map(attribute='file_sd_configs') | flatten | map(attribute='files') | flatten }}" - name: Fail when file_sd targets are not defined in scrape_configs ansible.builtin.fail: @@ -78,8 +77,8 @@ - name: Discover latest version ansible.builtin.set_fact: - prometheus_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _prometheus_repo}}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + prometheus_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _prometheus_repo}}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: prometheus_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/prometheus/vars/main.yml b/roles/prometheus/vars/main.yml index f3a0d75e3..078ddc2a0 100644 --- a/roles/prometheus/vars/main.yml +++ b/roles/prometheus/vars/main.yml @@ -1,9 +1,5 @@ --- -_prometheus_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_prometheus_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _prometheus_repo: "prometheus/prometheus" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" diff --git a/roles/pushgateway/defaults/main.yml b/roles/pushgateway/defaults/main.yml index dfe20facb..a267ba8e7 100644 --- a/roles/pushgateway/defaults/main.yml +++ b/roles/pushgateway/defaults/main.yml @@ -1,7 +1,7 @@ --- pushgateway_version: 1.11.3 -pushgateway_binary_url: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/\ - pushgateway-{{ pushgateway_version }}.{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch }}.tar.gz" +pushgateway_binary_url: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/pushgateway-{{ pushgateway_version }}.{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch + }}.tar.gz" pushgateway_checksums_url: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/sha256sums.txt" pushgateway_web_listen_address: "0.0.0.0:9091" @@ -14,13 +14,9 @@ pushgateway_web_external_url: "" # Optional extra flags to be passed to pushgateway binary, e.g. # ['--log.level=debug', '--log.format=json', '--web.enable-admin-api'] pushgateway_config_flags_extra: [] - pushgateway_tls_server_config: {} - pushgateway_http_server_config: {} - pushgateway_basic_auth_users: {} - pushgateway_binary_install_dir: "/usr/local/bin" pushgateway_system_group: "pushgateway" pushgateway_system_user: "{{ pushgateway_system_group }}" diff --git a/roles/pushgateway/meta/argument_specs.yml b/roles/pushgateway/meta/argument_specs.yml index bb4bb3a4a..d03d8ca46 100644 --- a/roles/pushgateway/meta/argument_specs.yml +++ b/roles/pushgateway/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.11.3" pushgateway_binary_url: description: "URL of the Pushgateway binaries .tar.gz file" - default: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/pushgateway-{{ pushgateway_version }}.{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/pushgateway-{{ pushgateway_version }}.{{ ansible_facts['system'] | lower }}-{{ _pushgateway_go_ansible_arch + }}.tar.gz" pushgateway_checksums_url: description: "URL of the Pushgateway checksums file" default: "https://github.com/{{ _pushgateway_repo }}/releases/download/v{{ pushgateway_version }}/sha256sums.txt" diff --git a/roles/pushgateway/molecule/alternative/molecule.yml b/roles/pushgateway/molecule/alternative/molecule.yml index 65d8445e0..4aba1331c 100644 --- a/roles/pushgateway/molecule/alternative/molecule.yml +++ b/roles/pushgateway/molecule/alternative/molecule.yml @@ -7,8 +7,8 @@ provisioner: all: pushgateway_local_cache_path: "/tmp/pushgateway-linux-amd64" pushgateway_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" pushgateway_tls_server_config: cert_file: /etc/pushgateway/tls.cert key_file: /etc/pushgateway/tls.key @@ -17,5 +17,4 @@ provisioner: pushgateway_basic_auth_users: randomuser: examplepassword pushgateway_version: 1.5.1 - pushgateway_binary_url: "https://github.com/prometheus/pushgateway/releases/download/v{{ pushgateway_version\ - \ }}/pushgateway-{{ pushgateway_version }}.linux-amd64.tar.gz" + pushgateway_binary_url: "https://github.com/prometheus/pushgateway/releases/download/v{{ pushgateway_version }}/pushgateway-{{ pushgateway_version }}.linux-amd64.tar.gz" diff --git a/roles/pushgateway/tasks/main.yml b/roles/pushgateway/tasks/main.yml index 81492563b..0be1a1a7e 100644 --- a/roles/pushgateway/tasks/main.yml +++ b/roles/pushgateway/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ pushgateway_system_group }}" _common_system_user: "{{ pushgateway_system_user }}" _common_config_dir: "{{ pushgateway_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - pushgateway_install diff --git a/roles/pushgateway/tasks/preflight.yml b/roles/pushgateway/tasks/preflight.yml index 95a4fa5d3..98eb42927 100644 --- a/roles/pushgateway/tasks/preflight.yml +++ b/roles/pushgateway/tasks/preflight.yml @@ -44,8 +44,8 @@ - name: Discover latest version ansible.builtin.set_fact: - pushgateway_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _pushgateway_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + pushgateway_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _pushgateway_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: pushgateway_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/pushgateway/vars/main.yml b/roles/pushgateway/vars/main.yml index 1e40409da..36b2f729d 100644 --- a/roles/pushgateway/vars/main.yml +++ b/roles/pushgateway/vars/main.yml @@ -1,9 +1,5 @@ --- -_pushgateway_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_pushgateway_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _pushgateway_repo: "prometheus/pushgateway" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_pushgateway_binaries: ['pushgateway'] +_pushgateway_binaries: ["pushgateway"] diff --git a/roles/redis_exporter/defaults/main.yml b/roles/redis_exporter/defaults/main.yml index 290a77687..541abdbd5 100644 --- a/roles/redis_exporter/defaults/main.yml +++ b/roles/redis_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- redis_exporter_version: 1.86.0 -redis_exporter_binary_url: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/\ - redis_exporter-v{{ redis_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _redis_exporter_go_ansible_arch }}.tar.gz" +redis_exporter_binary_url: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/redis_exporter-v{{ redis_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _redis_exporter_go_ansible_arch }}.tar.gz" redis_exporter_checksums_url: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/sha256sums.txt" # https://github.com/oliver006/redis_exporter?tab=readme-ov-file#command-line-flags diff --git a/roles/redis_exporter/meta/argument_specs.yml b/roles/redis_exporter/meta/argument_specs.yml index 2e6651ebe..a397a8da3 100644 --- a/roles/redis_exporter/meta/argument_specs.yml +++ b/roles/redis_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "1.86.0" redis_exporter_binary_url: description: "URL of the redis_exporter binaries .tar.gz file" - default: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/redis_exporter-v{{ redis_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _redis_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/redis_exporter-v{{ redis_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _redis_exporter_go_ansible_arch + }}.tar.gz" redis_exporter_checksums_url: description: "URL of the redis_exporter checksums file" default: "https://github.com/{{ _redis_exporter_repo }}/releases/download/v{{ redis_exporter_version }}/sha256sums.txt" @@ -33,11 +34,14 @@ argument_specs: type: "dict" default: {} redis_exporter_check_keys: - description: "List of key patterns to export value and length/size, eg: db3=user_count will export key user_count from db 3. db defaults to 0 if omitted. The key patterns specified with this flag will be found using SCAN. Use this option if you need glob pattern matching; check-single-keys is faster for non-pattern keys. Warning: using --check-keys to match a very large number of keys can slow down the exporter to the point where it doesn't finish scraping the redis instance." + description: "List of key patterns to export value and length/size, eg: db3=user_count will export key user_count from db 3. db defaults to 0 if omitted. The key patterns specified with this flag + will be found using SCAN. Use this option if you need glob pattern matching; check-single-keys is faster for non-pattern keys. Warning: using --check-keys to match a very large number of keys + can slow down the exporter to the point where it doesn't finish scraping the redis instance." type: "list" default: [] redis_exporter_check_single_keys: - description: "List of keys to export value and length/size, eg: db3=user_count will export key user_count from db 3. db defaults to 0 if omitted. The keys specified with this flag will be looked up directly without any glob pattern matching. Use this option if you don't need glob pattern matching; it is faster than check-keys." + description: "List of keys to export value and length/size, eg: db3=user_count will export key user_count from db 3. db defaults to 0 if omitted. The keys specified with this flag will be looked + up directly without any glob pattern matching. Use this option if you don't need glob pattern matching; it is faster than check-keys." type: "list" default: [] redis_exporter_check_streams: @@ -45,15 +49,18 @@ argument_specs: type: "list" default: [] redis_exporter_check_single_streams: - description: "List of streams to export info about streams, groups and consumers. The streams specified with this flag will be looked up directly without any glob pattern matching. Use this option if you don't need glob pattern matching; it is faster than check-streams." + description: "List of streams to export info about streams, groups and consumers. The streams specified with this flag will be looked up directly without any glob pattern matching. Use this option + if you don't need glob pattern matching; it is faster than check-streams." type: "list" default: [] redis_exporter_check_keys_batch_size: - description: "Approximate number of keys to process in each execution. This is basically the COUNT option that will be passed into the SCAN command as part of the execution of the key or key group metrics, see COUNT option. Larger value speeds up scanning. Still Redis is a single-threaded app, huge COUNT can affect production environment." + description: "Approximate number of keys to process in each execution. This is basically the COUNT option that will be passed into the SCAN command as part of the execution of the key or key group + metrics, see COUNT option. Larger value speeds up scanning. Still Redis is a single-threaded app, huge COUNT can affect production environment." type: "int" default: 1000 redis_exporter_count_keys: - description: "List of patterns to count, eg: db3=sessions:* will count all keys with prefix sessions: from db 3. db defaults to 0 if omitted. Warning: The exporter runs SCAN to count the keys. This might not perform well on large databases." + description: "List of patterns to count, eg: db3=sessions:* will count all keys with prefix sessions: from db 3. db defaults to 0 if omitted. Warning: The exporter runs SCAN to count the keys. This + might not perform well on large databases." type: "list" default: [] redis_exporter_script: @@ -112,7 +119,8 @@ argument_specs: type: bool default: false redis_exporter_export_client_port: - description: "Whether to include the client's port when exporting the client list. Warning: including the port increases the number of metrics generated and will make your Prometheus server take up more memory" + description: "Whether to include the client's port when exporting the client list. Warning: including the port increases the number of metrics generated and will make your Prometheus server take + up more memory" type: bool default: false redis_exporter_skip_tls_verification: @@ -145,11 +153,13 @@ argument_specs: type: bool default: true redis_exporter_check_key_groups: - description: "List of LUA regexes for classifying keys into groups. The regexes are applied in specified order to individual keys, and the group name is generated by concatenating all capture groups of the first regex that matches a key. A key will be tracked under the unclassified group if none of the specified regexes matches it." + description: "List of LUA regexes for classifying keys into groups. The regexes are applied in specified order to individual keys, and the group name is generated by concatenating all capture groups + of the first regex that matches a key. A key will be tracked under the unclassified group if none of the specified regexes matches it." type: "list" default: [] redis_exporter_max_distinct_key_groups: - description: "Maximum number of distinct key groups that can be tracked independently per Redis database. If exceeded, only key groups with the highest memory consumption within the limit will be tracked separately, all remaining key groups will be tracked under a single overflow key group." + description: "Maximum number of distinct key groups that can be tracked independently per Redis database. If exceeded, only key groups with the highest memory consumption within the limit will be + tracked separately, all remaining key groups will be tracked under a single overflow key group." type: "int" default: 100 redis_exporter_config_command: diff --git a/roles/redis_exporter/molecule/alternative/molecule.yml b/roles/redis_exporter/molecule/alternative/molecule.yml index 6fe5a6b8e..2c43c7a39 100644 --- a/roles/redis_exporter/molecule/alternative/molecule.yml +++ b/roles/redis_exporter/molecule/alternative/molecule.yml @@ -13,5 +13,4 @@ provisioner: redis_exporter_tls_server_cert_file: "{{ redis_exporter_tls_server_config.cert_file }}" redis_exporter_tls_server_key_file: "{{ redis_exporter_tls_server_config.key_file }}" redis_exporter_version: 1.58.0 - redis_exporter_binary_url: "https://github.com/oliver006/redis_exporter/releases/download/v{{\ - \ redis_exporter_version }}/redis_exporter-v{{ redis_exporter_version }}.linux-amd64.tar.gz" + redis_exporter_binary_url: "https://github.com/oliver006/redis_exporter/releases/download/v{{ redis_exporter_version }}/redis_exporter-v{{ redis_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/redis_exporter/tasks/configure.yml b/roles/redis_exporter/tasks/configure.yml index 712870909..76534eb3a 100644 --- a/roles/redis_exporter/tasks/configure.yml +++ b/roles/redis_exporter/tasks/configure.yml @@ -18,7 +18,7 @@ dest: "{{ redis_exporter_config_dir }}/passwords.json" owner: "{{ redis_exporter_system_user }}" group: "{{ redis_exporter_system_group }}" - mode: 0644 + mode: "0644" notify: restart redis_exporter when: redis_exporter_passwords | length > 0 become: true diff --git a/roles/redis_exporter/tasks/main.yml b/roles/redis_exporter/tasks/main.yml index 03636e18a..e6eac05c8 100644 --- a/roles/redis_exporter/tasks/main.yml +++ b/roles/redis_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ redis_exporter_system_group }}" _common_system_user: "{{ redis_exporter_system_user }}" _common_config_dir: "{{ redis_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - redis_exporter_install diff --git a/roles/redis_exporter/tasks/preflight.yml b/roles/redis_exporter/tasks/preflight.yml index 2472b7676..c6243da4b 100644 --- a/roles/redis_exporter/tasks/preflight.yml +++ b/roles/redis_exporter/tasks/preflight.yml @@ -41,8 +41,8 @@ - name: Discover latest version ansible.builtin.set_fact: - redis_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _redis_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + redis_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _redis_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: redis_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/redis_exporter/vars/main.yml b/roles/redis_exporter/vars/main.yml index 75724eaf7..cbf3415d6 100644 --- a/roles/redis_exporter/vars/main.yml +++ b/roles/redis_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_redis_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_redis_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _redis_exporter_repo: "oliver006/redis_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_redis_exporter_binaries: ['redis_exporter'] +_redis_exporter_binaries: ["redis_exporter"] diff --git a/roles/smartctl_exporter/defaults/main.yml b/roles/smartctl_exporter/defaults/main.yml index 49899f017..40a27e3c9 100644 --- a/roles/smartctl_exporter/defaults/main.yml +++ b/roles/smartctl_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- smartctl_exporter_version: 0.14.0 -smartctl_exporter_binary_url: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/\ - smartctl_exporter-{{ smartctl_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _smartctl_exporter_go_ansible_arch }}.tar.gz" +smartctl_exporter_binary_url: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/smartctl_exporter-{{ smartctl_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _smartctl_exporter_go_ansible_arch }}.tar.gz" smartctl_exporter_checksums_url: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/sha256sums.txt" smartctl_exporter_smartctl_path: "/usr/sbin/smartctl" @@ -15,11 +15,8 @@ smartctl_exporter_web_listen_address: "0.0.0.0:9633" smartctl_exporter_web_telemetry_path: "/metrics" smartctl_exporter_tls_server_config: {} - smartctl_exporter_http_server_config: {} - smartctl_exporter_basic_auth_users: {} - smartctl_exporter_log_level: "info" smartctl_exporter_log_format: "logfmt" diff --git a/roles/smartctl_exporter/meta/argument_specs.yml b/roles/smartctl_exporter/meta/argument_specs.yml index 2e8a66f34..f81f4951a 100644 --- a/roles/smartctl_exporter/meta/argument_specs.yml +++ b/roles/smartctl_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.14.0" smartctl_exporter_binary_url: description: "URL of the Smartctl exporter binaries .tar.gz file" - default: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/smartctl_exporter-{{ smartctl_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _smartctl_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/smartctl_exporter-{{ smartctl_exporter_version }}.{{ ansible_facts['system'] | lower + }}-{{ _smartctl_exporter_go_ansible_arch }}.tar.gz" smartctl_exporter_checksums_url: description: "URL of the Smartctl exporter checksums file" default: "https://github.com/{{ _smartctl_exporter_repo }}/releases/download/v{{ smartctl_exporter_version }}/sha256sums.txt" diff --git a/roles/smartctl_exporter/molecule/alternative/molecule.yml b/roles/smartctl_exporter/molecule/alternative/molecule.yml index fb3889be4..d71562f64 100644 --- a/roles/smartctl_exporter/molecule/alternative/molecule.yml +++ b/roles/smartctl_exporter/molecule/alternative/molecule.yml @@ -19,5 +19,4 @@ provisioner: smartctl_exporter_basic_auth_users: randomuser: examplepassword smartctl_exporter_version: 0.11.0 - smartctl_exporter_binary_url: "https://github.com/prometheus-community/smartctl_exporter/releases/download/v{{\ - \ smartctl_exporter_version }}/smartctl_exporter-{{ smartctl_exporter_version }}.linux-amd64.tar.gz" + smartctl_exporter_binary_url: "https://github.com/prometheus-community/smartctl_exporter/releases/download/v{{ smartctl_exporter_version }}/smartctl_exporter-{{ smartctl_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/smartctl_exporter/tasks/main.yml b/roles/smartctl_exporter/tasks/main.yml index 0ad65983c..bfafa5eb1 100644 --- a/roles/smartctl_exporter/tasks/main.yml +++ b/roles/smartctl_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ smartctl_exporter_system_group }}" _common_system_user: "{{ smartctl_exporter_system_user }}" _common_config_dir: "{{ smartctl_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - smartctl_exporter_install diff --git a/roles/smartctl_exporter/tasks/preflight.yml b/roles/smartctl_exporter/tasks/preflight.yml index 794e43cd0..8af310cc8 100644 --- a/roles/smartctl_exporter/tasks/preflight.yml +++ b/roles/smartctl_exporter/tasks/preflight.yml @@ -39,8 +39,8 @@ - name: Discover latest version ansible.builtin.set_fact: - smartctl_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _smartctl_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + smartctl_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _smartctl_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: smartctl_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/smartctl_exporter/vars/main.yml b/roles/smartctl_exporter/vars/main.yml index 7dd0a8398..40a2dea36 100644 --- a/roles/smartctl_exporter/vars/main.yml +++ b/roles/smartctl_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_smartctl_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_smartctl_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _smartctl_exporter_repo: "prometheus-community/smartctl_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_smartctl_exporter_binaries: ['smartctl_exporter'] +_smartctl_exporter_binaries: ["smartctl_exporter"] diff --git a/roles/smokeping_prober/defaults/main.yml b/roles/smokeping_prober/defaults/main.yml index cdbef80e7..ec06fb9c5 100644 --- a/roles/smokeping_prober/defaults/main.yml +++ b/roles/smokeping_prober/defaults/main.yml @@ -1,7 +1,7 @@ --- smokeping_prober_version: 0.12.0 -smokeping_prober_binary_url: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/\ - smokeping_prober-{{ smokeping_prober_version }}.{{ ansible_facts['system'] | lower }}-{{ _smokeping_prober_go_ansible_arch }}.tar.gz" +smokeping_prober_binary_url: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/smokeping_prober-{{ smokeping_prober_version }}.{{ ansible_facts['system'] + | lower }}-{{ _smokeping_prober_go_ansible_arch }}.tar.gz" smokeping_prober_checksums_url: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/sha256sums.txt" smokeping_prober_web_listen_address: "0.0.0.0:9374" @@ -11,20 +11,17 @@ smokeping_prober_web_listen_address: "0.0.0.0:9374" smokeping_prober_targets: - hosts: - localhost - interval: 1s # Duration, Default 1s. - network: ip # One of ip, ip4, ip6. Default: ip (automatic IPv4/IPv6) - protocol: icmp # One of icmp, udp. Default: icmp (Requires privileged operation) - size: 56 # Packet data size in bytes. Default 56 (Range: 24 - 65535) - source: 127.0.1.1 # Souce IP address to use. Default: None (automatic selection) + interval: 1s # Duration, Default 1s. + network: ip # One of ip, ip4, ip6. Default: ip (automatic IPv4/IPv6) + protocol: icmp # One of icmp, udp. Default: icmp (Requires privileged operation) + size: 56 # Packet data size in bytes. Default 56 (Range: 24 - 65535) + source: 127.0.1.1 # Souce IP address to use. Default: None (automatic selection) smokeping_prober_config_file: "probes.yml" smokeping_prober_tls_server_config: {} - smokeping_prober_http_server_config: {} - smokeping_prober_basic_auth_users: {} - # Internal variables. smokeping_prober_binary_install_dir: "/usr/local/bin" smokeping_prober_config_dir: "/etc/smokeping_prober" diff --git a/roles/smokeping_prober/meta/argument_specs.yml b/roles/smokeping_prober/meta/argument_specs.yml index 05124768b..1affb97c2 100644 --- a/roles/smokeping_prober/meta/argument_specs.yml +++ b/roles/smokeping_prober/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.12.0" smokeping_prober_binary_url: description: "URL of the Smokeping Prober binaries .tar.gz file" - default: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/smokeping_prober-{{ smokeping_prober_version }}.{{ ansible_facts['system'] | lower }}-{{ _smokeping_prober_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/smokeping_prober-{{ smokeping_prober_version }}.{{ ansible_facts['system'] | lower }}-{{ + _smokeping_prober_go_ansible_arch }}.tar.gz" smokeping_prober_checksums_url: description: "URL of the Smokeping Prober checksums file" default: "https://github.com/{{ _smokeping_prober_repo }}/releases/download/v{{ smokeping_prober_version }}/sha256sums.txt" diff --git a/roles/smokeping_prober/molecule/alternative/molecule.yml b/roles/smokeping_prober/molecule/alternative/molecule.yml index 6d3966493..15133c6b5 100644 --- a/roles/smokeping_prober/molecule/alternative/molecule.yml +++ b/roles/smokeping_prober/molecule/alternative/molecule.yml @@ -7,8 +7,8 @@ provisioner: all: smokeping_prober_local_cache_path: "/tmp/smokeping_prober-linux-amd64" smokeping_prober_web_listen_address: - - '127.0.0.1:8080' - - '127.0.1.1:8080' + - "127.0.0.1:8080" + - "127.0.1.1:8080" smokeping_prober_tls_server_config: cert_file: /etc/smokeping_prober/tls.cert key_file: /etc/smokeping_prober/tls.key @@ -17,5 +17,4 @@ provisioner: smokeping_prober_basic_auth_users: randomuser: examplepassword smokeping_prober_version: 0.7.0 - smokeping_prober_binary_url: "https://github.com/superq/smokeping_prober/releases/download/v{{ smokeping_prober_version\ - \ }}/smokeping_prober-{{ smokeping_prober_version }}.linux-amd64.tar.gz" + smokeping_prober_binary_url: "https://github.com/superq/smokeping_prober/releases/download/v{{ smokeping_prober_version }}/smokeping_prober-{{ smokeping_prober_version }}.linux-amd64.tar.gz" diff --git a/roles/smokeping_prober/tasks/configure.yml b/roles/smokeping_prober/tasks/configure.yml index 064058f67..bcd71cd59 100644 --- a/roles/smokeping_prober/tasks/configure.yml +++ b/roles/smokeping_prober/tasks/configure.yml @@ -42,7 +42,7 @@ dest: "{{ smokeping_prober_config_dir }}/{{ smokeping_prober_config_file }}" owner: root group: root - mode: 0644 + mode: "0644" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" notify: restart smokeping_prober become: true diff --git a/roles/smokeping_prober/tasks/main.yml b/roles/smokeping_prober/tasks/main.yml index 6f8a0da18..65e0cc7c6 100644 --- a/roles/smokeping_prober/tasks/main.yml +++ b/roles/smokeping_prober/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ smokeping_prober_system_group }}" _common_system_user: "{{ smokeping_prober_system_user }}" _common_config_dir: "{{ smokeping_prober_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - smokeping_prober_install diff --git a/roles/smokeping_prober/tasks/preflight.yml b/roles/smokeping_prober/tasks/preflight.yml index 56c8779c4..c4267b7b2 100644 --- a/roles/smokeping_prober/tasks/preflight.yml +++ b/roles/smokeping_prober/tasks/preflight.yml @@ -44,8 +44,8 @@ - name: Discover latest version ansible.builtin.set_fact: - smokeping_prober_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _smokeping_prober_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + smokeping_prober_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _smokeping_prober_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: smokeping_prober_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/smokeping_prober/vars/main.yml b/roles/smokeping_prober/vars/main.yml index 3bdbf6ea0..b5156996f 100644 --- a/roles/smokeping_prober/vars/main.yml +++ b/roles/smokeping_prober/vars/main.yml @@ -1,9 +1,5 @@ --- -_smokeping_prober_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_smokeping_prober_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _smokeping_prober_repo: "superq/smokeping_prober" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_smokeping_prober_binaries: ['smokeping_prober'] +_smokeping_prober_binaries: ["smokeping_prober"] diff --git a/roles/snmp_exporter/defaults/main.yml b/roles/snmp_exporter/defaults/main.yml index 1b76f49cd..05ee2508d 100644 --- a/roles/snmp_exporter/defaults/main.yml +++ b/roles/snmp_exporter/defaults/main.yml @@ -1,7 +1,7 @@ --- snmp_exporter_version: 0.30.1 -snmp_exporter_binary_url: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/\ - snmp_exporter-{{ snmp_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _snmp_exporter_go_ansible_arch }}.tar.gz" +snmp_exporter_binary_url: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/snmp_exporter-{{ snmp_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _snmp_exporter_go_ansible_arch }}.tar.gz" snmp_exporter_checksums_url: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/sha256sums.txt" snmp_exporter_web_listen_address: "0.0.0.0:9116" snmp_exporter_log_level: info diff --git a/roles/snmp_exporter/meta/argument_specs.yml b/roles/snmp_exporter/meta/argument_specs.yml index 1cd0190ff..119ec154c 100644 --- a/roles/snmp_exporter/meta/argument_specs.yml +++ b/roles/snmp_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.30.1" snmp_exporter_binary_url: description: "URL of the snmp exporter binaries .tar.gz file" - default: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/snmp_exporter-{{ snmp_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _snmp_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/snmp_exporter-{{ snmp_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _snmp_exporter_go_ansible_arch + }}.tar.gz" snmp_exporter_checksums_url: description: "URL of the snmp exporter checksums file" default: "https://github.com/{{ _snmp_exporter_repo }}/releases/download/v{{ snmp_exporter_version }}/sha256sums.txt" diff --git a/roles/snmp_exporter/molecule/alternative/molecule.yml b/roles/snmp_exporter/molecule/alternative/molecule.yml index 64ba5718f..d3cb65a30 100644 --- a/roles/snmp_exporter/molecule/alternative/molecule.yml +++ b/roles/snmp_exporter/molecule/alternative/molecule.yml @@ -4,6 +4,6 @@ provisioner: group_vars: all: snmp_exporter_web_listen_address: - - '127.0.0.1:9116' - - '127.0.1.1:9116' + - "127.0.0.1:9116" + - "127.0.1.1:9116" snmp_exporter_config_file: ${MOLECULE_SCENARIO_DIRECTORY}/templates/snmp.yml diff --git a/roles/snmp_exporter/tasks/configure.yml b/roles/snmp_exporter/tasks/configure.yml index 910796899..a18505c3f 100644 --- a/roles/snmp_exporter/tasks/configure.yml +++ b/roles/snmp_exporter/tasks/configure.yml @@ -18,7 +18,7 @@ dest: "{{ snmp_exporter_config_dir }}/snmp.yml" owner: root group: root - mode: 0644 + mode: "0644" no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}" notify: - reload snmp_exporter diff --git a/roles/snmp_exporter/tasks/main.yml b/roles/snmp_exporter/tasks/main.yml index 70d275643..453b3b810 100644 --- a/roles/snmp_exporter/tasks/main.yml +++ b/roles/snmp_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ snmp_exporter_system_group }}" _common_system_user: "{{ snmp_exporter_system_user }}" _common_config_dir: "{{ snmp_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - snmp_exporter_install diff --git a/roles/snmp_exporter/tasks/preflight.yml b/roles/snmp_exporter/tasks/preflight.yml index 879429778..11021f1d6 100644 --- a/roles/snmp_exporter/tasks/preflight.yml +++ b/roles/snmp_exporter/tasks/preflight.yml @@ -19,8 +19,8 @@ - name: Discover latest version ansible.builtin.set_fact: - snmp_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _snmp_exporter_repo }}/releases/latest', headers=_github_api_headers, - split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + snmp_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _snmp_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', + '') }}" run_once: true until: snmp_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/snmp_exporter/vars/main.yml b/roles/snmp_exporter/vars/main.yml index 963efce0c..9e4d01828 100644 --- a/roles/snmp_exporter/vars/main.yml +++ b/roles/snmp_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_snmp_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_snmp_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _snmp_exporter_repo: "prometheus/snmp_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_snmp_exporter_binaries: ['snmp_exporter'] +_snmp_exporter_binaries: ["snmp_exporter"] diff --git a/roles/systemd_exporter/defaults/main.yml b/roles/systemd_exporter/defaults/main.yml index d3cdc9017..2d41531be 100644 --- a/roles/systemd_exporter/defaults/main.yml +++ b/roles/systemd_exporter/defaults/main.yml @@ -1,12 +1,11 @@ --- systemd_exporter_version: 0.7.0 -systemd_exporter_binary_url: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/\ - systemd_exporter-{{ systemd_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _systemd_exporter_go_ansible_arch }}.tar.gz" +systemd_exporter_binary_url: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/systemd_exporter-{{ systemd_exporter_version }}.{{ ansible_facts['system'] + | lower }}-{{ _systemd_exporter_go_ansible_arch }}.tar.gz" systemd_exporter_checksums_url: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/sha256sums.txt" systemd_exporter_web_listen_address: "0.0.0.0:9558" systemd_exporter_tls_server_config: {} - systemd_exporter_enable_restart_count: false systemd_exporter_enable_ip_accounting: false systemd_exporter_enable_file_descriptor_size: false diff --git a/roles/systemd_exporter/meta/argument_specs.yml b/roles/systemd_exporter/meta/argument_specs.yml index 400903bf3..4b5eeaefb 100644 --- a/roles/systemd_exporter/meta/argument_specs.yml +++ b/roles/systemd_exporter/meta/argument_specs.yml @@ -13,7 +13,8 @@ argument_specs: default: "0.7.0" systemd_exporter_binary_url: description: URL of the systemd exporter binaries .tar.gz file" - default: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/systemd_exporter-{{ systemd_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ _systemd_exporter_go_ansible_arch }}.tar.gz" + default: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/systemd_exporter-{{ systemd_exporter_version }}.{{ ansible_facts['system'] | lower }}-{{ + _systemd_exporter_go_ansible_arch }}.tar.gz" systemd_exporter_checksums_url: description: "URL of the systemd exporter checksums file" default: "https://github.com/{{ _systemd_exporter_repo }}/releases/download/v{{ systemd_exporter_version }}/sha256sums.txt" diff --git a/roles/systemd_exporter/molecule/alternative/molecule.yml b/roles/systemd_exporter/molecule/alternative/molecule.yml index edc035a3b..d6f0ffaff 100644 --- a/roles/systemd_exporter/molecule/alternative/molecule.yml +++ b/roles/systemd_exporter/molecule/alternative/molecule.yml @@ -12,6 +12,4 @@ provisioner: cert_file: /etc/systemd_exporter/tls.cert key_file: /etc/systemd_exporter/tls.key systemd_exporter_enable_file_descriptor_size: true - systemd_exporter_binary_url: "https://github.com/prometheus-community/systemd_exporter/releases/download/v{{\ - \ systemd_exporter_version }}/systemd_exporter-{{ systemd_exporter_version\ - \ }}.linux-amd64.tar.gz" + systemd_exporter_binary_url: "https://github.com/prometheus-community/systemd_exporter/releases/download/v{{ systemd_exporter_version }}/systemd_exporter-{{ systemd_exporter_version }}.linux-amd64.tar.gz" diff --git a/roles/systemd_exporter/tasks/main.yml b/roles/systemd_exporter/tasks/main.yml index 12f37f254..dd5f5ae75 100644 --- a/roles/systemd_exporter/tasks/main.yml +++ b/roles/systemd_exporter/tasks/main.yml @@ -20,7 +20,7 @@ _common_system_group: "{{ systemd_exporter_system_group }}" _common_system_user: "{{ systemd_exporter_system_user }}" _common_config_dir: "{{ systemd_exporter_config_dir }}" - _common_binary_unarchive_opts: ['--strip-components=1'] + _common_binary_unarchive_opts: ["--strip-components=1"] tags: - systemd_exporter_install diff --git a/roles/systemd_exporter/tasks/preflight.yml b/roles/systemd_exporter/tasks/preflight.yml index 2720590d0..6a6db4960 100644 --- a/roles/systemd_exporter/tasks/preflight.yml +++ b/roles/systemd_exporter/tasks/preflight.yml @@ -56,8 +56,8 @@ - name: Discover latest version ansible.builtin.set_fact: - systemd_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _systemd_exporter_repo }}/releases/latest', - headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') | replace('v', '') }}" + systemd_exporter_version: "{{ (lookup('url', 'https://api.github.com/repos/{{ _systemd_exporter_repo }}/releases/latest', headers=_github_api_headers, split_lines=False) | from_json).get('tag_name') + | replace('v', '') }}" run_once: true until: systemd_exporter_version is version('0.0.0', '>=') retries: 10 diff --git a/roles/systemd_exporter/vars/main.yml b/roles/systemd_exporter/vars/main.yml index 04955205c..fa91b73eb 100644 --- a/roles/systemd_exporter/vars/main.yml +++ b/roles/systemd_exporter/vars/main.yml @@ -1,9 +1,5 @@ --- -_systemd_exporter_go_ansible_arch: "{{ {'i386': '386', - 'x86_64': 'amd64', - 'aarch64': 'arm64', - 'armv7l': 'armv7', - 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" +_systemd_exporter_go_ansible_arch: "{{ {'i386': '386', 'x86_64': 'amd64', 'aarch64': 'arm64', 'armv7l': 'armv7', 'armv6l': 'armv6'}.get(ansible_facts['architecture'], ansible_facts['architecture']) }}" _systemd_exporter_repo: "prometheus-community/systemd_exporter" _github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}" -_systemd_exporter_binaries: ['systemd_exporter'] +_systemd_exporter_binaries: ["systemd_exporter"]