Operion LogoOperion
Operating

Configuration

Every flag and environment variable of operion serve

operion serve takes each setting as a flag or an environment variable. A flag wins over its variable.

FlagEnvironmentDefaultDescription
--database-urlDATABASE_URLRequired. PostgreSQL connection URL
--api-tokenOPERION_API_TOKENRequired. Bearer token every API route requires. Webhooks, callbacks and health checks stay open
--portPORT9091HTTP port
--public-urlOPERION_PUBLIC_URLBase URL remote nodes call back to, such as http://operion:9091. Without it, a remote node that answers 202 fails
--node-typesNODE_TYPES_FILEJSON file of remote node types keyed by id, registered on start
--execution-retentionEXECUTION_RETENTION0How long to keep completed and failed executions, such as 720h. 0 keeps them forever; see execution retention
--log-levelLOG_LEVELinfodebug, info, warn or error
--poll-interval1sHow long the worker and the scheduler wait when nothing is due, and how often the Kafka consumer checks for new topics
--kafka-brokersKAFKA_BROKERSKafka brokers, comma separated. Kafka is off when empty
--kafka-groupKAFKA_GROUPoperionKafka consumer group
--schema-registry-urlSCHEMA_REGISTRY_URLConfluent Schema Registry for avro and protobuf events. They are skipped when empty
--schema-registry-usernameSCHEMA_REGISTRY_USERNAMESchema Registry basic auth username
--schema-registry-passwordSCHEMA_REGISTRY_PASSWORDSchema Registry basic auth password

Traces are exported over OTLP/HTTP when OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_TRACES_ENDPOINT is set.

Workflows cannot read these variables, or any other variable of the server's environment.

For example:

DATABASE_URL="postgres://operion:secret@db:5432/operion?sslmode=require" \
OPERION_API_TOKEN="$(openssl rand -hex 32)" \
OPERION_PUBLIC_URL="http://operion:9091" \
KAFKA_BROKERS="kafka-1:9092,kafka-2:9092" \
operion serve