#!/bin/bash

# CONTEXT: GUEST during CONSTRUCTION as ROOT
# PURPOSE: Install controller base required packages
# Refer to https://mariadb.com/kb/en/library/installing-mariadb-deb-files

set -e
set -o xtrace

export DEBIAN_FRONTEND=noninteractive

# These GPG key IDs are used to fetch keys from a keyserver on Ubuntu & Debian
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup |
  bash -s -- --mariadb-server-version="mariadb-10.4" --skip-key-import --skip-maxscale

# NOTE(lxkong): Refer to https://www.percona.com/doc/percona-xtrabackup/2.4/installation/apt_repo.html
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

apt-get update

# Disable password prompt
debconf-set-selections <<< "mariadb-server mysql-server/root_password password ''"
debconf-set-selections <<< "mariadb-server mysql-server/root_password_again password ''"

apt-get install -y --allow-unauthenticated mariadb-server mariadb-client galera-4 libmariadb3 mariadb-backup mariadb-common percona-xtrabackup-24

cat <<EOF >/etc/mysql/conf.d/no_perf_schema.cnf
[mysqld]
performance_schema = off
EOF

chown mysql:mysql /etc/mysql/my.cnf
rm -f /etc/init.d/mysql
systemctl daemon-reload
systemctl enable mariadb