This commit is contained in:
“Naeel” 2026-03-09 20:35:01 +04:00
parent 9293985003
commit 27a64afaec
7 changed files with 28 additions and 7 deletions

5
.gitignore vendored
View File

@ -8,6 +8,7 @@
*.dll *.dll
*.so *.so
*.dylib *.dylib
*.sh
bin bin
testbin/* testbin/*
hack/local.env hack/local.env
@ -40,3 +41,7 @@ terraform/provider/build/
# Локальные артефакты упаковки функций # Локальные артефакты упаковки функций
**/dist/ **/dist/
# Локальные тестовые файлы и логи прогонов
**/*.tf.disabled
.test-logs/

View File

@ -1,5 +1,23 @@
# Примеры sless # Примеры sless
## Что такое sless
**sless** — платформа для запуска serverless-функций в Kubernetes-кластере.
Код на Python или Node.js загружается в платформу, которая собирает Docker-образ, деплоит его в кластер и публикует HTTP-эндпоинт. Всё управляется через Terraform.
### Ресурсы
| Ресурс | Что делает |
|---|---|
| `sless_function` | Загружает код и собирает Docker-образ. Сама по себе не принимает запросы — нужен триггер или джоб |
| `sless_trigger` | Публикует функцию — либо как HTTP-эндпоинт, либо по расписанию (cron) |
| `sless_job` | Запускает функцию один раз (например, для инициализации БД) и ждёт результата |
**Типичный сценарий:** `sless_function` с кодом + `sless_trigger` с `type = "http"` → публичный URL вида `https://sless-api.kube5s.ru/fn/default/имя-функции`.
---
Примеры показывают различные сценарии использования serverless функций через Terraform провайдер `terra.k8c.ru/naeel/sless`. Примеры показывают различные сценарии использования serverless функций через Terraform провайдер `terra.k8c.ru/naeel/sless`.
## Требования ## Требования
@ -14,6 +32,7 @@
```hcl ```hcl
provider "sless" { provider "sless" {
endpoint = "https://sless-api.kube5s.ru" endpoint = "https://sless-api.kube5s.ru"
token = "dev-token-change-me"
} }
``` ```

View File

@ -8,7 +8,7 @@ terraform {
required_providers { required_providers {
sless = { sless = {
source = "terra.k8c.ru/naeel/sless" source = "terra.k8c.ru/naeel/sless"
version = "~> 0.1.10" version = "~> 0.1.11"
} }
} }
} }

View File

@ -1,2 +0,0 @@
# Временный файл для негативных тестов — не применяется через terraform
# Тесты запускаются вручную с временным переименованием в .tf

View File

@ -14,13 +14,12 @@ terraform {
# Провайдер для управления serverless функциями через sless API # Провайдер для управления serverless функциями через sless API
sless = { sless = {
source = "terra.k8c.ru/naeel/sless" source = "terra.k8c.ru/naeel/sless"
version = "~> 0.1.10" version = "~> 0.1.11"
} }
} }
} }
# sless провайдер подключается к API кластера. # sless провайдер подключается к API кластера.
# В продакшне token следует передавать через TF_VAR или secrets.
provider "sless" { provider "sless" {
endpoint = "https://sless-api.kube5s.ru" endpoint = "https://sless-api.kube5s.ru"
token = "dev-token-change-me" token = "dev-token-change-me"

View File

@ -19,7 +19,7 @@ terraform {
required_providers { required_providers {
sless = { sless = {
source = "terra.k8c.ru/naeel/sless" source = "terra.k8c.ru/naeel/sless"
version = "~> 0.1.10" version = "~> 0.1.11"
} }
} }
} }

View File

@ -18,7 +18,7 @@ terraform {
required_providers { required_providers {
sless = { sless = {
source = "terra.k8c.ru/naeel/sless" source = "terra.k8c.ru/naeel/sless"
version = "~> 0.1.10" version = "~> 0.1.11"
} }
} }
} }