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,34 @@
---
vector_package_name: vector
vector_package_state: present
vector_service_name: vector.service
vector_service_state: started
vector_service_enabled: true
vector_user: vector
vector_group: vector
vector_etc_path: /etc/vector
vector_config_file_mode: 0600
vector_config:
api:
enabled: true
vector_sources:
sources:
journald:
type: journald
vector_transforms:
transforms:
{}
vector_sinks:
sinks:
blackhole:
type: blackhole
inputs:
- journald

View File

@ -0,0 +1,6 @@
---
- name: restart vector
ansible.builtin.systemd:
name: "{{ vector_service_name }}"
daemon_reload: true
state: restarted

View File

@ -0,0 +1,22 @@
---
- name: configure apt repositories
block:
- name: add repository key
ansible.builtin.get_url:
url: https://repositories.timber.io/public/vector/gpg.3543DB2D0A2BC4B8.key
dest: /etc/apt/keyrings/timber-vector-archive-keyring.asc
#- name: dearmor GPG key
# ansible.builtin.shell: gpg --dearmor /tmp/timber-vector-archive-keyring.asc --output /etc/apt/keyrings/timber-vector-archive-keyring.gpg
# args:
# creates: /etc/apt/keyrings/timber-vector-archive-keyring.gpg
- name: add apt repository
ansible.builtin.apt_repository:
repo: "deb [signed-by=/etc/apt/keyrings/timber-vector-archive-keyring.asc] https://repositories.timber.io/public/vector/deb/ubuntu {{ ansible_distribution_release }} main"
state: present
- name: add apt source repository
ansible.builtin.apt_repository:
repo: "deb-src [signed-by=/etc/apt/keyrings/timber-vector-archive-keyring.asc] https://repositories.timber.io/public/vector/deb/ubuntu {{ ansible_distribution_release }} main"
state: present

View File

@ -0,0 +1,84 @@
---
- name: remove example files
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop:
- "{{ vector_etc_path }}/vector.toml"
- "{{ vector_etc_path }}/examples"
notify:
- restart vector
- name: configure
ansible.builtin.copy:
dest: "{{ vector_etc_path }}/vector.yaml"
owner: "{{ vector_user }}"
group: "{{ vector_group }}"
mode: "{{ vector_config_file_mode }}"
content: "{{ vector_config | to_yaml }}"
notify:
- restart vector
- name: configure sources
ansible.builtin.copy:
dest: "{{ vector_etc_path }}/sources.yaml"
owner: "{{ vector_user }}"
group: "{{ vector_group }}"
mode: "{{ vector_config_file_mode }}"
content: "{{ vector_sources | to_yaml }}"
notify:
- restart vector
- name: configure transforms
ansible.builtin.copy:
dest: "{{ vector_etc_path }}/transforms.yaml"
owner: "{{ vector_user }}"
group: "{{ vector_group }}"
mode: "{{ vector_config_file_mode }}"
content: "{{ vector_transforms | to_yaml }}"
notify:
- restart vector
- name: configure sinks
ansible.builtin.copy:
dest: "{{ vector_etc_path }}/sinks.yaml"
owner: "{{ vector_user }}"
group: "{{ vector_group }}"
mode: "{{ vector_config_file_mode }}"
content: "{{ vector_sinks | to_yaml }}"
notify:
- restart vector
- name: systemd unit overrides
block:
- name: create /etc/systemd/system/vector.service.d
ansible.builtin.file:
dest: /etc/systemd/system/vector.service.d
owner: root
group: root
mode: 0755
state: directory
- name: vector systemd unit override
ansible.builtin.copy:
dest: /etc/systemd/system/vector.service.d/ansible.conf
owner: root
group: root
mode: 0644
content: |
# Ansible managed
[Service]
Environment=VECTOR_CONFIG="{{ vector_etc_path }}/*.yaml"
RuntimeDirectory="vector"
notify:
- restart vector
- name: flush handlers
ansible.builtin.meta: flush_handlers
- name: manage service
ansible.builtin.service:
name: "{{ vector_service_name }}"
state: "{{ vector_service_state }}"
enabled: "{{ vector_service_enabled }}"

View File

View File

@ -0,0 +1,5 @@
---
- name: install package
package:
name: "{{ vector_package_name }}"
state: "{{ vector_package_state }}"

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
- include_tasks: install.yaml
- include_tasks: configure.yaml

View File