From 01db0702f5abc43c6a25eb971a3cc44320fd394a Mon Sep 17 00:00:00 2001 From: Artem Kuleshov Date: Mon, 13 Apr 2026 14:05:20 +0300 Subject: [PATCH 1/5] [addon-operator] restore settings check result unmarshaling from stderr --- pkg/module_manager/models/hooks/kind/check.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkg/module_manager/models/hooks/kind/check.go b/pkg/module_manager/models/hooks/kind/check.go index 872c97c7..37ec3823 100644 --- a/pkg/module_manager/models/hooks/kind/check.go +++ b/pkg/module_manager/models/hooks/kind/check.go @@ -16,6 +16,8 @@ package kind import ( "context" + "encoding/json" + "errors" "fmt" "log/slog" "os" @@ -67,6 +69,15 @@ func (c *SettingsCheck) Check(ctx context.Context, settings utils.Values) (setti cmd := executor.NewExecutor("", c.path, []string{"hook", "check"}, envs).WithLogger(c.logger.Named("executor")) if _, err = cmd.RunAndLogLines(ctx, make(map[string]string)); err != nil { + var stderrErr *executor.StderrError + if errors.As(err, &stderrErr) { + if jsonErr := json.Unmarshal([]byte(stderrErr.Stderr), &result); jsonErr != nil { + return settingscheck.Result{}, fmt.Errorf("parse check result from stderr: %w (raw: %s)", jsonErr, stderrErr.Stderr) + } + + return result, nil + } + return settingscheck.Result{}, fmt.Errorf("run and log lines: %w", err) } From e661a699a92accba8dca05e5dd5f2be6ae96b53a Mon Sep 17 00:00:00 2001 From: Artem Kuleshov Date: Mon, 13 Apr 2026 19:09:15 +0300 Subject: [PATCH 2/5] [addon-operator] restore settings check result unmarshaling from stderr Signed-off-by: Artem Kuleshov --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c847bc66..fbcbc97a 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/dominikbraun/graph v0.23.0 github.com/ettle/strcase v0.2.0 github.com/flant/kube-client v1.6.0 - github.com/flant/shell-operator v1.15.3 + github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789 github.com/go-chi/chi/v5 v5.2.3 github.com/go-openapi/loads v0.23.1 github.com/go-openapi/spec v0.22.0 diff --git a/go.sum b/go.sum index 820d9cce..c4f9744d 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flant/kube-client v1.6.0 h1:g6ksfIgTlrvLgp/Iu1a9c5aC4yPClLplq3w9e/qtYbk= github.com/flant/kube-client v1.6.0/go.mod h1:dYJyx7aMldXR/F8hlhRxlcEhSkxKcMZV2Oz8d+o/Up4= -github.com/flant/shell-operator v1.15.3 h1:gQSZQHQfSHuXLnBLUQfC88JXkyOOCwurbG/Z85C9SiE= -github.com/flant/shell-operator v1.15.3/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= +github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789 h1:Ln4AFhFkxKQQPPaTxIE0a7XMYE13eYVi2HIwwJlqaos= +github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= github.com/flopp/go-findfont v0.1.0 h1:lPn0BymDUtJo+ZkV01VS3661HL6F4qFlkhcJN55u6mU= github.com/flopp/go-findfont v0.1.0/go.mod h1:wKKxRDjD024Rh7VMwoU90i6ikQRCr+JTHB5n4Ejkqvw= github.com/fluxcd/flagger v1.36.1 h1:X2PumtNwZz9YSGaOtZLFm2zAKLgHhFkbNv8beg7ifyc= From 03bbabde8998019c09e675fa156471fe75ddbc87 Mon Sep 17 00:00:00 2001 From: Artem Kuleshov Date: Mon, 13 Apr 2026 19:27:32 +0300 Subject: [PATCH 3/5] [addon-operator] restore settings check result unmarshaling from stderr Signed-off-by: Artem Kuleshov --- pkg/module_manager/models/hooks/kind/batch_hook.go | 2 +- pkg/module_manager/models/hooks/kind/shellhook.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/module_manager/models/hooks/kind/batch_hook.go b/pkg/module_manager/models/hooks/kind/batch_hook.go index abbaaaff..ea5161c6 100644 --- a/pkg/module_manager/models/hooks/kind/batch_hook.go +++ b/pkg/module_manager/models/hooks/kind/batch_hook.go @@ -135,7 +135,7 @@ func (h *BatchHook) Execute(ctx context.Context, configVersion string, bContext } // Remove tmp files after execution defer func() { - if shapp.DebugKeepTmpFilesVar == "yes" { + if shapp.DebugKeepTmpFiles { return } for _, f := range tmpFiles { diff --git a/pkg/module_manager/models/hooks/kind/shellhook.go b/pkg/module_manager/models/hooks/kind/shellhook.go index e3a21551..5f94e0bf 100644 --- a/pkg/module_manager/models/hooks/kind/shellhook.go +++ b/pkg/module_manager/models/hooks/kind/shellhook.go @@ -138,7 +138,7 @@ func (sh *ShellHook) Execute(ctx context.Context, configVersion string, bContext } // Remove tmp files after execution defer func() { - if shapp.DebugKeepTmpFilesVar == "yes" { + if shapp.DebugKeepTmpFiles { return } for _, f := range tmpFiles { From 5c7b46224e907895af538f6f98870839a5b237aa Mon Sep 17 00:00:00 2001 From: Artem Kuleshov Date: Tue, 14 Apr 2026 14:55:35 +0300 Subject: [PATCH 4/5] [addon-operator] restore settings check result unmarshaling from stderr Signed-off-by: Artem Kuleshov --- go.mod | 2 +- go.sum | 4 ++-- pkg/module_manager/models/hooks/kind/check.go | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index fbcbc97a..7860790f 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/dominikbraun/graph v0.23.0 github.com/ettle/strcase v0.2.0 github.com/flant/kube-client v1.6.0 - github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789 + github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd github.com/go-chi/chi/v5 v5.2.3 github.com/go-openapi/loads v0.23.1 github.com/go-openapi/spec v0.22.0 diff --git a/go.sum b/go.sum index c4f9744d..c298b374 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flant/kube-client v1.6.0 h1:g6ksfIgTlrvLgp/Iu1a9c5aC4yPClLplq3w9e/qtYbk= github.com/flant/kube-client v1.6.0/go.mod h1:dYJyx7aMldXR/F8hlhRxlcEhSkxKcMZV2Oz8d+o/Up4= -github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789 h1:Ln4AFhFkxKQQPPaTxIE0a7XMYE13eYVi2HIwwJlqaos= -github.com/flant/shell-operator v1.16.3-0.20260413110427-7dc49f02b789/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= +github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd h1:WFgYl1r1nwh0TEvetqowrmyVsvvRuc6CJVjCUHajC5o= +github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= github.com/flopp/go-findfont v0.1.0 h1:lPn0BymDUtJo+ZkV01VS3661HL6F4qFlkhcJN55u6mU= github.com/flopp/go-findfont v0.1.0/go.mod h1:wKKxRDjD024Rh7VMwoU90i6ikQRCr+JTHB5n4Ejkqvw= github.com/fluxcd/flagger v1.36.1 h1:X2PumtNwZz9YSGaOtZLFm2zAKLgHhFkbNv8beg7ifyc= diff --git a/pkg/module_manager/models/hooks/kind/check.go b/pkg/module_manager/models/hooks/kind/check.go index 37ec3823..a36ead18 100644 --- a/pkg/module_manager/models/hooks/kind/check.go +++ b/pkg/module_manager/models/hooks/kind/check.go @@ -71,8 +71,8 @@ func (c *SettingsCheck) Check(ctx context.Context, settings utils.Values) (setti if _, err = cmd.RunAndLogLines(ctx, make(map[string]string)); err != nil { var stderrErr *executor.StderrError if errors.As(err, &stderrErr) { - if jsonErr := json.Unmarshal([]byte(stderrErr.Stderr), &result); jsonErr != nil { - return settingscheck.Result{}, fmt.Errorf("parse check result from stderr: %w (raw: %s)", jsonErr, stderrErr.Stderr) + if jsonErr := json.Unmarshal([]byte(stderrErr.Message), &result); jsonErr != nil { + return settingscheck.Result{}, fmt.Errorf("parse check result from stderr: %w (raw: %s)", jsonErr, stderrErr.Message) } return result, nil From c28937b1a2ea677381a1ca43c7d3939a78c0cfac Mon Sep 17 00:00:00 2001 From: Artem Kuleshov Date: Wed, 15 Apr 2026 16:19:11 +0300 Subject: [PATCH 5/5] [addon-operator] restore settings check result unmarshaling from stderr Signed-off-by: Artem Kuleshov --- go.mod | 2 +- go.sum | 4 ++-- pkg/module_manager/module_manager.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 7860790f..f95fff72 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/dominikbraun/graph v0.23.0 github.com/ettle/strcase v0.2.0 github.com/flant/kube-client v1.6.0 - github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd + github.com/flant/shell-operator v1.16.4 github.com/go-chi/chi/v5 v5.2.3 github.com/go-openapi/loads v0.23.1 github.com/go-openapi/spec v0.22.0 diff --git a/go.sum b/go.sum index c298b374..6ede8dc1 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flant/kube-client v1.6.0 h1:g6ksfIgTlrvLgp/Iu1a9c5aC4yPClLplq3w9e/qtYbk= github.com/flant/kube-client v1.6.0/go.mod h1:dYJyx7aMldXR/F8hlhRxlcEhSkxKcMZV2Oz8d+o/Up4= -github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd h1:WFgYl1r1nwh0TEvetqowrmyVsvvRuc6CJVjCUHajC5o= -github.com/flant/shell-operator v1.16.3-0.20260414114914-99433e958cdd/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= +github.com/flant/shell-operator v1.16.4 h1:yuNKohNC74N5pIGuLmbbA4YkFlP1HgaY/xd4JtaR8mg= +github.com/flant/shell-operator v1.16.4/go.mod h1:92ITJRem0aPbJPJT+GT2yo9Xp5wpMfGzSz8rdTdavmA= github.com/flopp/go-findfont v0.1.0 h1:lPn0BymDUtJo+ZkV01VS3661HL6F4qFlkhcJN55u6mU= github.com/flopp/go-findfont v0.1.0/go.mod h1:wKKxRDjD024Rh7VMwoU90i6ikQRCr+JTHB5n4Ejkqvw= github.com/fluxcd/flagger v1.36.1 h1:X2PumtNwZz9YSGaOtZLFm2zAKLgHhFkbNv8beg7ifyc= diff --git a/pkg/module_manager/module_manager.go b/pkg/module_manager/module_manager.go index e3860627..8fbf0ebd 100644 --- a/pkg/module_manager/module_manager.go +++ b/pkg/module_manager/module_manager.go @@ -925,7 +925,7 @@ func (mm *ModuleManager) DisableModuleHooks(moduleName string) { kubeHooks := ml.GetHooks(OnKubernetesEvent) for _, mh := range kubeHooks { - mh.GetHookController().StopMonitors() + mh.GetHookController().DisableKubernetesBindings() } schHooks := ml.GetHooks(Schedule)