# 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`.