mirror of
https://git.numenor-labs.us/dsfx.git
synced 2025-04-29 00:00:35 +00:00
refactor(internal/peer): use flags instead of env vars
This commit is contained in:
parent
bae3a0289f
commit
703a9e7238
@ -5,6 +5,7 @@ import (
|
||||
"crypto/ed25519"
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
@ -71,35 +72,6 @@ func (c Conf) SlogLevel() slog.Level {
|
||||
}
|
||||
}
|
||||
|
||||
func loadConfigFromSystem(sys system.System) Conf {
|
||||
var c Conf
|
||||
|
||||
c.Host = sys.GetEnv(EnvHost)
|
||||
if len(c.Host) == 0 {
|
||||
c.Host = DefaultHost
|
||||
}
|
||||
|
||||
c.Port = sys.GetEnv(EnvPort)
|
||||
if len(c.Port) == 0 {
|
||||
c.Port = DefaultPort
|
||||
}
|
||||
|
||||
c.ConfigDir = sys.GetEnv(EnvConfigDir)
|
||||
if len(c.ConfigDir) == 0 {
|
||||
c.ConfigDir = DefaultConfigDir
|
||||
}
|
||||
|
||||
c.DataDir = sys.GetEnv(EnvDataDir)
|
||||
if len(c.DataDir) == 0 {
|
||||
c.DataDir = DefaultDataDir
|
||||
}
|
||||
|
||||
// defaults are handled by Conf.SlogLevel.
|
||||
c.LogLevel = sys.GetEnv("DSFX_LOG_LEVEL")
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
// Peer ...
|
||||
type Peer struct {
|
||||
disk disk.Disk
|
||||
@ -111,7 +83,22 @@ type Peer struct {
|
||||
|
||||
// New ...
|
||||
func New(disk disk.Disk, system system.System) *Peer {
|
||||
conf := loadConfigFromSystem(system)
|
||||
flagConfig := flag.String("configDir", "/etc/dsfx/config", "Path to the configuration directory")
|
||||
flagData := flag.String("dataDir", "/etc/dsfx/data", "Path to the data directory")
|
||||
flagLogLevel := flag.String("logLevel", "info", "The log level (debug, info, warn, error)")
|
||||
flagHost := flag.String("host", "0.0.0.0", "The host to bind to")
|
||||
flagPort := flag.String("port", "8000", "The port to bind to")
|
||||
|
||||
if !flag.Parsed() {
|
||||
flag.Parse()
|
||||
}
|
||||
conf := Conf{
|
||||
LogLevel: *flagLogLevel,
|
||||
ConfigDir: *flagConfig,
|
||||
DataDir: *flagData,
|
||||
Host: *flagHost,
|
||||
Port: *flagPort,
|
||||
}
|
||||
|
||||
config := scoped.New(disk, conf.ConfigDir)
|
||||
storage := scoped.New(disk, conf.DataDir)
|
||||
|
Loading…
x
Reference in New Issue
Block a user