Skip to main content

types.StoreConfig

backendstring

Backend selects the persistence engine.

  • "boltdb" - the default. Single-file embedded KV store, mature path with the most production miles.
  • "sqlite" - WAL-mode SQLite backend. Single-file under DataDir, embedded, no external service needed.
  • "postgres" - external PostgreSQL backend. POC: validates the managed-DB / multi-writer model against SQLite/Bolt on the orchestrator side. Requires store.postgres.connection_string (or PG* env vars; see StorePostgresConfig).

Empty defaults to "boltdb" so existing config files keep working untouched. Validate() rejects any other value with a precise error.

gc object
deleted_jobs_retentioninteger<int64>

DeletedJobsRetention is how long to keep soft-deleted jobs before permanent deletion. Default: 7 days. Increase for longer audit history.

Possible values: [-9223372036854776000, 9223372036854776000, 1, 1000, 1000000, 1000000000, 60000000000, 3600000000000]

lost_nodes_retentioninteger<int64>

LostNodesRetention is how long to keep lost node records after they're marked as lost. Default: 7 days. Measured from when the node transitions to Lost state. Independent of node_manager.lost_timeout.

Possible values: [-9223372036854776000, 9223372036854776000, 1, 1000, 1000000, 1000000000, 60000000000, 3600000000000]

terminal_executions_retentioninteger<int64>

TerminalExecutionsRetention is how long to keep terminal execution records (complete/failed/stopped). Default: 7 days. Increase for longer execution history.

Possible values: [-9223372036854776000, 9223372036854776000, 1, 1000, 1000000, 1000000000, 60000000000, 3600000000000]

postgres object

Postgres carries the connection settings used when Backend == "postgres". Ignored for other backends.

connection_stringstring

ConnectionString is the libpq DSN (URI or keyword form). When set, takes precedence over the structured fields below.

databasestring
hoststring

Structured connection fields. Used when ConnectionString is empty. Any blank field falls back to the matching PG* env var.

max_open_connsinteger

MaxOpenConns caps the size of the connection pool. Tune to your database's connection budget — small managed instances often cap at 30-100 total connections, so scaling to multiple orchestrator replicas requires sizing this down accordingly.

passwordstring

Password is the postgres credential; prefer the PGPASSWORD env var (or any libpq pgpass file) over committing this to YAML.

portinteger
schemastring

Schema selects the Postgres schema. Honoured regardless of whether ConnectionString or structured fields are used.

sslmodestring
userstring
types.StoreConfig
{
"backend": "string",
"gc": {
"deleted_jobs_retention": -9223372036854776000,
"lost_nodes_retention": -9223372036854776000,
"terminal_executions_retention": -9223372036854776000
},
"postgres": {
"connection_string": "string",
"database": "string",
"host": "string",
"max_open_conns": 0,
"password": "string",
"port": 0,
"schema": "string",
"sslmode": "string",
"user": "string"
}
}