fix(fleet): switch MySQL to MariaDB, remove manual DB creation anti-pattern
This commit is contained in:
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -39,7 +39,7 @@ function update_script() {
|
||||
|
||||
msg_info "Running Database Migrations"
|
||||
set -a && source /opt/fleet/.env && set +a
|
||||
$STD /opt/fleet/fleet prepare db
|
||||
$STD /opt/fleet/fleet prepare db --no-prompt
|
||||
msg_ok "Ran Database Migrations"
|
||||
|
||||
msg_info "Starting Service"
|
||||
|
||||
@@ -13,25 +13,13 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
setup_mysql
|
||||
setup_mariadb
|
||||
MARIADB_DB_NAME="fleet" MARIADB_DB_USER="fleet" setup_mariadb_db
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
redis-server
|
||||
$STD apt install -y redis-server
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Setting up Database"
|
||||
FLEET_DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c 13)
|
||||
$STD mysql -u root <<EOSQL
|
||||
CREATE DATABASE fleet;
|
||||
CREATE USER 'fleet'@'localhost' IDENTIFIED BY '${FLEET_DB_PASS}';
|
||||
GRANT ALL PRIVILEGES ON fleet.* TO 'fleet'@'localhost';
|
||||
CREATE USER 'fleet'@'127.0.0.1' IDENTIFIED BY '${FLEET_DB_PASS}';
|
||||
GRANT ALL PRIVILEGES ON fleet.* TO 'fleet'@'127.0.0.1';
|
||||
FLUSH PRIVILEGES;
|
||||
EOSQL
|
||||
msg_ok "Set up Database"
|
||||
|
||||
fetch_and_deploy_gh_release "fleet" "fleetdm/fleet" "prebuild" "latest" "/opt/fleet" "fleet_v*_linux.tar.gz"
|
||||
|
||||
msg_info "Configuring Application"
|
||||
@@ -39,9 +27,9 @@ chmod +x /opt/fleet/fleet
|
||||
PRIVATE_KEY=$(openssl rand -hex 32)
|
||||
cat <<EOF >/opt/fleet/.env
|
||||
FLEET_MYSQL_ADDRESS=127.0.0.1:3306
|
||||
FLEET_MYSQL_DATABASE=fleet
|
||||
FLEET_MYSQL_USERNAME=fleet
|
||||
FLEET_MYSQL_PASSWORD=${FLEET_DB_PASS}
|
||||
FLEET_MYSQL_DATABASE=${MARIADB_DB_NAME}
|
||||
FLEET_MYSQL_USERNAME=${MARIADB_DB_USER}
|
||||
FLEET_MYSQL_PASSWORD=${MARIADB_DB_PASS}
|
||||
FLEET_SERVER_ADDRESS=0.0.0.0:8080
|
||||
FLEET_SERVER_TLS=false
|
||||
FLEET_SERVER_PRIVATE_KEY=${PRIVATE_KEY}
|
||||
@@ -59,8 +47,8 @@ msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/fleet.service
|
||||
[Unit]
|
||||
Description=Fleet
|
||||
After=network.target mysql.service redis-server.service
|
||||
Requires=mysql.service redis-server.service
|
||||
After=network.target mariadb.service redis-server.service
|
||||
Requires=mariadb.service redis-server.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
Reference in New Issue
Block a user