From 3dc6e330bf4f9616569083528efa997c16435907 Mon Sep 17 00:00:00 2001 From: Thomas Widhalm Date: Mon, 25 Mar 2024 14:34:36 +0100 Subject: [PATCH 1/4] Add synced config to Icinga 2 module --- modules/icinga2/collector.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/icinga2/collector.go b/modules/icinga2/collector.go index 3449e1e..31caf5c 100644 --- a/modules/icinga2/collector.go +++ b/modules/icinga2/collector.go @@ -14,6 +14,8 @@ const ModuleName = "icinga2" var files = []string{ "/etc/icinga2", + "/var/lib/icinga2/api/packages", + "/var/lib/icinga2/api/zones" } var pluginFiles = []string{ From ab8ca72c3535be7142c97d921b12116aa9a6ccd0 Mon Sep 17 00:00:00 2001 From: Thomas Widhalm Date: Mon, 25 Mar 2024 14:39:31 +0100 Subject: [PATCH 2/4] Lint --- modules/icinga2/collector.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/icinga2/collector.go b/modules/icinga2/collector.go index 31caf5c..be1712a 100644 --- a/modules/icinga2/collector.go +++ b/modules/icinga2/collector.go @@ -15,7 +15,7 @@ const ModuleName = "icinga2" var files = []string{ "/etc/icinga2", "/var/lib/icinga2/api/packages", - "/var/lib/icinga2/api/zones" + "/var/lib/icinga2/api/zones", } var pluginFiles = []string{ From 720b73e84c4cd4db7aae22244b6802c52a5624da Mon Sep 17 00:00:00 2001 From: Tobias Bauriedel Date: Tue, 2 Apr 2024 10:37:51 +0200 Subject: [PATCH 3/4] add icinga2 api stage dirs --- modules/icinga2/collector.go | 5 +++-- modules/icingadirector/collector.go | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/icinga2/collector.go b/modules/icinga2/collector.go index be1712a..88a2ba7 100644 --- a/modules/icinga2/collector.go +++ b/modules/icinga2/collector.go @@ -14,8 +14,7 @@ const ModuleName = "icinga2" var files = []string{ "/etc/icinga2", - "/var/lib/icinga2/api/packages", - "/var/lib/icinga2/api/zones", + "/var/lib/icinga2/api/packages/_api/active-stage", } var pluginFiles = []string{ @@ -45,6 +44,8 @@ var commands = map[string][]string{ "features.txt": {"icinga2", "feature", "list"}, "user-icinga.txt": {"id", "icinga"}, "user-nagios.txt": {"id", "nagios"}, + "icinga2-api-stage-directories.txt": {"ls", "-ld" , "/var/lib/icinga2/api/packages/_api/*/"}, + "director-api-stage-directories.txt": {"ls", "-ld" , "/var/lib/icinga2/api/packages/director/*/"}, } var detailedCommands = map[string][]string{ diff --git a/modules/icingadirector/collector.go b/modules/icingadirector/collector.go index 3757f20..dbb3f4c 100644 --- a/modules/icingadirector/collector.go +++ b/modules/icingadirector/collector.go @@ -12,6 +12,10 @@ const ( InstallationPath = "/usr/share/icingaweb2/modules/director" ) +var files = []string{ + "/var/lib/icinga2/api/packages/director/active-stage", +} + var commands = map[string][]string{ "health.txt": {"icingacli", "director", "health"}, "user-icingadirector.txt": {"id", "icingadirector"}, @@ -47,6 +51,10 @@ func Collect(c *collection.Collection) { // TODO: more infos on modules, GIT details + for _, file := range files { + c.AddFiles(ModuleName, file) + } + for name, cmd := range commands { c.AddCommandOutput(filepath.Join(ModuleName, name), cmd[0], cmd[1:]...) } From 169f10f65bd6f04a3db67e74da6c4de741d23540 Mon Sep 17 00:00:00 2001 From: Tobias Bauriedel Date: Tue, 2 Apr 2024 10:58:17 +0200 Subject: [PATCH 4/4] update linters --- .github/workflows/golangci-lint.yml | 2 +- .golangci.yml | 17 +++++++++++++---- go.mod | 4 +++- go.sum | 6 ++++++ internal/obfuscate/obfuscate.go | 1 + modules/icinga2/collector.go | 20 ++++++++++---------- 6 files changed, 34 insertions(+), 16 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index c3047c5..bb9bf6e 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -15,4 +15,4 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v4 with: - version: v1.54 + version: v1.56.2 diff --git a/.golangci.yml b/.golangci.yml index b724f41..0cace13 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -28,11 +28,20 @@ linters: - tagliatelle - varnamelen - wrapcheck + - golint # deprecated + - nosnakecase # deprecated + - scopelint # deprecated + - ifshort # deprecated + - interfacer # deprecated + - structcheck # deprecated + - maligned # deprecated + - varcheck # deprecated + - deadcode # deprecated + - goconst # not needed in our case + - perfsprint # not needed in our case linters-settings: funlen: ignore-comments: true lines: 75 - estif: - min-complexity: 4 - maligned: - suggest-new: true + nestif: + min-complexity: 5 diff --git a/go.mod b/go.mod index a1a5915..6c46b66 100644 --- a/go.mod +++ b/go.mod @@ -16,5 +16,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/mattn/go-isatty v0.0.16 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect + golang.org/x/mod v0.16.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/tools v0.19.0 // indirect ) diff --git a/go.sum b/go.sum index 2adc4a6..415b252 100644 --- a/go.sum +++ b/go.sum @@ -19,9 +19,15 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/obfuscate/obfuscate.go b/internal/obfuscate/obfuscate.go index 55df85b..26c75db 100644 --- a/internal/obfuscate/obfuscate.go +++ b/internal/obfuscate/obfuscate.go @@ -147,6 +147,7 @@ func (o *Obfuscator) ProcessReader(r io.Reader) (count uint, out bytes.Buffer, e ending = string(r) + ending return true } + return false }) diff --git a/modules/icinga2/collector.go b/modules/icinga2/collector.go index 88a2ba7..5fbd713 100644 --- a/modules/icinga2/collector.go +++ b/modules/icinga2/collector.go @@ -36,16 +36,16 @@ var detailedFiles = []string{ } var commands = map[string][]string{ - "version.txt": {"icinga2", "-V"}, - "config-check.txt": {"icinga2", "daemon", "-C"}, - "objects-zones.txt": {"icinga2", "object", "list", "--type", "Zone"}, - "objects-endpoints.txt": {"icinga2", "object", "list", "--type", "Endpoint"}, - "variables.txt": {"icinga2", "variable", "list"}, - "features.txt": {"icinga2", "feature", "list"}, - "user-icinga.txt": {"id", "icinga"}, - "user-nagios.txt": {"id", "nagios"}, - "icinga2-api-stage-directories.txt": {"ls", "-ld" , "/var/lib/icinga2/api/packages/_api/*/"}, - "director-api-stage-directories.txt": {"ls", "-ld" , "/var/lib/icinga2/api/packages/director/*/"}, + "version.txt": {"icinga2", "-V"}, + "config-check.txt": {"icinga2", "daemon", "-C"}, + "objects-zones.txt": {"icinga2", "object", "list", "--type", "Zone"}, + "objects-endpoints.txt": {"icinga2", "object", "list", "--type", "Endpoint"}, + "variables.txt": {"icinga2", "variable", "list"}, + "features.txt": {"icinga2", "feature", "list"}, + "user-icinga.txt": {"id", "icinga"}, + "user-nagios.txt": {"id", "nagios"}, + "icinga2-api-stage-directories.txt": {"ls", "-ld", "/var/lib/icinga2/api/packages/_api/*/"}, + "director-api-stage-directories.txt": {"ls", "-ld", "/var/lib/icinga2/api/packages/director/*/"}, } var detailedCommands = map[string][]string{