fix: operator v0.1.15 — обновлять Env при изменении функции
function_controller.go: при update deployment обновлять не только Image, но и Env целиком. Без этого изменение entrypoint или env_vars не применялось в уже существующем Deployment — поды продолжали стартовать со старым SLESS_ENTRYPOINT и падали с FileNotFoundError.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user