1
0

🏗️」 wip: work in progress, not done yet.

This commit is contained in:
2025-01-10 16:57:23 +01:00
parent bccd5c1ec6
commit 45ef1f3ddf
14 changed files with 88 additions and 51 deletions

View File

@ -96,7 +96,7 @@ func checkOlderDB(dataDir string) bool {
func waitForMariaDB(rootPass string) {
for i := 0; i < 30; i++ {
cmd := exec.Command("mariadb", "-uroot", "-p"+escapePassword(rootPass), "-e", "SELECT 1")
cmd := exec.Command("mariadb", "-uroot", "-p"+env.EscapeEnv(rootPass), "-e", "SELECT 1")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err == nil {
@ -116,11 +116,6 @@ func waitForMariaDB(rootPass string) {
// return fmt.Sprintf("%s", strings.ReplaceAll(identifier, "'", "\""))
//}
func escapePassword(password string) string {
// Escape single quotes in passwords
new := strings.ReplaceAll(password, "\"", "")
return strings.ReplaceAll(new, "'", "\\'")
}
func configureMariaDB(rootPassword, user, password, database string) {
cmd := exec.Command("mariadb", "-uroot", "-e", fmt.Sprintf(`
@ -131,14 +126,14 @@ func configureMariaDB(rootPassword, user, password, database string) {
GRANT ALL PRIVILEGES ON %s.* TO '%s'@'%%';
FLUSH PRIVILEGES;
`,
escapePassword(rootPassword),
escapePassword(database),
escapePassword(user),
escapePassword(database),
escapePassword(user),
escapePassword(password),
escapePassword(database),
escapePassword(user),
env.EscapeEnv(rootPassword),
env.EscapeEnv(database),
env.EscapeEnv(user),
env.EscapeEnv(database),
env.EscapeEnv(user),
env.EscapeEnv(password),
env.EscapeEnv(database),
env.EscapeEnv(user),
))
// Capture standard output and error
@ -189,7 +184,7 @@ func main() {
configureMariaDB(rootPass, user, pass, dbName)
cmd_stop := exec.Command("mariadb-admin", "-uroot", "-p"+escapePassword(rootPass), "shutdown")
cmd_stop := exec.Command("mariadb-admin", "-uroot", "-p"+env.EscapeEnv(rootPass), "shutdown")
cmd_stop.Stdout = os.Stdout
cmd_stop.Stderr = os.Stderr
if err := cmd_stop.Run(); err != nil {

View File

@ -1,5 +0,0 @@
package main
import (
)

View File

@ -1,10 +1,9 @@
package main
import (
"fmt"
"os"
"fmt"
"os/exec"
"strings"
"git.keyzox.me/42_adjoly/inception/internal/env"
)
@ -23,16 +22,10 @@ func checkMariaDB(user, password, host, port string) bool {
return true
}
func escapePassword(password string) string {
// Escape single quotes in passwords
new := strings.ReplaceAll(password, "\"", "")
return strings.ReplaceAll(new, "'", "\\'")
}
func main() {
// Configuration
user := escapePassword(env.FileEnv("MYSQL_USER", "mariadb"))
password := escapePassword(env.FileEnv("MYSQL_PASSWORD", "default"))
user := env.EscapeEnv(env.FileEnv("MYSQL_USER", "mariadb"))
password := env.EscapeEnv(env.FileEnv("MYSQL_PASSWORD", "default"))
host := "127.0.0.1"
port := "3306"

View File

@ -1,9 +0,0 @@
package main
import (
)
func main() {
}