add MariaDB role

This commit is contained in:
Oli
2022-12-15 22:34:38 +00:00
parent bfe4b99ff7
commit 6d1b0d1183
10 changed files with 210 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
---
- name: Install mariadb
import_tasks: mariadb.yml
- name: Install mysqld exporter
import_tasks: mysqld_exporter.yml

View File

@@ -0,0 +1,36 @@
---
- name: Add MariaDB GPG apt key
apt_key:
url: https://mariadb.org/mariadb_release_signing_key.asc
keyring: /usr/share/keyrings/mariadb_release_signing_key.gpg
state: present
- name: Add MariaDB Repository
apt_repository:
repo: "deb [arch={{ deb_architecture }} signed-by=/usr/share/keyrings/mariadb_release_signing_key.gpg] \
https://mirrors.n-ix.net/mariadb/repo/{{ mariadb_server_version }}/ubuntu {{ ansible_distribution_release }} main/debug"
state: present
update_cache: true
- name: Install MariaDB
apt:
name: mariadb-server
state: latest
update_cache: true
cache_valid_time: 3600
- name: Install required system packages
apt:
name: python3-mysqldb # needed for mariadb ansible module
state: latest
update_cache: true
cache_valid_time: 3600
- name: Copy configuration file
template:
src: my.cnf.j2
dest: /etc/mysql/my.cnf
owner: mysql
group: mysql
mode: 0600
notify: restart mariadb

View File

@@ -0,0 +1,50 @@
---
- name: Get latest mysqld_exporter version
github_release:
user: prometheus
repo: mysqld_exporter
action: latest_release
token: "{{ vault_github_token }}"
delegate_to: localhost
run_once: true
register: mysqld_exporter_version
- name: "{{ mysqld_exporter_version }}"
set_fact:
mysqld_exporter_version: "{{ mysqld_exporter_version | replace ('v', '', 1) | trim }}"
run_once: true
- name: download mysqld_exporter {{ mysqld_exporter_version.tag }} from GitHub
get_url:
url: "https://github.com/prometheus/mysqld_exporter/releases/download/\
v{{ mysqld_exporter_version.tag }}/mysqld_exporter-{{ mysqld_exporter_version.tag }}\
.linux-{{ deb_architecture }}.tar.gz"
dest: "/tmp/mysqld_exporter-{{ mysqld_exporter_version.tag }}.linux-{{ deb_architecture }}.tar.gz"
register: _download_archive
until: _download_archive is succeeded
retries: 3
delay: 5
- name: unpack mysqld_exporter binaries
unarchive:
src: "/tmp/mysqld_exporter-{{ mysqld_exporter_version.tag }}.linux-{{ deb_architecture }}.tar.gz"
dest: "/tmp"
creates: "/tmp/mysqld_exporter-{{ mysqld_exporter_version.tag }}.linux-{{ deb_architecture }}"
remote_src: true
- name: Copy mysqld_exporter
copy:
src: "/tmp/mysqld_exporter-{{ mysqld_exporter_version.tag }}.linux-{{ deb_architecture }}/mysqld_exporter"
dest: "{{ mysqld_exporter_install_dir }}/mysqld_exporter"
remote_src: true
mode: 0755
notify: restart mysqld_exporter
- name: Copy the mysqld_exporter systemd service file
template:
src: mysqld_exporter.service.j2
dest: /etc/systemd/system/mysqld_exporter.service
owner: root
group: root
mode: 0644
notify: restart mysqld_exporter