From 381ec448524c0261cebd7e19e96a942e889cb288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Mon, 9 Mar 2026 10:26:54 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20operator=20v0.1.15=20=E2=80=94=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D1=8F=D1=82=D1=8C=20Env=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit function_controller.go: при update deployment обновлять не только Image, но и Env целиком. Без этого изменение entrypoint или env_vars не применялось в уже существующем Deployment — поды продолжали стартовать со старым SLESS_ENTRYPOINT и падали с FileNotFoundError. --- controllers/function_controller.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/controllers/function_controller.go b/controllers/function_controller.go index a9c7bf5..24eec1d 100644 --- a/controllers/function_controller.go +++ b/controllers/function_controller.go @@ -208,10 +208,12 @@ func (r *FunctionReconciler) ensureDeployment(ctx context.Context, fn *slessv1al return ctrl.Result{}, fmt.Errorf("get deployment: %w", err) } - // Обновляем образ и imagePullSecrets при новой сборке. + // Обновляем образ, env и imagePullSecrets при пересборке или изменении конфига. // Тег образа уникален per build (sha256 от s3Key) → imagePullPolicy: IfNotPresent // корректно подтягивает новый образ без дополнительных хаков. + // Env обновляем целиком — иначе изменение entrypoint/env_vars не применяется. existing.Spec.Template.Spec.Containers[0].Image = fn.Status.ImageRef + existing.Spec.Template.Spec.Containers[0].Env = desired.Spec.Template.Spec.Containers[0].Env existing.Spec.Template.Spec.ImagePullSecrets = desired.Spec.Template.Spec.ImagePullSecrets if err := r.Update(ctx, existing); err != nil { return ctrl.Result{}, fmt.Errorf("update deployment: %w", err)