dsfx/cmd/dsfxnode/conf/conf.go

43 lines
871 B
Go
Raw Normal View History

package conf
import "koti.casa/numenor-labs/dsfx/pkg/system"
const (
// DefaultConfigDir is the default directory for the dsfxctl configuration.
DefaultConfigDir = "/etc/dsfxnode/config"
// DefaultHost is the default host for the dsfxctl application.
DefaultHost = "0.0.0.0"
// DefaultPort is the default port for the dsfxctl application.
DefaultPort = "8000"
)
// Conf holds the configuration for the dsfxctl application.
type Conf struct {
// Directories
ConfigDir string
// Networking
Host string
Port string
}
func FromSystem(sys system.System) Conf {
var c Conf
c.ConfigDir = sys.GetEnv("DSFXCTL_CONFIG_DIR")
if c.ConfigDir == "" {
c.ConfigDir = DefaultConfigDir
}
c.Host = sys.GetEnv("DSFXCTL_HOST")
if c.Host == "" {
c.Host = DefaultHost
}
c.Port = sys.GetEnv("DSFXCTL_PORT")
if c.Port == "" {
c.Port = DefaultPort
}
return c
}