Files
sless/examples/notes-python/main.tf
T
“Naeel” 7dffc61c84 refactor: notes-python — описательные имена файлов/ресурсов + комментарии
Python файлы:
- handler.py → sql_runner.py   (entrypoint: sql_runner.handle)
- handler.py → notes_crud.py   (entrypoint: notes_crud.handle)
- handler.py → notes_list.py   (entrypoint: notes_list.handle)

TF ресурсы переименованы:
- sless_function.notes         → sless_function.notes_crud
- sless_trigger.notes_http     → sless_trigger.notes_crud_http
- sless_job.create_table       → sless_job.notes_table_init
- sless_job.create_index       → sless_job.notes_index_init
- archive_file.notes           → archive_file.notes_crud_zip
- archive_file.sql_runner      → archive_file.sql_runner_zip
- archive_file.notes_list      → archive_file.notes_list_zip

Добавлены подробные комментарии во все .tf файлы
2026-03-09 10:10:43 +04:00

33 lines
1.3 KiB
Terraform

# 2026-03-09
# main.tf — конфигурация terraform и провайдеров.
#
# Все ресурсы вынесены в отдельные .tf файлы по назначению:
# variables.tf — входные переменные (pg_dsn)
# sql-runner.tf — служебная DDL-функция (без HTTP-триггера)
# init.tf — однократная инициализация схемы БД
# notes.tf — CRUD функция + HTTP-триггер
# notes-list.tf — read-only функция + HTTP-триггер
# outputs.tf — URLs развёрнутых эндпоинтов
terraform {
required_providers {
# Провайдер для управления serverless функциями через sless API
sless = {
source = "terra.k8c.ru/naeel/sless"
version = "~> 0.1.7"
}
# hashicorp/archive — для упаковки исходников в zip перед загрузкой
archive = {
source = "hashicorp/archive"
version = "~> 2.0"
}
}
}
# sless провайдер подключается к API кластера.
# В продакшне token следует передавать через TF_VAR или secrets.
provider "sless" {
endpoint = "https://sless-api.kube5s.ru"
token = "dev-token-change-me"
}