feat: proxy /fn/{namespace}/{name} — обход wildcard DNS
Проблема: wildcard DNS *.fn.kube5s.ru недоступен.
Решение: прокси через sless-api.kube5s.ru/fn/{ns}/{name}.
- handler/invoke.go: прокси к Service функции внутри кластера
- router.go: /fn/ без auth токена, /v1/ с auth (gorilla Use())
- config.go: поле ExternalURL (EXTERNAL_URL env)
- trigger_controller.go: если ExternalURL задан — URL = ExternalURL/fn/{ns}/{fn}
иначе fallback: Ingress + поддомен (прежнее поведение)
- operator.yaml: EXTERNAL_URL=https://sless-api.kube5s.ru, image v0.1.5
Оператор v0.1.5 задеплоен.
E2E: curl https://sless-api.kube5s.ru/fn/default/hello-node → {"message":"Hello, Naeel! (nodejs20)"}
This commit is contained in:
@@ -31,6 +31,9 @@ data:
|
||||
REGISTRY_SECRET: "sless-registry-auth"
|
||||
API_PORT: "9090"
|
||||
INGRESS_HOST: "fn.kube5s.ru"
|
||||
# EXTERNAL_URL — если задан, URL функции = EXTERNAL_URL/fn/{namespace}/{name}
|
||||
# Позволяет обойтись без wildcard DNS *.fn.kube5s.ru
|
||||
EXTERNAL_URL: "https://sless-api.kube5s.ru"
|
||||
---
|
||||
# Secret создаётся отдельно через kubectl (не коммитить секреты в git!)
|
||||
# Описание ключей:
|
||||
@@ -67,7 +70,7 @@ spec:
|
||||
containers:
|
||||
- name: operator
|
||||
# При обновлении версии оператора — менять тег здесь (не latest!)
|
||||
image: naeel/sless-operator:v0.1.4
|
||||
image: naeel/sless-operator:v0.1.5
|
||||
# Always — чтобы всегда тянуть по точному тегу (не кешировать старый)
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
|
||||
Reference in New Issue
Block a user