feat: implement function and http trigger resources via CRD

This commit is contained in:
Naeel
2026-04-14 22:40:11 +03:00
parent 8842ec070e
commit cf55828ba6
5 changed files with 624 additions and 14 deletions
+30
View File
@@ -38,3 +38,33 @@
### Следующий шаг
- Реализовать `fission_function` через CRD `functions.fission.io`.
### Обновление этапа (fission_function)
- Реализован CRUD в `internal/client/client.go` для `functions.fission.io`:
- `CreateFunction`
- `GetFunction`
- `UpdateFunction`
- `DeleteFunction`
- Реализован ресурс `fission_function` в `internal/resources/function_resource.go`:
- schema: `name`, `environment`, `package_name`, `entrypoint`, `namespace`, computed `id`, `uid`
- Configure/Create/Read/Update/Delete
- маппинг в CRD `Function` (`spec.environment`, `spec.package.packageref`, `spec.package.functionName`)
- Проверка сборки: `go build ./...` успешно.
### Следующий шаг
- Реализовать `fission_http_trigger` через CRD `httptriggers.fission.io`.
### Обновление этапа (fission_http_trigger)
- Реализован CRUD в `internal/client/client.go` для `httptriggers.fission.io`:
- `CreateHTTPTrigger`
- `GetHTTPTrigger`
- `UpdateHTTPTrigger`
- `DeleteHTTPTrigger`
- Реализован ресурс `fission_http_trigger` в `internal/resources/http_trigger_resource.go`:
- schema: `name`, `function`, `url`, `methods`, `create_ingress`, `host`, `namespace`, computed `id`, `uid`
- Configure/Create/Read/Update/Delete
- маппинг в CRD `HTTPTrigger` (`spec.relativeurl`, `spec.methods`, `spec.functionref`, `spec.createingress`)
- Проверка сборки: `go build ./...` успешно.
### Следующий шаг
- Добавить пример `examples/hello-python/main.tf` и выполнить smoke Terraform apply.
+40
View File
@@ -60,3 +60,43 @@
- Create/Read/Update/Delete через CRD API
- Сборка `go build ./...` успешна.
- Следующий этап: `fission_function`.
---
Агент: GitHub Copilot
Модель: GPT-5.3-Codex
## План (до действий, этап 4)
1. Реализовать CRUD методы клиента для `functions.fission.io`.
2. Реализовать ресурс `fission_function`.
3. Проверить сборку.
4. Обновить документацию этапа.
## Результат (после действий, этап 4)
- В `internal/client/client.go` добавлены методы CRUD для Function CRD.
- В `internal/resources/function_resource.go` реализован рабочий ресурс `fission_function`:
- schema с обязательными `name`, `environment`, `package_name`, `entrypoint`
- Configure/Create/Read/Update/Delete
- преобразование terraform model <-> CRD payload
- Сборка `go build ./...` успешна.
- Следующий этап: `fission_http_trigger`.
---
Агент: GitHub Copilot
Модель: GPT-5.3-Codex
## План (до действий, этап 5)
1. Реализовать CRUD методы клиента для `httptriggers.fission.io`.
2. Реализовать ресурс `fission_http_trigger`.
3. Проверить сборку.
4. Обновить документацию этапа.
## Результат (после действий, этап 5)
- В `internal/client/client.go` добавлены методы CRUD для HTTPTrigger CRD.
- В `internal/resources/http_trigger_resource.go` реализован рабочий ресурс `fission_http_trigger`:
- schema с `name`, `function`, `url`, `methods`, `create_ingress`, `host`
- Configure/Create/Read/Update/Delete
- преобразование terraform model <-> CRD payload
- Сборка `go build ./...` успешна.
- Следующий этап: пример Terraform и smoke apply.