Роль для настройки сервера майнкрафт под Alpine Linux
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.
AlpMine/roles/minecraft/tasks/mariadb.yml

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