feat: NodeJS pg-info function; funcs endpoint: filter + created_at/last_built_at; operator v0.1.32
This commit is contained in:
@@ -95,6 +95,37 @@ resource "sless_job" "postgres_table_init_job" {
|
||||
depends_on = [nubes_postgres_database.db]
|
||||
}
|
||||
|
||||
# HTTP-функция на NodeJS: возвращает версию PG-сервера и счётчик строк в таблице.
|
||||
# Единственная функция примера на nodejs20 — проверка что JS runtime работает.
|
||||
# Доступна по URL: https://sless.kube5s.ru/fn/<namespace>/pg-info
|
||||
resource "sless_function" "pg_info" {
|
||||
name = "pg-info"
|
||||
runtime = "nodejs20"
|
||||
entrypoint = "pg_info.info"
|
||||
memory_mb = 128
|
||||
timeout_sec = 15
|
||||
|
||||
env_vars = {
|
||||
PGHOST = local.pg_host
|
||||
PGPORT = "5432"
|
||||
PGDATABASE = local.pg_database
|
||||
PGUSER = local.pg_username
|
||||
PGPASSWORD = local.pg_password
|
||||
PGSSLMODE = "require"
|
||||
}
|
||||
|
||||
source_dir = "${path.module}/code/pg-info"
|
||||
|
||||
depends_on = [sless_job.postgres_table_init_job]
|
||||
}
|
||||
|
||||
resource "sless_trigger" "pg_info_http" {
|
||||
name = "pg-info-http"
|
||||
type = "http"
|
||||
function = sless_function.pg_info.name
|
||||
enabled = true
|
||||
}
|
||||
|
||||
# HTTP-функция читает строки из terraform_demo_table и возвращает JSON.
|
||||
# Использует те же credentials что и sql-runner.
|
||||
# Доступна по URL: https://sless.kube5s.ru/fn/<namespace>/pg-table-reader
|
||||
@@ -149,10 +180,14 @@ resource "sless_function" "funcs_list" {
|
||||
timeout_sec = 15
|
||||
|
||||
env_vars = {
|
||||
# Внутренний ClusterIP сервис оператора — без TLS, без DNS-overhead.
|
||||
SLESS_API_URL = "http://sless-operator.sless.svc.cluster.local:9090"
|
||||
SLESS_NAMESPACE = local.user_namespace
|
||||
SLESS_TOKEN = var.api_token
|
||||
# Внутренний ClusterIP сервис оператора — без TLS, без DNS-overhead
|
||||
SLESS_API_URL = "http://sless-operator.sless.svc.cluster.local:9090"
|
||||
SLESS_NAMESPACE = local.user_namespace
|
||||
SLESS_TOKEN = var.api_token
|
||||
# Публичный домен: terraform state может хранить старый sless-api.kube5s.ru в URLs
|
||||
SLESS_EXTERNAL_URL = "https://sless.kube5s.ru"
|
||||
# Служебные функции — не показывать в листинге
|
||||
SLESS_EXCLUDE = "funcs,event-writer,event-monitor,event-cleaner"
|
||||
}
|
||||
|
||||
source_dir = "${path.module}/code/funcs-list"
|
||||
|
||||
Reference in New Issue
Block a user