2024-08-03 16:03:17 +02:00
|
|
|
package pkg
|
|
|
|
|
|
2024-08-30 19:58:12 +02:00
|
|
|
import (
|
|
|
|
|
"github.com/jkaninda/mysql-bkup/utils"
|
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
|
"os"
|
|
|
|
|
)
|
|
|
|
|
|
2024-08-03 16:03:17 +02:00
|
|
|
type Config struct {
|
|
|
|
|
}
|
2024-08-30 19:58:12 +02:00
|
|
|
|
|
|
|
|
type dbConfig struct {
|
|
|
|
|
dbHost string
|
|
|
|
|
dbPort string
|
|
|
|
|
dbName string
|
|
|
|
|
dbUserName string
|
|
|
|
|
dbPassword string
|
|
|
|
|
}
|
2024-09-03 06:49:26 +02:00
|
|
|
type targetDbConfig struct {
|
|
|
|
|
targetDbHost string
|
|
|
|
|
targetDbPort string
|
|
|
|
|
targetDbUserName string
|
|
|
|
|
targetDbPassword string
|
|
|
|
|
targetDbName string
|
2024-08-30 19:58:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func getDbConfig(cmd *cobra.Command) *dbConfig {
|
|
|
|
|
//Set env
|
|
|
|
|
utils.GetEnv(cmd, "dbname", "DB_NAME")
|
|
|
|
|
dConf := dbConfig{}
|
|
|
|
|
dConf.dbHost = os.Getenv("DB_HOST")
|
|
|
|
|
dConf.dbPort = os.Getenv("DB_PORT")
|
|
|
|
|
dConf.dbName = os.Getenv("DB_NAME")
|
|
|
|
|
dConf.dbUserName = os.Getenv("DB_USERNAME")
|
|
|
|
|
dConf.dbPassword = os.Getenv("DB_PASSWORD")
|
|
|
|
|
|
|
|
|
|
err := utils.CheckEnvVars(dbHVars)
|
|
|
|
|
if err != nil {
|
|
|
|
|
utils.Error("Please make sure all required environment variables for database are set")
|
|
|
|
|
utils.Fatal("Error checking environment variables: %s", err)
|
|
|
|
|
}
|
|
|
|
|
return &dConf
|
|
|
|
|
}
|
2024-09-03 06:49:26 +02:00
|
|
|
func getTargetDbConfig() *targetDbConfig {
|
|
|
|
|
tdbConfig := targetDbConfig{}
|
|
|
|
|
tdbConfig.targetDbHost = os.Getenv("TARGET_DB_HOST")
|
|
|
|
|
tdbConfig.targetDbPort = os.Getenv("TARGET_DB_PORT")
|
|
|
|
|
tdbConfig.targetDbName = os.Getenv("TARGET_DB_NAME")
|
|
|
|
|
tdbConfig.targetDbUserName = os.Getenv("TARGET_DB_USERNAME")
|
|
|
|
|
tdbConfig.targetDbPassword = os.Getenv("TARGET_DB_PASSWORD")
|
2024-08-30 19:58:12 +02:00
|
|
|
|
2024-09-03 06:49:26 +02:00
|
|
|
err := utils.CheckEnvVars(tdbRVars)
|
2024-08-30 19:58:12 +02:00
|
|
|
if err != nil {
|
2024-09-03 06:49:26 +02:00
|
|
|
utils.Error("Please make sure all required environment variables for the target database are set")
|
|
|
|
|
utils.Fatal("Error checking target database environment variables: %s", err)
|
2024-08-30 19:58:12 +02:00
|
|
|
}
|
2024-09-03 06:49:26 +02:00
|
|
|
return &tdbConfig
|
2024-08-30 19:58:12 +02:00
|
|
|
}
|