Config Schema Reference
This page is generated from the module config structs via mise run docgen. Every
field, default, and enum below is derived from source — run that task after adding
or changing a module’s Config.
Replace default with any instance name when using multiple instances of a module.
modules.auth.verifier
modules: auth: verifier: default: issuers: [] static_key: "" scope_claim: "scope" roles_claim: ""modules.cache.memory
modules: cache: memory: default: caches: {}modules.db.pgx
modules: db: pgx: default: dsn: "" # required max_open_conns: 10 log_level: "info" # one of: trace, debug, info, warn, error, none health_check: false min_conns: 0 max_conn_lifetime: "1h0m0s" max_conn_idle_time: "30m0s" health_check_period: "1m0s" statement_timeout: "30s" migrations: ""modules.debug.actuator
modules: debug: actuator: default: enabled: false host: "127.0.0.1" port: 6060 base_path: "/debug" show_values: "never" # one of: never, always, when_authorized redact_patterns: [] endpoints: "" allow_insecure: falsemodules.events.bus
modules: events: bus: default: buffer_size: 1024modules.features.flags
modules: features: flags: default: flags: {}modules.grpc.client
modules: grpc: client: default: target: "localhost:50051" insecure: false tls: ""modules.grpc.server
modules: grpc: server: default: host: "0.0.0.0" port: 50051 health_check: false tls: ""modules.health.health
modules: health: health: default: component_name: "" component_version: ""modules.http.connect
modules: http: connect: default: host: "0.0.0.0" port: 8080 h2c: true read_timeout: "0s" read_header_timeout: "10s" tls: ""modules.http.fiber
modules: http: fiber: default: host: "0.0.0.0" port: 8080 health_path: "" tls: "" # + any github.com/gofiber/fiber/v3 Config field via raw passthroughmodules.logging.slog
modules: logging: slog: default: level: "info" levels: {} global_default: truemodules.logging.tint
modules: logging: tint: default: time_format: "2006-01-02T15:04:05Z07:00"modules.otel.otel
modules: otel: otel: default: service_name: "lakta" service_version: "" service_namespace: "" environment: "" endpoint: "" protocol: "grpc" insecure: false headers: {} sample_rate: 1 metric_interval: "1m0s" runtime_interval: "1s" enabled: true required: false signals: [] # default: ["traces","metrics","logs"]modules.resilience.policy
modules: resilience: policy: default: policies: {}modules.workers.pool
modules: workers: pool: default: pools: {}modules.workers.scheduler
modules: workers: scheduler: default: timezone: "UTC" jobs: {}modules.workflows.temporal
modules: workflows: temporal: default: target: "localhost:7233" task_queue: "" # required namespace: "default" insecure: falseEditor autocompletion (JSON Schema)
Section titled “Editor autocompletion (JSON Schema)”Lakta ships a Draft 2020-12 JSON Schema covering every built-in module, generated
from the same source as this page via mise run schema and checked in at
lakta.schema.json (hosted at https://vilsol.github.io/lakta/lakta.schema.json).
Point the YAML language server at it with a modeline atop your config file to get autocompletion and validation (e.g. a malformed duration string is flagged):
# yaml-language-server: $schema=https://vilsol.github.io/lakta/lakta.schema.jsonmodules: grpc: server: default: host: "0.0.0.0" port: 50051Category (grpc) and type (server) keys are fixed to the shipped built-ins;
instance names (default, or any [A-Za-z0-9_-]+) are open. Passthrough
modules (e.g. http.fiber) allow arbitrary extra keys.
Schema Store
Section titled “Schema Store”The schema is registered with JSON Schema Store so
editors resolve it automatically for lakta.* config files. The catalog entry
(src/api/json/catalog.json in SchemaStore/schemastore) is:
{ "name": "Lakta", "description": "Lakta microservice framework configuration", "fileMatch": ["lakta.yaml", "lakta.yml", "lakta.*.yaml", "lakta.*.yml"], "url": "https://vilsol.github.io/lakta/lakta.schema.json"}Verifying autocompletion manually
Section titled “Verifying autocompletion manually”- Create
lakta.yamlwith the modeline above. - Open it in an editor with the YAML language server (VS Code + the RedHat YAML
extension, or Neovim +
yamlls). - Type under
modules.grpc.server.default.— completions forhost,port, etc. appear. - Set a
time.Durationfield (e.g. a pgxhealth_check_period) tonotaduration— the server flags it against the duration pattern.
Environment profiles
Section titled “Environment profiles”Set LAKTA_PROFILE=<name> (or pass config.WithProfile("<name>")) to overlay a
lakta.<name>.<ext> file on top of the base lakta.<ext> in each config
directory. The overlay loads after the base (koanf last-wins), so its keys win
while base-only keys survive. Precedence is: base files → profile files → env
vars → CLI flags. Profile files join the watched set, so hot-reload works for
them too. A missing overlay file is silently skipped.