You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.5 KiB
101 lines
2.5 KiB
---
|
|
- name: Update repositories
|
|
community.general.apk:
|
|
update_cache: true
|
|
|
|
- name: Install ext packages
|
|
community.general.apk:
|
|
name: "{{ ext_pkgs }}"
|
|
state: present
|
|
when: not ansible_check_mode
|
|
|
|
- name: Check that the mysql dir exists
|
|
ansible.builtin.stat :
|
|
path: /var/lib/mysql
|
|
register: stat_result
|
|
|
|
- name: Init Mariadb
|
|
ansible.builtin.service:
|
|
name: mariadb
|
|
state: stopped
|
|
args: setup
|
|
when: not stat_result.stat.exists
|
|
|
|
- name: Deploy mariadb config
|
|
copy:
|
|
src: "files/mariadb/mariadb-server.cnf"
|
|
dest: "/etc/my.cnf.d/mariadb-server.cnf"
|
|
mode: '0644'
|
|
notify: Restart MariaDB
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|
|
|
|
- name: mysql_secure_installation
|
|
when: not stat_result.stat.exists
|
|
block:
|
|
- name: Removes all anonymous user accounts
|
|
community.mysql.mysql_user:
|
|
login_user: root
|
|
login_unix_socket: /run/mysqld/mysqld.sock
|
|
name: ''
|
|
host_all: true
|
|
state: absent
|
|
|
|
- name: Delete Hostname based MySQL user
|
|
community.mysql.mysql_user:
|
|
login_user: root
|
|
login_unix_socket: /run/mysqld/mysqld.sock
|
|
name: root
|
|
host: "{{ansible_nodename}}"
|
|
state: absent
|
|
|
|
- name: Remove MySQL test database
|
|
community.mysql.mysql_db:
|
|
login_user: root
|
|
login_unix_socket: /run/mysqld/mysqld.sock
|
|
name: test
|
|
state: absent
|
|
|
|
- name: Reload privilege tables
|
|
ansible.builtin.command: 'mysql -ne "{{ item }}"'
|
|
with_items:
|
|
- FLUSH PRIVILEGES
|
|
changed_when: False
|
|
|
|
- name: Add MariaDB to boot
|
|
ansible.builtin.service:
|
|
name: mariadb
|
|
runlevel: default
|
|
enabled: True
|
|
use: openrc
|
|
when: not ansible_check_mode
|
|
|
|
# Minecraft Role Tasks
|
|
- name: Config Mysql Users And DB for Minecraft
|
|
tags: mine_db
|
|
block:
|
|
- name: Create a Dynmap Database
|
|
community.mysql.mysql_db:
|
|
login_user: root
|
|
login_unix_socket: /run/mysqld/mysqld.sock
|
|
name: "{{ minecraft_db }}"
|
|
state: present
|
|
|
|
- name: Create user and priv db
|
|
community.mysql.mysql_user:
|
|
login_user: root
|
|
login_unix_socket: /run/mysqld/mysqld.sock
|
|
name: "{{ sql_user }}"
|
|
password: "{{ sql_pass }}"
|
|
priv:
|
|
"{{ item }}.*:ALL"
|
|
state: present
|
|
append_privs: True
|
|
with_items: "{{ minecraft_db }}"
|
|
|
|
- name: Reload privilege tables
|
|
ansible.builtin.command: 'mysql -ne "{{ item }}"'
|
|
with_items:
|
|
- FLUSH PRIVILEGES
|
|
changed_when: False
|
|
|