Every config key supported by Lakta can be set via an environment variable. This is useful for secrets, deployment-time overrides, and container environments.
Transform the dot-notation config key:
Prefix with LAKTA_
Convert to uppercase
Replace each path-separating . with a double underscore (__)
Leave underscores inside a key (e.g. max_open_conns) as single underscores
The double-underscore separator is what lets a snake_case key survive: a single underscore everywhere would be ambiguous between a path boundary and the underscore inside the key.
Examples:
| Config key | Environment variable |
|------------|---------------------|
| modules.grpc.server.default.port | LAKTA_MODULES__GRPC__SERVER__DEFAULT__PORT |
| modules.db.pgx.primary.dsn | LAKTA_MODULES__DB__PGX__PRIMARY__DSN |
| modules.db.pgx.default.max_open_conns | LAKTA_MODULES__DB__PGX__DEFAULT__MAX_OPEN_CONNS |
| modules.http.fiber.default.health_path | LAKTA_MODULES__HTTP__FIBER__DEFAULT__HEALTH_PATH |
Environment variables override config file values but are overridden by CLI flags:
config file < environment variable < CLI flag
- name : LAKTA_MODULES__DB__PGX__DEFAULT__DSN
- name : LAKTA_MODULES__OTEL__OTEL__DEFAULT__ENDPOINT
value : " http://otel-collector:4317 "
Generated from the module config structs (showing the default instance). Swap DEFAULT for any instance name.
modules.db.pgx Config key Environment variable modules.db.pgx.default.dsnLAKTA_MODULES__DB__PGX__DEFAULT__DSNmodules.db.pgx.default.max_open_connsLAKTA_MODULES__DB__PGX__DEFAULT__MAX_OPEN_CONNSmodules.db.pgx.default.log_levelLAKTA_MODULES__DB__PGX__DEFAULT__LOG_LEVELmodules.db.pgx.default.health_checkLAKTA_MODULES__DB__PGX__DEFAULT__HEALTH_CHECKmodules.db.pgx.default.min_connsLAKTA_MODULES__DB__PGX__DEFAULT__MIN_CONNSmodules.db.pgx.default.max_conn_lifetimeLAKTA_MODULES__DB__PGX__DEFAULT__MAX_CONN_LIFETIMEmodules.db.pgx.default.max_conn_idle_timeLAKTA_MODULES__DB__PGX__DEFAULT__MAX_CONN_IDLE_TIMEmodules.db.pgx.default.health_check_periodLAKTA_MODULES__DB__PGX__DEFAULT__HEALTH_CHECK_PERIODmodules.db.pgx.default.statement_timeoutLAKTA_MODULES__DB__PGX__DEFAULT__STATEMENT_TIMEOUT
modules.grpc.client Config key Environment variable modules.grpc.client.default.targetLAKTA_MODULES__GRPC__CLIENT__DEFAULT__TARGETmodules.grpc.client.default.insecureLAKTA_MODULES__GRPC__CLIENT__DEFAULT__INSECUREmodules.grpc.client.default.tlsLAKTA_MODULES__GRPC__CLIENT__DEFAULT__TLS
modules.grpc.server Config key Environment variable modules.grpc.server.default.hostLAKTA_MODULES__GRPC__SERVER__DEFAULT__HOSTmodules.grpc.server.default.portLAKTA_MODULES__GRPC__SERVER__DEFAULT__PORTmodules.grpc.server.default.health_checkLAKTA_MODULES__GRPC__SERVER__DEFAULT__HEALTH_CHECKmodules.grpc.server.default.tlsLAKTA_MODULES__GRPC__SERVER__DEFAULT__TLS
modules.health.health Config key Environment variable modules.health.health.default.component_nameLAKTA_MODULES__HEALTH__HEALTH__DEFAULT__COMPONENT_NAMEmodules.health.health.default.component_versionLAKTA_MODULES__HEALTH__HEALTH__DEFAULT__COMPONENT_VERSION
modules.http.fiber Config key Environment variable modules.http.fiber.default.hostLAKTA_MODULES__HTTP__FIBER__DEFAULT__HOSTmodules.http.fiber.default.portLAKTA_MODULES__HTTP__FIBER__DEFAULT__PORTmodules.http.fiber.default.health_pathLAKTA_MODULES__HTTP__FIBER__DEFAULT__HEALTH_PATHmodules.http.fiber.default.tlsLAKTA_MODULES__HTTP__FIBER__DEFAULT__TLS
modules.logging.slog Config key Environment variable modules.logging.slog.default.levelLAKTA_MODULES__LOGGING__SLOG__DEFAULT__LEVELmodules.logging.slog.default.levelsLAKTA_MODULES__LOGGING__SLOG__DEFAULT__LEVELSmodules.logging.slog.default.global_defaultLAKTA_MODULES__LOGGING__SLOG__DEFAULT__GLOBAL_DEFAULT
modules.logging.tint Config key Environment variable modules.logging.tint.default.time_formatLAKTA_MODULES__LOGGING__TINT__DEFAULT__TIME_FORMAT
modules.otel.otel Config key Environment variable modules.otel.otel.default.service_nameLAKTA_MODULES__OTEL__OTEL__DEFAULT__SERVICE_NAMEmodules.otel.otel.default.service_versionLAKTA_MODULES__OTEL__OTEL__DEFAULT__SERVICE_VERSIONmodules.otel.otel.default.service_namespaceLAKTA_MODULES__OTEL__OTEL__DEFAULT__SERVICE_NAMESPACEmodules.otel.otel.default.environmentLAKTA_MODULES__OTEL__OTEL__DEFAULT__ENVIRONMENTmodules.otel.otel.default.endpointLAKTA_MODULES__OTEL__OTEL__DEFAULT__ENDPOINTmodules.otel.otel.default.protocolLAKTA_MODULES__OTEL__OTEL__DEFAULT__PROTOCOLmodules.otel.otel.default.insecureLAKTA_MODULES__OTEL__OTEL__DEFAULT__INSECUREmodules.otel.otel.default.headersLAKTA_MODULES__OTEL__OTEL__DEFAULT__HEADERSmodules.otel.otel.default.sample_rateLAKTA_MODULES__OTEL__OTEL__DEFAULT__SAMPLE_RATEmodules.otel.otel.default.metric_intervalLAKTA_MODULES__OTEL__OTEL__DEFAULT__METRIC_INTERVALmodules.otel.otel.default.runtime_intervalLAKTA_MODULES__OTEL__OTEL__DEFAULT__RUNTIME_INTERVALmodules.otel.otel.default.enabledLAKTA_MODULES__OTEL__OTEL__DEFAULT__ENABLEDmodules.otel.otel.default.requiredLAKTA_MODULES__OTEL__OTEL__DEFAULT__REQUIREDmodules.otel.otel.default.signalsLAKTA_MODULES__OTEL__OTEL__DEFAULT__SIGNALS
modules.workflows.temporal Config key Environment variable modules.workflows.temporal.default.targetLAKTA_MODULES__WORKFLOWS__TEMPORAL__DEFAULT__TARGETmodules.workflows.temporal.default.task_queueLAKTA_MODULES__WORKFLOWS__TEMPORAL__DEFAULT__TASK_QUEUEmodules.workflows.temporal.default.namespaceLAKTA_MODULES__WORKFLOWS__TEMPORAL__DEFAULT__NAMESPACEmodules.workflows.temporal.default.insecureLAKTA_MODULES__WORKFLOWS__TEMPORAL__DEFAULT__INSECURE