Files
sless/examples/README.md
T
Naeel 7f7aa44e59 chore: удаление устаревших examples, новый doc, правки funcs-service
- examples/: удалены старые директории (TNAR, demo-event-log, demo-managed-functions,
  hello-go, hello-node, notes-python, pg-list-python, simple-node, simple-python)
- examples/README.md: обновлён (только POSTGRES остался)
- doc/decisions/build-deploy-pipeline.md: новый документ по пайплайну сборки/деплоя
- services/funcs/main.go: правки из текущей сессии
2026-03-21 08:46:30 +03:00

2.7 KiB
Raw Blame History

Примеры использования 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