add MariaDB role
This commit is contained in:
7
roles/mariadb/tasks/main.yml
Normal file
7
roles/mariadb/tasks/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: Install mariadb
|
||||
import_tasks: mariadb.yml
|
||||
|
||||
- name: Install mysqld exporter
|
||||
import_tasks: mysqld_exporter.yml
|
||||
36
roles/mariadb/tasks/mariadb.yml
Normal file
36
roles/mariadb/tasks/mariadb.yml
Normal 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
|
||||
50
roles/mariadb/tasks/mysqld_exporter.yml
Normal file
50
roles/mariadb/tasks/mysqld_exporter.yml
Normal 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
|
||||
Reference in New Issue
Block a user