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 файлы
33 lines
1.3 KiB
HCL
33 lines
1.3 KiB
HCL
# 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"
|
||
}
|