From d199cb8c00d4b06fe9e574fbf03e9762f01d3ba2 Mon Sep 17 00:00:00 2001 From: kaiyou <dev@kaiyou.fr> Date: Thu, 2 Nov 2023 14:06:22 +0100 Subject: [PATCH] Upgrade dolly to support daemonization --- cmd/hepto/config.go | 3 +++ cmd/hepto/hepto.go | 2 +- go.mod | 2 +- go.sum | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmd/hepto/config.go b/cmd/hepto/config.go index 3f0599f..2301f51 100644 --- a/cmd/hepto/config.go +++ b/cmd/hepto/config.go @@ -16,6 +16,8 @@ import ( // General configuration, used for parsing flags type Config struct { + // Should we fork and daemonize + Daemonize bool // Data is stored under this base folder, a subfolder // is created per running cluster on the host, then another // subfolder is created per node @@ -43,6 +45,7 @@ func (c *Config) FlagSet() *flag.FlagSet { fs := flag.NewFlagSet("hepto", flag.ExitOnError) // General config fs.IntVar(&config.LogLevel, "verbose", 0, "Make logs more verbose") + fs.BoolVar(&config.Daemonize, "daemonize", false, "Daemonize the subprocess") fs.BoolVar(&config.Pprof, "pprof", false, "Enable Golang profiling") fs.StringVar(&config.DataDir, "data", "/var/lib", "Data base directory") // Cluster settings diff --git a/cmd/hepto/hepto.go b/cmd/hepto/hepto.go index 5198199..60e376d 100644 --- a/cmd/hepto/hepto.go +++ b/cmd/hepto/hepto.go @@ -36,7 +36,7 @@ func Hepto() error { config.Iface.ReadinessProbe = netip.AddrPortFrom(config.Network.DNS[0], 53) manager := services.NewManager(&config.Cluster, &config.Node, config.Logger) // Create a container and start the manager - c := dolly.NewForking() + c := dolly.NewForking(!config.Daemonize) c.AddAll( dolly.NewContainer(config.Node.Name), &config.Network, diff --git a/go.mod b/go.mod index 9ed5212..43d5f6d 100644 --- a/go.mod +++ b/go.mod @@ -60,7 +60,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/vishvananda/netlink v1.2.1-beta.2 go.acides.org/daeman v0.3.4 - go.acides.org/dolly v0.4.7 + go.acides.org/dolly v0.5.0 go.acides.org/pekahi v0.2.1 go.acides.org/sml v0.2.3 go.etcd.io/etcd/server/v3 v3.5.9 diff --git a/go.sum b/go.sum index b2bef05..2e915ac 100644 --- a/go.sum +++ b/go.sum @@ -1144,6 +1144,8 @@ go.acides.org/daeman v0.3.4 h1:gjKq95TpP2+IMUkW/u1do4J43Y6KhTOPwOg6BBCBT74= go.acides.org/daeman v0.3.4/go.mod h1:fOZ4YudsVjbUan8WYTs0ED6JfpZ7Z6mlN4Lnn1qW5nk= go.acides.org/dolly v0.4.7 h1:WNqQm0lNk+JxDdPgLtmMURgPBedTlO6BxrMLFbFrswg= go.acides.org/dolly v0.4.7/go.mod h1:eO56y+YmSx2h0/Zy7+p2zxNeJVl4iIWMM/vsRFMaIDM= +go.acides.org/dolly v0.5.0 h1:BEYEWDE/XjysQ45L2nESgoZ+GyqwE5MO1ba+vOlUwZ4= +go.acides.org/dolly v0.5.0/go.mod h1:eO56y+YmSx2h0/Zy7+p2zxNeJVl4iIWMM/vsRFMaIDM= go.acides.org/pekahi v0.2.1 h1:ysmC14q+hnYXcuB1Ew2XoWDZsgR1jbut89ACRLwi43I= go.acides.org/pekahi v0.2.1/go.mod h1:AxgN7Ss6dCRHoNOVWMymkmDafWYdDV7ce6jPl5bqyRc= go.acides.org/sml v0.2.3 h1:YJAdiFdTHeIqhoYNNxQHx/rTyF+4w7IpES02vUXoFF4= -- GitLab