From 42b8467bca48c7ebf30ae8e69e4edb4dbb9b2f1f Mon Sep 17 00:00:00 2001 From: Tharun Date: Sat, 3 Jul 2021 19:34:04 +0530 Subject: [PATCH 1/3] trigger reload configuration using SIGHUP --- cmd/agent/entrypoint.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmd/agent/entrypoint.go b/cmd/agent/entrypoint.go index 98063dd92af1..9ff70b68e4fe 100644 --- a/cmd/agent/entrypoint.go +++ b/cmd/agent/entrypoint.go @@ -4,7 +4,10 @@ import ( "fmt" "net" "net/http" + "os" + "os/signal" "sync" + "syscall" "github.com/gorilla/mux" "github.com/grafana/agent/pkg/integrations" @@ -230,6 +233,9 @@ func (ep *Entrypoint) Start() error { // signal is received. signalHandler := signals.NewHandler(ep.cfg.Server.Log) + notifier := make(chan os.Signal) + signal.Notify(notifier, syscall.SIGHUP) + g.Add(func() error { signalHandler.Loop() return nil @@ -251,5 +257,11 @@ func (ep *Entrypoint) Start() error { ep.srv.Close() }) + go func() { + for range notifier { + ep.TriggerReload() + } + }() + return g.Run() } From 4eb24dcee79d62c927dfd7e4a585afce4bd3edbe Mon Sep 17 00:00:00 2001 From: Tharun Date: Tue, 6 Jul 2021 23:16:34 +0530 Subject: [PATCH 2/3] fix review changes - stop and close signal on defer --- cmd/agent/entrypoint.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/agent/entrypoint.go b/cmd/agent/entrypoint.go index 9ff70b68e4fe..6746bf7bd3bb 100644 --- a/cmd/agent/entrypoint.go +++ b/cmd/agent/entrypoint.go @@ -236,6 +236,11 @@ func (ep *Entrypoint) Start() error { notifier := make(chan os.Signal) signal.Notify(notifier, syscall.SIGHUP) + defer func() { + signal.Stop(notifier) + close(notifier) + }() + g.Add(func() error { signalHandler.Loop() return nil From e66075a33c63f7fabdc504ad9d2d14b69095f486 Mon Sep 17 00:00:00 2001 From: Tharun Date: Tue, 6 Jul 2021 23:31:37 +0530 Subject: [PATCH 3/3] add changelog for reloading config using SIGHUP --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b494e9b847de..8b81781c36bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Main (unreleased) +- [ENHANCEMENT] Allow reloading configuration using `SIGHUP` signal. (@tharun208) + - [FEATURE] Add TLS config options for tempo `remote_write`s. (@mapno) - [FEATURE] Add support for OTLP HTTP trace exporting. (@mapno)