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 }