systemd: notify start, stopping, reloading
This commit is contained in:
parent
d40720e061
commit
33674a1617
3 changed files with 10 additions and 6 deletions
|
@ -263,11 +263,14 @@ func HandleSignals(cConfig *csconfig.Config) error {
|
|||
go func() {
|
||||
defer trace.CatchPanic("crowdsec/HandleSignals")
|
||||
|
||||
csdaemon.Notify(csdaemon.Ready, log.StandardLogger())
|
||||
|
||||
for s := range signalChan {
|
||||
switch s {
|
||||
// kill -SIGHUP XXXX
|
||||
case syscall.SIGHUP:
|
||||
log.Warning("SIGHUP received, reloading")
|
||||
csdaemon.Notify(csdaemon.Reloading, log.StandardLogger())
|
||||
|
||||
if err = shutdown(cConfig); err != nil {
|
||||
exitChan <- fmt.Errorf("failed shutdown: %w", err)
|
||||
|
@ -285,6 +288,8 @@ func HandleSignals(cConfig *csconfig.Config) error {
|
|||
// ctrl+C, kill -SIGINT XXXX, kill -SIGTERM XXXX
|
||||
case os.Interrupt, syscall.SIGTERM:
|
||||
log.Warning("SIGTERM received, shutting down")
|
||||
csdaemon.Notify(csdaemon.Stopping, log.StandardLogger())
|
||||
|
||||
if err = shutdown(cConfig); err != nil {
|
||||
exitChan <- fmt.Errorf("failed shutdown: %w", err)
|
||||
return
|
||||
|
@ -387,7 +392,6 @@ func Serve(cConfig *csconfig.Config, agentReady chan bool) error {
|
|||
}
|
||||
|
||||
if cConfig.Common != nil && cConfig.Common.Daemonize {
|
||||
csdaemon.NotifySystemd(log.StandardLogger())
|
||||
// wait for signals
|
||||
return HandleSignals(cConfig)
|
||||
}
|
||||
|
@ -407,9 +411,9 @@ func Serve(cConfig *csconfig.Config, agentReady chan bool) error {
|
|||
|
||||
switch ch {
|
||||
case apiTomb.Dead():
|
||||
log.Infof("api shutdown")
|
||||
log.Info("api shutdown")
|
||||
case crowdsecTomb.Dead():
|
||||
log.Infof("crowdsec shutdown")
|
||||
log.Info("crowdsec shutdown")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
2
go.mod
2
go.mod
|
@ -27,7 +27,7 @@ require (
|
|||
github.com/corazawaf/libinjection-go v0.1.2
|
||||
github.com/crowdsecurity/coraza/v3 v3.0.0-20240108124027-a62b8d8e5607
|
||||
github.com/crowdsecurity/dlog v0.0.0-20170105205344-4fb5f8204f26
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.6
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.7
|
||||
github.com/crowdsecurity/grokky v0.2.1
|
||||
github.com/crowdsecurity/machineid v1.0.2
|
||||
github.com/davecgh/go-spew v1.1.1
|
||||
|
|
4
go.sum
4
go.sum
|
@ -102,8 +102,8 @@ github.com/crowdsecurity/coraza/v3 v3.0.0-20240108124027-a62b8d8e5607 h1:hyrYw3h
|
|||
github.com/crowdsecurity/coraza/v3 v3.0.0-20240108124027-a62b8d8e5607/go.mod h1:br36fEqurGYZQGit+iDYsIzW0FF6VufMbDzyyLxEuPA=
|
||||
github.com/crowdsecurity/dlog v0.0.0-20170105205344-4fb5f8204f26 h1:r97WNVC30Uen+7WnLs4xDScS/Ex988+id2k6mDf8psU=
|
||||
github.com/crowdsecurity/dlog v0.0.0-20170105205344-4fb5f8204f26/go.mod h1:zpv7r+7KXwgVUZnUNjyP22zc/D7LKjyoY02weH2RBbk=
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.6 h1:Ef6MylXe0GaJE9vrfvxEdbHb31+JUP1os+murPz7Pos=
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.6/go.mod h1:8FMKNGsh3hMZi2SEv6P15PURhEJnZV431XjzzBSuf0k=
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.7 h1:VbO5WucIc/PO2v6VXWQqwsvRjBu8SVlptIpSzLinG9c=
|
||||
github.com/crowdsecurity/go-cs-lib v0.0.7/go.mod h1:8FMKNGsh3hMZi2SEv6P15PURhEJnZV431XjzzBSuf0k=
|
||||
github.com/crowdsecurity/grokky v0.2.1 h1:t4VYnDlAd0RjDM2SlILalbwfCrQxtJSMGdQOR0zwkE4=
|
||||
github.com/crowdsecurity/grokky v0.2.1/go.mod h1:33usDIYzGDsgX1kHAThCbseso6JuWNJXOzRQDGXHtWM=
|
||||
github.com/crowdsecurity/machineid v1.0.2 h1:wpkpsUghJF8Khtmn/tg6GxgdhLA1Xflerh5lirI+bdc=
|
||||
|
|
Loading…
Reference in a new issue