- runtimes/python3.11/: Dockerfile + server.py (HTTP wrapper на :8080) - builder.go: RegistrySecret field, volume mount docker-creds для kaniko, убран --skip-tls-verify - config.go: добавлен RegistrySecret (env REGISTRY_SECRET, default sless-registry-auth) - main.go: передаём RegistrySecret в builder.Config - hack/create-registry-secret.sh: создаёт k8s Secret из DockerHub токена Образ наружу: naeel/sless-runtime-python3.11:latest (DockerHub) K8s secret: sless-registry-auth в namespace sless
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# Изменено: 2026-03-07
|
||
# Создаёт k8s Secret sless-registry-auth с DockerHub кредами для kaniko.
|
||
# Kaniko монтирует этот secret как /kaniko/.docker/config.json для push образов.
|
||
#
|
||
# Использование:
|
||
# DOCKER_HUB_USER=naeel DOCKER_HUB_TOKEN=<token> ./hack/create-registry-secret.sh
|
||
#
|
||
# Требуется: kubectl, авторизованный context с доступом к namespace sless.
|
||
|
||
set -euo pipefail
|
||
|
||
NAMESPACE="sless"
|
||
SECRET_NAME="sless-registry-auth"
|
||
|
||
if [[ -z "${DOCKER_HUB_USER:-}" ]]; then
|
||
echo "ERROR: DOCKER_HUB_USER env var is required"
|
||
exit 1
|
||
fi
|
||
if [[ -z "${DOCKER_HUB_TOKEN:-}" ]]; then
|
||
echo "ERROR: DOCKER_HUB_TOKEN env var is required (DockerHub access token, not password)"
|
||
exit 1
|
||
fi
|
||
|
||
kubectl create secret docker-registry "${SECRET_NAME}" \
|
||
--docker-username="${DOCKER_HUB_USER}" \
|
||
--docker-password="${DOCKER_HUB_TOKEN}" \
|
||
--docker-server="https://index.docker.io/v1/" \
|
||
--namespace="${NAMESPACE}" \
|
||
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
||
echo "OK: secret '${SECRET_NAME}' applied in namespace '${NAMESPACE}'"
|