feat: implement environment and package resources via fission CRD

This commit is contained in:
Naeel
2026-04-14 22:36:54 +03:00
parent a8c28c751e
commit 8842ec070e
7 changed files with 805 additions and 24 deletions
+62
View File
@@ -0,0 +1,62 @@
# Thinking Log
Агент: GitHub Copilot
Модель: GPT-5.3-Codex
Дата: 2026-04-14
---
## План (до действий)
1. Проверить реальное состояние кода после scaffold и внешних правок.
2. Зафиксировать документацию этапа до изменений в коде.
3. Реализовать первый рабочий ресурс `fission_environment` как базовую вертикаль (provider -> client -> resource CRUD).
4. Скомпилировать проект и поправить ошибки.
5. Обновить документацию по факту и закоммитить этап.
## Результат (после предыдущих действий)
- Подтверждено, что REST `/v2/*` в текущей установке недоступен.
- План реализации переключен на Kubernetes CRD API.
- Создан и собран каркас провайдера.
- Сейчас выполняется реализация первого рабочего ресурса.
---
Агент: GitHub Copilot
Модель: GPT-5.3-Codex
## План (до действий, этап 2)
1. Реализовать CRUD методы клиента для `environments.fission.io`.
2. Реализовать полный lifecycle ресурса `fission_environment`.
3. Проверить сборку и привести код к чистому состоянию.
4. Зафиксировать результат в документации.
## Результат (после действий, этап 2)
- В `internal/client/client.go` реализованы методы CRUD для Environment CRD.
- В `internal/resources/environment_resource.go` реализован полноценный ресурс:
- schema атрибутов
- Configure/Create/Read/Update/Delete
- преобразование model <-> unstructured
- Сборка `go build ./...` успешна.
- Этап готов к коммиту и переходу к `fission_package`.
---
Агент: GitHub Copilot
Модель: GPT-5.3-Codex
## План (до действий, этап 3)
1. Реализовать CRUD методы клиента для `packages.fission.io`.
2. Реализовать ресурс `fission_package` с загрузкой кода из `source_dir` или `code_path`.
3. Проверить сборку.
4. Обновить документацию и зафиксировать этап.
## Результат (после действий, этап 3)
- В `internal/client/client.go` добавлены методы CRUD для Package CRD.
- В `internal/resources/package_resource.go` реализован рабочий ресурс `fission_package`:
- schema ресурса
- проверка источника кода (ровно один из `source_dir`/`code_path`)
- упаковка директории в zip
- base64 в `spec.source.literal`
- Create/Read/Update/Delete через CRD API
- Сборка `go build ./...` успешна.
- Следующий этап: `fission_function`.