#!/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= 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})"