Load Local Environment
This commit is contained in:
parent
91c2cb2c9e
commit
e9fb08f2ca
8
src/api/go.mod
Normal file
8
src/api/go.mod
Normal file
@ -0,0 +1,8 @@
|
||||
module api
|
||||
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/go-sql-driver/mysql v1.6.0
|
||||
github.com/joho/godotenv v1.4.0
|
||||
)
|
4
src/api/go.sum
Normal file
4
src/api/go.sum
Normal file
@ -0,0 +1,4 @@
|
||||
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||
github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg=
|
||||
github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
18
src/api/helper/10_ConnectDB.go
Normal file
18
src/api/helper/10_ConnectDB.go
Normal file
@ -0,0 +1,18 @@
|
||||
package helper
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
|
||||
// docker run --name mysqldb -e MYSQL_ROOT_PASSWORD=rootpw -p 3307:3306 -d mysql:latest
|
||||
func ConnectDB() {
|
||||
db_string := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", Db_User, Db_Pass, Db_Host, Db_Port, Db_Default_Db)
|
||||
Db, err := sql.Open("mysql", db_string)
|
||||
if err != nil {
|
||||
LogErrorFatal(err)
|
||||
}
|
||||
defer Db.Close()
|
||||
}
|
42
src/api/helper/10_LoadEnv.go
Normal file
42
src/api/helper/10_LoadEnv.go
Normal file
@ -0,0 +1,42 @@
|
||||
package helper
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func Loadenv() {
|
||||
GetConfigFile()
|
||||
err := godotenv.Load()
|
||||
LogErrorWarning(err)
|
||||
}
|
||||
|
||||
func GetConfigFile() {
|
||||
dotenv_exists := FileExists(".env")
|
||||
if dotenv_exists {
|
||||
godotenv.Load(".env")
|
||||
LogInfo(".env file found, using prefered values")
|
||||
} else {
|
||||
LogInfo("No .env file found, using default values")
|
||||
}
|
||||
GetDefaults()
|
||||
}
|
||||
|
||||
func Set_logfile() {
|
||||
f, err := os.OpenFile(Log_file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
|
||||
if err != nil {
|
||||
log.Fatalf("error opening file: %v", err)
|
||||
}
|
||||
defer f.Close()
|
||||
log.SetOutput(f)
|
||||
}
|
||||
|
||||
func FileExists(filename string) bool {
|
||||
info, err := os.Stat(filename)
|
||||
if os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
return !info.IsDir()
|
||||
}
|
21
src/api/helper/20_CheckError.go
Normal file
21
src/api/helper/20_CheckError.go
Normal file
@ -0,0 +1,21 @@
|
||||
package helper
|
||||
|
||||
import "log"
|
||||
|
||||
func LogErrorWarning(err error) {
|
||||
if err != nil {
|
||||
log.Printf("WARNING: %v \n", err)
|
||||
}
|
||||
}
|
||||
|
||||
func LogErrorFatal(err error) {
|
||||
if err != nil {
|
||||
log.Fatalf("ERROR: %v \n", err)
|
||||
}
|
||||
}
|
||||
|
||||
func LogInfo(info string) {
|
||||
if info != "" {
|
||||
log.Printf("INFO: %v \n", info)
|
||||
}
|
||||
}
|
72
src/api/helper/20_GetDefaults.go
Normal file
72
src/api/helper/20_GetDefaults.go
Normal file
@ -0,0 +1,72 @@
|
||||
package helper
|
||||
|
||||
import "os"
|
||||
|
||||
func GetDefaults() {
|
||||
// Gin Variables
|
||||
// Set IP
|
||||
env_ip, present := os.LookupEnv("LISTEN_IP")
|
||||
if present {
|
||||
Ip = env_ip
|
||||
} else {
|
||||
Ip = default_ip
|
||||
}
|
||||
// Set Port
|
||||
env_port, present := os.LookupEnv("LISTEN_PORT")
|
||||
if present {
|
||||
Http_port = env_port
|
||||
} else {
|
||||
Http_port = default_port
|
||||
}
|
||||
// Log Variables
|
||||
// Set Logfile
|
||||
env_log_file, present := os.LookupEnv("LOG_FILE")
|
||||
if present {
|
||||
Log_file = env_log_file
|
||||
} else {
|
||||
Log_file = default_log_file
|
||||
}
|
||||
// Set Gin log file
|
||||
env_gin_log_file, present := os.LookupEnv("GIN_LOG_FILE")
|
||||
if present {
|
||||
Gin_log_file = env_gin_log_file
|
||||
} else {
|
||||
Gin_log_file = default_gin_log_file
|
||||
}
|
||||
// DB Variables
|
||||
// Set DB User
|
||||
env_db_user, present := os.LookupEnv("DB_USER")
|
||||
if present {
|
||||
Db_User = env_db_user
|
||||
} else {
|
||||
Db_User = default_DB_User
|
||||
}
|
||||
// Set DB Password
|
||||
env_db_pass, present := os.LookupEnv("DB_PASSWORD")
|
||||
if present {
|
||||
Db_Pass = env_db_pass
|
||||
} else {
|
||||
Db_Pass = default_DB_Pass
|
||||
}
|
||||
// Set DB Port
|
||||
env_db_port, present := os.LookupEnv("DB_PORT")
|
||||
if present {
|
||||
Db_Port = env_db_port
|
||||
} else {
|
||||
Db_Port = default_DB_Port
|
||||
}
|
||||
// Set DB Host
|
||||
env_db_host, present := os.LookupEnv("DB_HOST")
|
||||
if present {
|
||||
Db_Host = env_db_host
|
||||
} else {
|
||||
Db_Host = default_DB_Host
|
||||
}
|
||||
// Set DB Default Database
|
||||
env_db_default_db, present := os.LookupEnv("DB_DEFAULT_DATABASE")
|
||||
if present {
|
||||
Db_Default_Db = env_db_default_db
|
||||
} else {
|
||||
Db_Default_Db = default_DB_Default_db
|
||||
}
|
||||
}
|
5
src/api/helper/90_vars.go
Normal file
5
src/api/helper/90_vars.go
Normal file
@ -0,0 +1,5 @@
|
||||
package helper
|
||||
|
||||
import "database/sql"
|
||||
|
||||
var Db *sql.DB
|
33
src/api/helper/91_default_vars.go
Normal file
33
src/api/helper/91_default_vars.go
Normal file
@ -0,0 +1,33 @@
|
||||
package helper
|
||||
|
||||
// Default Vars
|
||||
// --- Default Gin Vars ---
|
||||
var default_port string = "8081"
|
||||
var default_ip string = "0.0.0.0"
|
||||
|
||||
// --- Default Log Vars ---
|
||||
var default_log_file string = "/var/log/gonodeinfo.log"
|
||||
var default_gin_log_file string = "/var/log/gonodeinfo.gin.log"
|
||||
|
||||
// --- Default DB Vars ---
|
||||
var default_DB_User string = "root"
|
||||
var default_DB_Pass string = "rootpw"
|
||||
var default_DB_Host string = "127.0.0.1"
|
||||
var default_DB_Port string = "3307"
|
||||
var default_DB_Default_db string = "sys"
|
||||
|
||||
// Vars
|
||||
// --- Gin Vars ---
|
||||
var Http_port string
|
||||
var Ip string
|
||||
|
||||
// --- Log Vars ---
|
||||
var Log_file string
|
||||
var Gin_log_file string
|
||||
|
||||
// --- DB Vars ---
|
||||
var Db_User string
|
||||
var Db_Pass string
|
||||
var Db_Host string
|
||||
var Db_Port string
|
||||
var Db_Default_Db string
|
9
src/api/main.go
Normal file
9
src/api/main.go
Normal file
@ -0,0 +1,9 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
helper "api/helper"
|
||||
)
|
||||
|
||||
func main() {
|
||||
helper.Loadenv()
|
||||
}
|
5
src/api/test/main.go
Normal file
5
src/api/test/main.go
Normal file
@ -0,0 +1,5 @@
|
||||
package main
|
||||
|
||||
func main() {
|
||||
Test()
|
||||
}
|
7
src/api/test/test.go
Normal file
7
src/api/test/test.go
Normal file
@ -0,0 +1,7 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func Test() {
|
||||
fmt.Println("test")
|
||||
}
|
0
src/templates/.env.j2
Normal file
0
src/templates/.env.j2
Normal file
Loading…
Reference in New Issue
Block a user