From 8bae4ca69c42fde5f1a090305844293c3ba8d317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sat, 7 Mar 2026 09:39:53 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20kaniko=20S3=20endpoint=20=E2=80=94=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20https://=20?= =?UTF-8?q?=D1=81=D1=85=D0=B5=D0=BC=D1=83=20=D0=B8=20S3=5FFORCE=5FPATH=5FS?= =?UTF-8?q?TYLE=3Dtrue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kaniko AWS SDK требует полный URL с протоколом. Ceph не поддерживает virtual-hosted style — нужен path style. --- internal/builder/builder.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/builder/builder.go b/internal/builder/builder.go index 004b5b6..7d6a48f 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -104,8 +104,10 @@ func (b *Builder) Build(ctx context.Context, namespace, funcName, s3Key string) Env: []corev1.EnvVar{ {Name: "AWS_ACCESS_KEY_ID", Value: b.s3AccessKey}, {Name: "AWS_SECRET_ACCESS_KEY", Value: b.s3SecretKey}, - {Name: "S3_ENDPOINT", Value: b.s3Endpoint}, - // Kaniko использует AWS SDK совместимый с S3 — задаём кастомный endpoint + // Kaniko AWS SDK требует схему в endpoint (https://) — без неё URL строится без протокола + {Name: "S3_ENDPOINT", Value: "https://" + b.s3Endpoint}, + // Ceph не поддерживает virtual-hosted style (bucket.endpoint) — только path style + {Name: "S3_FORCE_PATH_STYLE", Value: "true"}, {Name: "AWS_REGION", Value: "us-east-1"}, }, // Монтируем docker-креды из k8s Secret — kaniko читает авторизацию из /kaniko/.docker/config.json