Files
sless/hack/create-registry-secret.sh
T
“Naeel” babd8e6109 feat: harbor integration — EnsureProject + per-namespace image path
- internal/harbor/client.go: новый пакет, EnsureProject (GET+POST idempotent)
- config.go: добавлены HarborUser/HarborPass (из HARBOR_USER/HARBOR_PASS env)
- builder.go: Projecter интерфейс, harborClient поле, ImageRef: {host}/{ns}/{func}:{tag}
  EnsureProject вызывается перед каждым Build()
- function_controller.go: HarborClient поле, EnsureProject при создании k8s NS
- main.go: создание harbor.Client если HARBOR_USER+HARBOR_PASS заданы
- operator.yaml: REGISTRY_HOST=pearlharbor..., HARBOR_USER=admin, v0.1.24
- hack/create-registry-secret.sh: переписан для Harbor (HARBOR_USER/HARBOR_PASS)

Смена registry — только через REGISTRY_HOST в ConfigMap, больше нигде.
2026-03-11 14:58:04 +04:00

37 lines
1.4 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Изменено: 2026-03-11
# Создаёт k8s Secret sless-registry-auth с кредами Harbor для kaniko.
# Kaniko монтирует этот secret как /kaniko/.docker/config.json для push образов.
# Отдельно от HARBOR_PASS в operator-secret: этот secret — для kaniko (push),
# HARBOR_PASS — для Harbor API (создание проектов через EnsureProject).
#
# Использование:
# HARBOR_USER=admin HARBOR_PASS=<password> REGISTRY=pearlharbor.registryk8s.services.ngcloud.ru \
# ./hack/create-registry-secret.sh
#
# Требуется: kubectl, авторизованный context с доступом к namespace sless.
set -euo pipefail
NAMESPACE="sless"
SECRET_NAME="sless-registry-auth"
REGISTRY="${REGISTRY:-pearlharbor.registryk8s.services.ngcloud.ru}"
if [[ -z "${HARBOR_USER:-}" ]]; then
echo "ERROR: HARBOR_USER env var is required"
exit 1
fi
if [[ -z "${HARBOR_PASS:-}" ]]; then
echo "ERROR: HARBOR_PASS env var is required"
exit 1
fi
kubectl create secret docker-registry "${SECRET_NAME}" \
--docker-username="${HARBOR_USER}" \
--docker-password="${HARBOR_PASS}" \
--docker-server="${REGISTRY}" \
--namespace="${NAMESPACE}" \
--dry-run=client -o yaml | kubectl apply -f -
echo "OK: secret '${SECRET_NAME}' applied in namespace '${NAMESPACE}' (server: ${REGISTRY})"