41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
# Progress Log
|
||
|
||
## 2026-04-14
|
||
|
||
### План перед работой
|
||
- Зафиксировать, что REST `/v2/*` недоступен в текущем кластере Fission v1.22.1 и MVP идет через Kubernetes CRD API.
|
||
- Реализовать первый рабочий Terraform ресурс `fission_environment`.
|
||
- Добавить минимальный CRUD в клиент для CRD `environments.fission.io`.
|
||
- Проверить сборку `go build ./...`.
|
||
|
||
### Факт выполнения
|
||
- Обновлен план в `doc/CODEX_PLAN.md`: путь реализации переведен на CRD API.
|
||
- Создан каркас провайдера и заготовки ресурсов.
|
||
- Реализован рабочий `fission_environment`:
|
||
- schema (name, image, version, poolsize, namespace, id, uid)
|
||
- Configure() с получением клиента из provider
|
||
- Create/Read/Update/Delete через Kubernetes CRD `environments.fission.io`
|
||
- В `internal/client/client.go` добавлены методы:
|
||
- CreateEnvironment / GetEnvironment / UpdateEnvironment / DeleteEnvironment
|
||
- IsNotFound для обработки удаления/дрейфа state
|
||
- Проверка `go build ./...` проходит успешно.
|
||
|
||
### Следующий шаг
|
||
- Реализовать `fission_package` (zip/base64 -> spec.source.literal) через CRD `packages.fission.io`.
|
||
|
||
### Обновление этапа (fission_package)
|
||
- Реализован CRUD в `internal/client/client.go` для `packages.fission.io`:
|
||
- `CreatePackage`
|
||
- `GetPackage`
|
||
- `UpdatePackage`
|
||
- `DeletePackage`
|
||
- Реализован ресурс `fission_package` в `internal/resources/package_resource.go`:
|
||
- schema: `name`, `environment`, `source_dir`, `code_path`, `code_hash`, `build_command`, `namespace`, computed `id`, `uid`, `build_status`, `build_log`
|
||
- валидация источника кода: задан ровно один из `source_dir` или `code_path`
|
||
- упаковка `source_dir` в zip и кодирование base64 в `spec.source.literal`
|
||
- Create/Read/Update/Delete через Kubernetes CRD API
|
||
- Проверка сборки: `go build ./...` успешно.
|
||
|
||
### Следующий шаг
|
||
- Реализовать `fission_function` через CRD `functions.fission.io`.
|