diff --git a/console/deploy/console.yaml b/console/deploy/console.yaml index ce50647..cb9adfb 100644 --- a/console/deploy/console.yaml +++ b/console/deploy/console.yaml @@ -46,7 +46,7 @@ spec: serviceAccountName: fission-console containers: - name: console - image: naeel/fission-console:v0.2.5 + image: naeel/fission-console:v0.3.1 ports: - containerPort: 8090 env: @@ -56,6 +56,10 @@ spec: value: "http://router.fission.svc.cluster.local" - name: PORT value: "8090" + - name: FISSION_HTTP_TIMEOUT + value: "30s" + - name: FISSION_INVOKE_TIMEOUT + value: "20s" - name: FISSION_AUTH_USERNAME valueFrom: secretKeyRef: diff --git a/doc/progress.md b/doc/progress.md index f3ec9b9..785ecb4 100644 --- a/doc/progress.md +++ b/doc/progress.md @@ -466,3 +466,43 @@ ### Финальная валидация - Для каждой из 6 функций: `code=OK`, `invoke=OK`. + +## 2026-04-15 (дополнение) — Наращивание до 15 функций + исправление фавикона в live UI + +### Запрос +- Увеличить набор до 15 функций, включая error-кейсы. +- Прогнать тесты и чинить код/манифесты при расхождении с ожиданием. +- Исправить favicon в реальном UI (а не только в репозитории). + +### Что сделано по функциям +- Подняты функции из `examples`: `hello-python`, `deep-recursion`, `destroy-test`, `frequent-update`, `orphan-test`, `multi-env-1/2/3`. +- Добавлен негативный кейс `tf-neg-syntax-fn` с route `/neg/syntax`. +- Доведено до ровно `functions=15`, `httptriggers=15`. + +### Фиксы по коду/манифестам (по результатам тестов) +- `examples/multi-env-1/main.tf` + - исправлен `source_dir` с `"$\{path.module\}/code"` на `"${path.module}/code"`. + - заменен image env с `ghcr.io/fission/python-env:v1.20.0` на `ghcr.io/fission/python-env`. +- `examples/multi-env-2/main.tf` + - аналогичные исправления `source_dir` и image. +- `examples/multi-env-3/main.tf` + - аналогичные исправления `source_dir` и image. + +### Тест-матрица (router + JWT) +- Итог: `PASS 15 / FAIL 0`. +- Успешные (`HTTP 200`): + - `/auth-test2`, `/js-acc`, `/js-direct`, `/hello`, `/auto/ok`, `/destroy-test`, `/freq-update`, `/tf-hello`, `/multi-env-1`, `/multi-env-2`, `/multi-env-3`, `/orphan-test`, `/stress/fast`. +- Ожидаемые error-кейсы: + - `/deep-recursion` -> timeout (`curl rc=28`, `HTTP 000`) + - `/neg/syntax` -> timeout (`curl rc=28`, `HTTP 000`) +- Доп. проверка через Console invoke: + - `tf-multi-env-1-fn` -> `status=200` + - `tf-hello-fn` -> `status=200` + - `tf-neg-syntax-fn` и `tf-deep-recursion-fn` -> ожидаемая fail-fast ошибка invoke timeout. + +### Фавикон (live) +- Причина «старого фавикона»: в кластере работал старый образ `naeel/fission-console:v0.3.0`. +- Собран и выкачен новый образ: `naeel/fission-console:v0.3.1`. +- Deployment обновлен и успешно прокатан. +- Проверено в live HTML: отдается + - ``. diff --git a/examples/multi-env-1/main.tf b/examples/multi-env-1/main.tf new file mode 100644 index 0000000..5d8884e --- /dev/null +++ b/examples/multi-env-1/main.tf @@ -0,0 +1,39 @@ +terraform { + required_providers { + fission = { + source = "nail/fission" + version = "~> 0.1.0" + } + } +} + +provider "fission" { + kubeconfig_path = "/home/naeel/.kube/config" + namespace = "default" +} + +resource "fission_environment" "python" { + name = "tf-multi-env-1" + image = "ghcr.io/fission/python-env" + version = 3 +} + +resource "fission_package" "pkg" { + name = "tf-multi-env-1-pkg" + environment = fission_environment.python.name + source_dir = "${path.module}/code" +} + +resource "fission_function" "fn" { + name = "tf-multi-env-1-fn" + environment = fission_environment.python.name + package_name = fission_package.pkg.name + entrypoint = "main.main" +} + +resource "fission_http_trigger" "route" { + name = "tf-multi-env-1-route" + function = fission_function.fn.name + url = "/multi-env-1" + methods = ["GET"] +} diff --git a/examples/multi-env-2/main.tf b/examples/multi-env-2/main.tf new file mode 100644 index 0000000..70a5fb0 --- /dev/null +++ b/examples/multi-env-2/main.tf @@ -0,0 +1,39 @@ +terraform { + required_providers { + fission = { + source = "nail/fission" + version = "~> 0.1.0" + } + } +} + +provider "fission" { + kubeconfig_path = "/home/naeel/.kube/config" + namespace = "default" +} + +resource "fission_environment" "python" { + name = "tf-multi-env-2" + image = "ghcr.io/fission/python-env" + version = 3 +} + +resource "fission_package" "pkg" { + name = "tf-multi-env-2-pkg" + environment = fission_environment.python.name + source_dir = "${path.module}/code" +} + +resource "fission_function" "fn" { + name = "tf-multi-env-2-fn" + environment = fission_environment.python.name + package_name = fission_package.pkg.name + entrypoint = "main.main" +} + +resource "fission_http_trigger" "route" { + name = "tf-multi-env-2-route" + function = fission_function.fn.name + url = "/multi-env-2" + methods = ["GET"] +} diff --git a/examples/multi-env-3/main.tf b/examples/multi-env-3/main.tf new file mode 100644 index 0000000..fe42331 --- /dev/null +++ b/examples/multi-env-3/main.tf @@ -0,0 +1,39 @@ +terraform { + required_providers { + fission = { + source = "nail/fission" + version = "~> 0.1.0" + } + } +} + +provider "fission" { + kubeconfig_path = "/home/naeel/.kube/config" + namespace = "default" +} + +resource "fission_environment" "python" { + name = "tf-multi-env-3" + image = "ghcr.io/fission/python-env" + version = 3 +} + +resource "fission_package" "pkg" { + name = "tf-multi-env-3-pkg" + environment = fission_environment.python.name + source_dir = "${path.module}/code" +} + +resource "fission_function" "fn" { + name = "tf-multi-env-3-fn" + environment = fission_environment.python.name + package_name = fission_package.pkg.name + entrypoint = "main.main" +} + +resource "fission_http_trigger" "route" { + name = "tf-multi-env-3-route" + function = fission_function.fn.name + url = "/multi-env-3" + methods = ["GET"] +}