feat: complete MVP resources and validate end-to-end terraform flow
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -100,3 +100,40 @@
|
||||
- преобразование terraform model <-> CRD payload
|
||||
- Сборка `go build ./...` успешна.
|
||||
- Следующий этап: пример Terraform и smoke apply.
|
||||
|
||||
---
|
||||
|
||||
Агент: GitHub Copilot
|
||||
Модель: GPT-5.3-Codex
|
||||
|
||||
## План (до действий, этап 6)
|
||||
1. Добавить пример Terraform под текущий набор реализованных ресурсов.
|
||||
2. Добавить простой код функции для примера.
|
||||
3. Зафиксировать изменения в документации.
|
||||
|
||||
## Результат (после действий, этап 6)
|
||||
- Создан `examples/hello-python/main.tf`.
|
||||
- Создан `examples/hello-python/code/main.py`.
|
||||
- Пример покрывает цепочку Environment -> Package -> Function -> HTTPTrigger.
|
||||
- Следующий этап: установить бинарник провайдера в локальный plugin cache и прогнать smoke `terraform init/plan/apply`.
|
||||
|
||||
---
|
||||
|
||||
Агент: GitHub Copilot
|
||||
Модель: GPT-5.3-Codex
|
||||
|
||||
## План (до действий, этап 7)
|
||||
1. Выполнить smoke `terraform plan/apply` с dev override.
|
||||
2. Проверить рабочий HTTP endpoint функции.
|
||||
3. Зафиксировать найденные дефекты провайдера и исправить их.
|
||||
|
||||
## Результат (после действий, этап 7)
|
||||
- Выполнен `terraform plan` для `examples/hello-python`.
|
||||
- Выполнен `terraform apply`.
|
||||
- Найдены и исправлены дефекты:
|
||||
- `fission_package`: computed-поля могли оставаться unknown после Create.
|
||||
- `fission_function`: отсутствовал обязательный `spec.InvokeStrategy`.
|
||||
- `fission_http_trigger`: несогласованность состояния для `create_ingress`.
|
||||
- После фиксов выполнен повторный apply и проверка endpoint:
|
||||
- `https://fission.kube5s.ru/tf-hello` -> `hello from fission via terraform`.
|
||||
- MVP-цепочка ресурсов работает end-to-end на кластере.
|
||||
|
||||
Reference in New Issue
Block a user