mirror of
https://git.numenor-labs.us/dsfx.git
synced 2025-04-29 08:10:34 +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"
|
"crypto/ed25519"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"log/slog"
|
"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 ...
|
// Peer ...
|
||||||
type Peer struct {
|
type Peer struct {
|
||||||
disk disk.Disk
|
disk disk.Disk
|
||||||
@ -111,7 +83,22 @@ type Peer struct {
|
|||||||
|
|
||||||
// New ...
|
// New ...
|
||||||
func New(disk disk.Disk, system system.System) *Peer {
|
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)
|
config := scoped.New(disk, conf.ConfigDir)
|
||||||
storage := scoped.New(disk, conf.DataDir)
|
storage := scoped.New(disk, conf.DataDir)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user