db3ca9870e
fix: API validation + Terraform plan-time validators
...
API (operator v0.1.13):
- functions.go: добавлена валидация entrypoint (не пустой) и
memory_mb (1-4096). Фиксирует БАГ-1/2/4 из негативных тестов.
- triggers.go: добавлена валидация type (только 'http'/'cron').
Фиксирует БАГ-3 (неверное сообщение об ошибке).
Провайдер (v0.1.7):
- Добавлен пакет terraform-plugin-framework-validators v0.19.0
- function_resource: runtime OneOf, memory_mb 1-4096, timeout_sec 1-900
- trigger_resource: type OneOf(http, cron)
- job_resource: run_id AtLeast(0)
- examples/main.tf: обновлена версия до ~> 0.1.7
doc/errors/log.md: задокументированы исправления и результаты повторных тестов
2026-03-09 08:52:13 +04:00
b73591131a
fix: откат 409-fallback из клиента провайдера (provider v0.1.6 не опубликован с изменениями)
...
- terraform/provider/internal/client/client.go: откат 409 fallback для
CreateFunction, CreateTrigger, CreateJob — import не нужен в данном провайдере,
409 должен быть ошибкой
- examples/hello-node/main.tf: версия провайдера ~> 0.1.6 (опубликована
без изменений клиента — только исходная версия кода)
- examples/hello-node/job.tf: run_id=9, numbers=[100,200,300]
Тесты пройдены: plan(no-changes), state-rm+apply, code update, run_id++, destroy+apply
2026-03-09 08:17:17 +04:00
e9cc65977c
fix: убрать UseStateForUnknown с image_ref, provider v0.1.5
2026-03-08 20:34:00 +04:00
1770a9b84b
feat: trigger.enabled + job.run_id lifecycle control (operator v0.1.6, provider v0.1.4)
...
- TriggerSpec.Enabled bool (default=true): enabled=false масштабирует Deployment до 0
- FunctionJobSpec.RunID int64 (default=0): run_id=0 = skip, >0 = run
- API: PATCH /v1/namespaces/{ns}/triggers/{name} (UpdateTrigger)
- Provider: enabled attribute (Optional, Computed, in-place update)
- Provider: run_id attribute (Optional, Computed, default=0, RequiresReplace)
- operator image: naeel/sless-operator:v0.1.6
- provider: terra.k8c.ru/naeel/sless v0.1.4
2026-03-08 10:10:32 +04:00
8e7703b286
examples/hello-node: two different functions (http greeting, job sum)
2026-03-08 09:22:38 +04:00
a56de870ce
examples/hello-node: move handler to code/, split http.tf and job.tf
2026-03-08 09:14:34 +04:00
9d922de489
examples: switch hello-node to sless_job (one-shot run)
2026-03-07 23:05:09 +04:00
92a7171943
examples: auto-zip via hashicorp/archive, remove manual zip step
2026-03-07 18:46:23 +04:00
96664148e0
feat: add nodejs20 runtime
...
- runtimes/nodejs20/server.js: HTTP wrapper, exports.handle(event)
- runtimes/nodejs20/Dockerfile: node:20-alpine base image
- naeel/sless-runtime-nodejs20:v0.1.0 pushed to DockerHub
- upload.go: nodejs20 in runtimeBaseImage(), package.json → npm install
- upload.go: python3.11 now uses v0.1.0 tag (no more latest)
- operator v0.1.2 deployed in cluster
- E2E: hello-node-default.fn.kube5s.ru → {"message":"Hello, Naeel! (nodejs20)"}
2026-03-07 17:00:29 +04:00