feat: python3.11 base runtime image + DockerHub registry support

- 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
This commit is contained in:
“Naeel”
2026-03-07 09:32:59 +04:00
parent 33ee17729f
commit c61e822308
6 changed files with 195 additions and 33 deletions
+32
View File
@@ -0,0 +1,32 @@
#!/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}'"