genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0
This repository has been archived on 2020-09-27. You can view files and clone it, but cannot push or open issues or pull requests.
hs_monolith/models/config.go

64 lines
1.6 KiB
Go
Raw Normal View History

2017-03-25 16:09:17 +01:00
package models
import (
"io/ioutil"
"github.com/BurntSushi/toml"
2017-03-30 16:09:44 +02:00
"github.com/genofire/hs_master-kss-monolith/lib/database"
2017-03-30 17:02:20 +02:00
"github.com/genofire/hs_master-kss-monolith/lib/log"
2017-03-25 16:09:17 +01:00
)
2017-04-28 10:27:36 +02:00
//config file of this daemon (for more the config_example.conf in git repository)
2017-03-25 16:09:17 +01:00
type Config struct {
2017-04-28 10:27:36 +02:00
// address on which the api and static content webserver runs
WebserverBind string `toml:"webserver_bind"`
// path to deliver static content
Webroot string `toml:"webroot"`
Database database.Config `toml:"database"`
GoodRelease GoodReleaseConfig `toml:"good_release"`
CacheClean CacheWorkerConfig `toml:"cache_clean"`
// path to the svg image templaes to show availablity of a given good
GoodAvailablityTemplate string `toml:"good_availablity_template"`
// URLs to other microservices
MicroserviceDependencies struct {
Product string `toml:"product"`
Permission string `toml:"permission"`
} `toml:"microservice_dependencies"`
2017-03-25 16:09:17 +01:00
}
2017-04-28 10:27:36 +02:00
//config of worker to clean caches from values of other microservice
type CacheWorkerConfig struct {
2017-04-28 10:27:36 +02:00
// run worker every ...
Every Duration
2017-04-28 10:27:36 +02:00
// remove cache which is not used since ..
After Duration
}
2017-04-28 10:27:36 +02:00
//config of worker to release looked goods after a time
type GoodReleaseConfig struct {
2017-04-28 10:27:36 +02:00
// run worker every ...
Every Duration `toml:"every"`
2017-04-28 10:27:36 +02:00
// unlock which is not used since ..
After Duration `toml:"after"`
}
2017-04-28 10:27:36 +02:00
//reads a config model from path of a yml file
2017-03-25 16:09:17 +01:00
func ReadConfigFile(path string) *Config {
config := &Config{}
file, err := ioutil.ReadFile(path)
if err != nil {
2017-03-30 16:09:44 +02:00
log.Log.Panic(err)
2017-03-25 16:09:17 +01:00
}
if err := toml.Unmarshal(file, config); err != nil {
2017-03-30 16:09:44 +02:00
log.Log.Panic(err)
2017-03-25 16:09:17 +01:00
}
return config
}