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