alloy(role): add documentation
- add README - add argument_specs - removed tags
This commit is contained in:
parent
25bf4da29d
commit
099852f588
8 changed files with 65 additions and 7 deletions
28
roles/alloy/README.md
Normal file
28
roles/alloy/README.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# `Grafana Alloy` role
|
||||||
|
|
||||||
|
Installs and configures [Grafana Alloy](https://grafana.com/docs/alloy/latest/) on Debian-based systems.
|
||||||
|
Optionally deploys a [Blackbox exporter](https://github.com/prometheus/blackbox_exporter) config and a [UniFi Poller](https://unpoller.com/).
|
||||||
|
|
||||||
|
## Supported Distributions
|
||||||
|
|
||||||
|
Should work on Debian-based distributions.
|
||||||
|
|
||||||
|
## Required Arguments
|
||||||
|
|
||||||
|
- `alloy_config_default`: The default Alloy configuration. Recomanded for configuration that hosts of a groupe share.
|
||||||
|
|
||||||
|
## Optional Arguments
|
||||||
|
|
||||||
|
- `alloy_config_additional`: Additional Alloy configuration appended to the default config. Recomanded for per host configuration
|
||||||
|
- `alloy_cap_net_bind_service`: Grant Alloy the `CAP_NET_BIND_SERVICE` capability, allowing it to bind to privileged ports (<1024).
|
||||||
|
|
||||||
|
### Blackbox Exporter
|
||||||
|
- `alloy_blackbox_exporter_config_default`: Default blackbox exporter configuration.
|
||||||
|
- `alloy_blackbox_exporter_config_additional`: Additional blackbox exporter configuration appended to the default blackbox exporter config.
|
||||||
|
|
||||||
|
### UniFi Poller
|
||||||
|
|
||||||
|
- `alloy_unpoller_enabled`: Enable the UniFi Poller container to scrape UniFi metrics.
|
||||||
|
- `alloy_unpoller_unifi_user`: Username for the UniFi controller used by unpoller, defaults to `unpoller`.
|
||||||
|
- `alloy_unpoller_unifi_password`: Password for the UniFi controller. Required when `alloy_unpoller_enabled` is `true`.
|
||||||
|
- `alloy_unpoller_unifi_url`: URL of the UniFi controller. Required when `alloy_unpoller_enabled` is `true`.
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
alloy_cap_net_bind_service: false
|
alloy_cap_net_bind_service: false
|
||||||
alloy_do_we_have_v6: "{{ (ansible_facts['all_ipv6_addresses'] | select('match', '^[23]') | list | length > 0) | ternary('true', 'false') }}"
|
|
||||||
|
|
||||||
alloy_config_default: |
|
alloy_config_default: |
|
||||||
prometheus.remote_write "default" {
|
prometheus.remote_write "default" {
|
||||||
|
|
|
||||||
33
roles/alloy/meta/argument_specs.yaml
Normal file
33
roles/alloy/meta/argument_specs.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
options:
|
||||||
|
alloy_config_default:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
|
alloy_config_additional:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
alloy_blackbox_exporter_config_default:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
alloy_blackbox_exporter_config_additional:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
alloy_cap_net_bind_service:
|
||||||
|
type: bool
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
alloy_unpoller_enabled:
|
||||||
|
type: bool
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
alloy_unpoller_unifi_user:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
default: unpoller
|
||||||
|
alloy_unpoller_unifi_password:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
alloy_unpoller_unifi_url:
|
||||||
|
type: str
|
||||||
|
required: false
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
- name: Render blackbox exporter config
|
- name: Render blackbox exporter config
|
||||||
tags: [ blackbox-exporter, alloy ]
|
|
||||||
become: true
|
become: true
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: config.blackbox-exporter.j2
|
src: config.blackbox-exporter.j2
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
name: grafana
|
name: grafana
|
||||||
types: deb
|
types: deb
|
||||||
uris: https://apt.grafana.com
|
uris: https://apt.grafana.com
|
||||||
suites: stable
|
suites: "{{ ansible_facts['distribution_release'] }}"
|
||||||
components:
|
components:
|
||||||
- main
|
- main
|
||||||
signed_by: https://apt.grafana.com/gpg.key
|
signed_by: https://apt.grafana.com/gpg.key
|
||||||
|
|
@ -2,9 +2,8 @@
|
||||||
- name: Deploy Grafana Alloy with config
|
- name: Deploy Grafana Alloy with config
|
||||||
tags: [ alloy ]
|
tags: [ alloy ]
|
||||||
block:
|
block:
|
||||||
- name: Install Alloy on Debian
|
- name: Install Alloy
|
||||||
when: ansible_facts['distribution'] == "Debian"
|
ansible.builtin.include_tasks: install.yaml
|
||||||
ansible.builtin.include_tasks: install_debian.yml
|
|
||||||
|
|
||||||
- name: Create systemd override for alloy
|
- name: Create systemd override for alloy
|
||||||
become: true
|
become: true
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
- name: Install and Setup unpoller
|
- name: Install and Setup unpoller
|
||||||
tags: [ unpoller, alloy, podman, container ]
|
|
||||||
block:
|
block:
|
||||||
- name: Install Podman
|
- name: Install Podman
|
||||||
become: true
|
become: true
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,3 @@
|
||||||
---
|
---
|
||||||
alloy_enable_blackbox_exporter: "{{ 'prometheus.exporter.blackbox' in (alloy_config_default + alloy_config_additional) }}"
|
alloy_enable_blackbox_exporter: "{{ 'prometheus.exporter.blackbox' in (alloy_config_default + alloy_config_additional) }}"
|
||||||
|
alloy_do_we_have_v6: "{{ (ansible_facts['all_ipv6_addresses'] | select('match', '^[23]') | list | length > 0) | ternary('true', 'false') }}"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue