Exoscale DBaaS (Aiven) requires SSL connections. Added ssl: true with ssl_opts: [verify: :verify_none] for managed service certs. L3 migration ran successfully against shorashim database: - interpretations table with check constraint and indexes - minority_opinions table with FK index - teiku_registry table with case_ref index - Append-only REVOKE ready for shorashim_app role Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
1.2 KiB
Elixir
33 lines
1.2 KiB
Elixir
import Config
|
|
|
|
# Runtime configuration — read from environment variables at boot.
|
|
# This file is evaluated at runtime, not compile time.
|
|
# Required for OTP releases where env vars aren't known at build time.
|
|
|
|
if config_env() == :prod do
|
|
# L3 — PostgreSQL connection
|
|
# The kohen sets DATABASE_URL in the K8s secret
|
|
database_url =
|
|
System.get_env("DATABASE_URL") ||
|
|
raise """
|
|
DATABASE_URL not set.
|
|
The kohen must set the DATABASE_URL in shorashim-secrets.
|
|
Format: ecto://user:password@host:port/database?sslmode=require
|
|
"""
|
|
|
|
config :vav_pipeline, VavPipeline.Repo,
|
|
url: database_url,
|
|
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "20"),
|
|
ssl: true,
|
|
ssl_opts: [verify: :verify_none]
|
|
|
|
# L1 mount point — overridable via env
|
|
config :vav_pipeline,
|
|
l1_mount_point: System.get_env("L1_MOUNT_POINT") || "/mnt/torah",
|
|
manna_provision_file:
|
|
System.get_env("MANNA_PROVISION_FILE") || "/var/lib/shorashim/manna/today.json",
|
|
talmudic_socket_path:
|
|
System.get_env("TALMUDIC_SOCKET_PATH") || "/tmp/shorashim/talmudic.sock",
|
|
http_port: String.to_integer(System.get_env("HTTP_PORT") || "4000")
|
|
end
|