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:
@@ -26,9 +26,14 @@ type Config struct {
|
||||
S3Bucket string
|
||||
S3UseSSL bool
|
||||
|
||||
// Registry — адрес внутреннего Docker registry куда пушим собранные образы
|
||||
// Registry — куда пушим собранные образы функций (DockerHub: "naeel", приватный: "host:port/prefix")
|
||||
RegistryHost string
|
||||
|
||||
// RegistrySecret — имя k8s Secret типа kubernetes.io/dockerconfigjson
|
||||
// Монтируется в kaniko Job для авторизации в registry.
|
||||
// Создаётся через hack/create-registry-secret.sh
|
||||
RegistrySecret string
|
||||
|
||||
// FunctionNamespace — префикс namespace для функций пользователей.
|
||||
// Итоговый namespace: FunctionNamespacePrefix + "-" + functionName
|
||||
FunctionNamespacePrefix string
|
||||
@@ -98,6 +103,12 @@ func Load() (*Config, error) {
|
||||
return nil, fmt.Errorf("REGISTRY_HOST is required")
|
||||
}
|
||||
|
||||
// Secret с docker-кредами для kaniko (опционально — без него push в приватный registry упадёт)
|
||||
cfg.RegistrySecret = os.Getenv("REGISTRY_SECRET")
|
||||
if cfg.RegistrySecret == "" {
|
||||
cfg.RegistrySecret = "sless-registry-auth"
|
||||
}
|
||||
|
||||
// Опциональные параметры с дефолтами
|
||||
if v := os.Getenv("FUNCTION_NAMESPACE_PREFIX"); v != "" {
|
||||
cfg.FunctionNamespacePrefix = v
|
||||
|
||||
Reference in New Issue
Block a user