86 lines
2.3 KiB
Go
86 lines
2.3 KiB
Go
package worker
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
"os"
|
|
|
|
cnf "git.pbiernat.io/egommerce/go-api-pkg/config"
|
|
)
|
|
|
|
const (
|
|
defName = "pricing-worker"
|
|
defDomain = "pricing-worker"
|
|
defCacheAddr = "egommerce.local:6379"
|
|
defCachePassword = "12345678"
|
|
defDbURL = "postgres://postgres:12345678@db-postgres:5432/egommerce"
|
|
defEventBusURL = "amqp://guest:guest@api-eventbus:5672"
|
|
defKVNmspc = "dev.egommerce/service/pricing-worker"
|
|
defLoggerAddr = "api-logger:24224"
|
|
defMongoDbURL = "mongodb://mongodb:12345678@mongo-db:27017"
|
|
defEbEventsExchange = "api-events"
|
|
defEbEventsQueue = "pricing-svc"
|
|
)
|
|
|
|
type Config struct {
|
|
ID string
|
|
Name string
|
|
|
|
LoggerAddr string `json:"logger_addr"`
|
|
DbURL string `json:"db_url"`
|
|
CacheAddr string `json:"cache_addr"`
|
|
CachePassword string `json:"cache_password"`
|
|
MongoDbUrl string `json:"mongodb_url"`
|
|
EventBusURL string `json:"eventbus_url"`
|
|
EventBusExchange string `json:"eventbus_exchange"`
|
|
EventBusQueue string `json:"eventbus_queue"`
|
|
KVNamespace string
|
|
}
|
|
|
|
func NewConfig(name string) *Config {
|
|
c := new(Config)
|
|
|
|
c.ID, _ = os.Hostname()
|
|
c.Name = name
|
|
|
|
c.CacheAddr = cnf.GetEnv("CACHE_ADDR", defCacheAddr)
|
|
c.CachePassword = cnf.GetEnv("CACHE_PASSWORD", defCachePassword)
|
|
c.DbURL = cnf.GetEnv("DATABASE_URL", defDbURL)
|
|
c.EventBusExchange = defEbEventsExchange
|
|
c.EventBusURL = cnf.GetEnv("EVENTBUS_URL", defEventBusURL)
|
|
c.KVNamespace = cnf.GetEnv("APP_KV_NAMESPACE", defKVNmspc)
|
|
c.LoggerAddr = cnf.GetEnv("LOGGER_ADDR", defLoggerAddr)
|
|
|
|
return c
|
|
}
|
|
|
|
func (c *Config) GetAppFullName() string {
|
|
return fmt.Sprintf("%s_%s", c.Name, c.ID)
|
|
}
|
|
|
|
func (c *Config) GetIP() string {
|
|
host, _ := os.Hostname()
|
|
ips, _ := net.LookupIP(host)
|
|
// for _, ip := range ips {
|
|
// return ip.String()
|
|
// }
|
|
|
|
return ips[0].String()
|
|
}
|
|
|
|
func (c *Config) GetArray() map[string]string { // FIXME fix types etc
|
|
arr := make(map[string]string)
|
|
arr["id"] = c.ID
|
|
arr["name"] = c.Name
|
|
arr["appFullname"] = c.GetAppFullName()
|
|
arr["cacheAddr"] = c.CacheAddr
|
|
arr["cachePassword"] = c.CachePassword
|
|
arr["dbURL"] = c.DbURL
|
|
arr["eventBusExchange"] = c.EventBusExchange
|
|
arr["eventBusURL"] = c.EventBusURL
|
|
arr["kvNamespace"] = c.KVNamespace
|
|
arr["loggerAddr"] = c.LoggerAddr
|
|
|
|
return arr
|
|
}
|