feat: complete MVP resources and validate end-to-end terraform flow

This commit is contained in:
Naeel
2026-04-14 22:53:33 +03:00
parent cf55828ba6
commit f0446742fe
8 changed files with 215 additions and 76 deletions
+40
View File
@@ -68,3 +68,43 @@
### Следующий шаг
- Добавить пример `examples/hello-python/main.tf` и выполнить smoke Terraform apply.
### Обновление этапа (пример Terraform)
- Создан пример `examples/hello-python/main.tf` с использованием ресурсов:
- `fission_environment`
- `fission_package`
- `fission_function`
- `fission_http_trigger`
- Добавлен код функции `examples/hello-python/code/main.py`.
### Следующий шаг
- Подготовить локальную установку бинарника провайдера для `terraform init` и выполнить smoke `terraform apply`.
### Обновление этапа (smoke Terraform apply)
- Собран бинарник провайдера и подключен через Terraform `dev_overrides`.
- Прогнан `terraform plan` для `examples/hello-python`: план успешен, 4 ресурса к созданию.
- Прогнан `terraform apply` и выполнена функциональная проверка.
Исправленные баги по факту smoke:
- `fission_package`: после Create computed-поля (`build_status`, `build_log`) могли оставаться `unknown`.
- Исправлено формирование state в `unstructuredToPackageModel`.
- `fission_function`: CRD требовал обязательный `spec.InvokeStrategy`.
- Добавлен `InvokeStrategy` в payload функции.
- `fission_http_trigger`: несогласованность state (`create_ingress` null -> false).
- В schema добавлены `Computed` + `Default(false)` для `create_ingress`.
- Для `methods` добавлен `Computed`.
Дополнительно:
- Для текущего python MVP `fission_package` переведен на `spec.deployment.literal` (как у рабочего CLI-пакета).
- Проверка endpoint после apply:
- `GET /tf-hello` -> `hello from fission via terraform`.
### Следующий шаг
- Добавить README по запуску dev override и оговорить ограничения текущего MVP (`source_dir` ожидает `main.py`).
### Обновление этапа (README)
- Добавлен `README.md` в корень репозитория.
- Описаны:
- список реализованных ресурсов MVP
- запуск через Terraform dev override
- текущие ограничения MVP