Add roles for lego, logcli, mimir, process_exporter, smokeping_prober, and vector

This commit is contained in:
2024-04-14 17:13:06 -05:00
parent ce692e4560
commit b02da06c97
51 changed files with 1417 additions and 0 deletions

View File

@ -0,0 +1,68 @@
---
mimir_package_name: mimir
mimir_package_state: present
mimir_service_name: mimir.service
mimir_service_enabled: true
mimir_service_state: started
mimir_apt_repository_repo: deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main
mimir_apt_repository_state: present
mimir_version_regex: ^mimir, version ([\d.]+)
mimir_user_name: mimir
mimir_user_comment: mimir user
mimir_user_state: present
mimir_user_shell: /usr/sbin/nologin
mimir_user_system: true
mimir_user_createhome: false
mimir_group_name: mimir
mimir_group_state: "{{ mimir_user_state | default('present') }}"
mimir_group_system: true
mimir_var_dir_path: /var/lib/mimir
mimir_var_dir_owner: "{{ mimir_user_name }}"
mimir_var_dir_group: "{{ mimir_group_name }}"
mimir_var_dir_mode: "0700"
mimir_etc_dir_path: /etc/mimir
mimir_etc_dir_owner: "{{ mimir_user_name }}"
mimir_etc_dir_group: "{{ mimir_group_name }}"
mimir_etc_dir_mode: "0755"
mimir_config_file_path: "{{ mimir_etc_dir_path }}/config.yml"
mimir_config_file_path_owner: "{{ mimir_user_name }}"
mimir_config_file_path_group: "{{ mimir_group_name }}"
mimir_config_file_path_mode: "0755"
m# imir_common:
# {}
mimir_server:
http_listen_port: 9009
mimir_alertmanager:
sharding_ring:
replication_factor: 1
# mimir_compactor:
# {}
# mimir_distributor:
# {}
mimir_ingester:
ring:
replication_factor: 1
mimir_store_gateway:
sharding_ring:
replication_factor: 1
# mimir_blocks_storage:
# {}
# mimir_ruler_storage:
# {}

Binary file not shown.

View File

@ -0,0 +1,6 @@
---
- name: restart mimir
systemd:
name: "{{ mimir_service_name }}"
daemon_reload: true
state: restarted

View File

@ -0,0 +1,14 @@
---
- name: trust grafana apt respository key
ansible.builtin.copy:
src: "grafana.gpg"
dest: "/etc/apt/keyrings/grafana.gpg"
owner: root
group: root
mode: 0644
- name: configure grafana apt repository
ansible.builtin.apt_repository:
repo: "{{ mimir_apt_repository_repo }}"
state: "{{ mimir_apt_repository_state | default('present') }}"
filename: grafana

View File

@ -0,0 +1,48 @@
---
- name: create group
ansible.builtin.group:
name: "{{ mimir_group_name }}"
system: "{{ mimir_group_system | default(true) }}"
state: "{{ mimir_group_name_state | default('present') }}"
- name: create user
ansible.builtin.user:
name: "{{ mimir_user_name }}"
comment: "{{ mimir_user_comment }}"
system: "{{ mimir_user_system | default(true) }}"
shell: "{{ mimir_user_shell | default('/usr/sbin/nologin') }}"
group: "{{ mimir_group_name }}"
createhome: "{{ mimir_user_createhome | default(false) }}"
home: "{{ mimir_var_dir_path }}"
state: "{{ mimir_user_state | default('present') }}"
- name: create etc path
ansible.builtin.file:
path: "{{ mimir_etc_dir_path }}"
state: directory
owner: "{{ mimir_etc_dir_owner }}"
group: "{{ mimir_etc_dir_group }}"
mode: "{{ mimir_etc_dir_mode }}"
- name: create var path
ansible.builtin.file:
path: "{{ mimir_var_dir_path }}"
state: directory
owner: "{{ mimir_var_dir_owner }}"
group: "{{ mimir_var_dir_group }}"
mode: "{{ mimir_var_dir_mode }}"
- name: configure
template:
src: config.yml.j2
dest: "{{ mimir_config_file_path }}"
owner: "{{ mimir_user_name }}"
group: "{{ mimir_group_name }}"
mode: 0400
notify: restart mimir
- name: manage service
service:
name: "{{ mimir_service_name }}"
enabled: "{{ mimir_service_enabled }}"
state: "{{ mimir_service_state }}"

View File

View File

@ -0,0 +1,5 @@
---
- name: install package
ansible.builtin.package:
name: "{{ mimir_package_name }}"
state: "{{ mimir_package_state | default('present') }}"

View File

@ -0,0 +1,28 @@
---
- name: gather os specific variables
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- "default.yaml"
paths:
- vars
- name: include os specific tasks
ansible.builtin.include_tasks: "{{ lookup('first_found', params) }}"
vars:
params:
files:
- "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml"
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- "default.yaml"
paths:
- tasks
- ansible.builtin.include_tasks: install.yaml
- ansible.builtin.include_tasks: configure.yaml

View File

@ -0,0 +1,51 @@
# {{ ansible_managed }}
---
{% if mimir_common is defined %}
common:
{{ mimir_common | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_server is defined %}
server:
{{ mimir_server | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_alertmanager is defined %}
alertmanager:
{{ mimir_alertmanager | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_compactor is defined %}
compactor:
{{ mimir_compactor | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_distributor is defined %}
distributor:
{{ mimir_distributor | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_ingester is defined %}
ingester:
{{ mimir_ingester | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_store_gateway is defined %}
store_gateway:
{{ mimir_store_gateway | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_alertmanager_storage is defined %}
alertmanager_storage:
{{ mimir_alertmanager_storage | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_blocks_storage is defined %}
blocks_storage:
{{ mimir_blocks_storage | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}
{% if mimir_ruler_storage is defined %}
ruler_storage:
{{ mimir_ruler_storage | to_nice_yaml(indent=2) | indent(4, False) }}
{% endif -%}

View File