30 lines
879 B
Terraform
30 lines
879 B
Terraform
# 2026-03-11
|
|
# function.tf — HTTP-функция: читает из PostgreSQL и возвращает список записей.
|
|
# Нет джобов, нет инициализации — только функция + HTTP триггер.
|
|
|
|
resource "sless_function" "product_catalog" {
|
|
name = "product-catalog"
|
|
runtime = "python3.11"
|
|
entrypoint = "catalog.list_products"
|
|
memory_mb = 128
|
|
timeout_sec = 10
|
|
|
|
source_dir = "${path.module}/code"
|
|
|
|
# DSN передаётся через env — функция не знает об инфраструктуре
|
|
env_vars = {
|
|
PG_DSN = var.pg_dsn
|
|
}
|
|
}
|
|
|
|
resource "sless_trigger" "product_catalog_http" {
|
|
name = "product-catalog-http"
|
|
type = "http"
|
|
function = sless_function.product_catalog.name
|
|
enabled = true
|
|
}
|
|
|
|
output "catalog_url" {
|
|
value = sless_trigger.product_catalog_http.url
|
|
}
|