fix(fleet): switch MySQL to MariaDB, remove manual DB creation anti-pattern

This commit is contained in:
MickLesk
2026-05-18 14:02:14 +02:00
parent 8a4c0bdc60
commit aac0c75567
2 changed files with 10 additions and 22 deletions

View File

@@ -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"

View File

@@ -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