Go to file
2026-03-30 09:34:44 +03:00
DEVfromGround fix: sync vm stress test docs and ensure read-only behavior 2026-03-30 07:18:48 +03:00
NODEJS fix: sync vm stress test docs and ensure read-only behavior 2026-03-30 07:18:48 +03:00
POSTGRES chore: update .gitignore, remove generated and local files 2026-03-30 09:34:44 +03:00
VM chore: update .gitignore, remove generated and local files 2026-03-30 09:34:44 +03:00
.gitignore chore: update .gitignore, remove generated and local files 2026-03-30 09:34:44 +03:00
README.md chore(examples): remove stale examples, keep only POSTGRES 2026-03-21 07:49:23 +03:00

Примеры использования sless

Обзор платформы

sless — система управления serverless-функциями на базе Kubernetes. Разработчик загружает код функции, платформа собирает из него Docker-образ, разворачивает его в кластере и предоставляет HTTP-эндпоинт для вызова. Всё описывается декларативно через Terraform.

Основные ресурсы провайдера

Ресурс Назначение
sless_service Long-running HTTP-сервис: всегда активен, отвечает на запросы. Имеет свой URL после деплоя.
sless_job Одноразовый запуск функции: собирает образ, выполняет код, завершается. Используется для миграций БД, batch-обработки и т.д.

Namespace функций вычисляется автоматически из JWT-токена: sless-{sha256[:8]}.


Требования

  • Terraform >= 1.3
  • JWT-токен для аутентификации в sless API
  • JWT-токен для Nubes Cloud API (если используются managed-ресурсы: PostgreSQL и т.д.)
  • Доступ к https://sless.kube5s.ru

Конфигурация провайдера

provider "sless" {
  endpoint = "https://sless.kube5s.ru"
  token    = var.sless_token
}

provider "nubes_cloud" {
  base_url = "https://deck-api-test.ngcloud.ru/api/v1"
  token    = var.nubes_token
}

Токены задаются в terraform.tfvars — этот файл добавлен в .gitignore.


Примеры

POSTGRES — Serverless-функции с Managed PostgreSQL

Полный пример: managed PostgreSQL + одноразовый init-job + 3 HTTP-сервиса (чтение/запись данных и информация о PG).

Языки: Python 3.11, Node.js 20.

cd POSTGRES
terraform init
terraform apply

Подробности: POSTGRES/README.md


Полезные команды

# Посмотреть состояние задеплоенных ресурсов:
terraform show

# Принудительно пересобрать сервис (после изменения кода):
terraform apply -replace=sless_service.<имя>

# Повторно запустить job: увеличить run_id в .tf-файле, затем:
terraform apply

# Удалить все ресурсы примера:
terraform destroy