Skip to content

Configuration reference

This page documents the configuration surface of the control plane engine — the single Go binary named olivares. It covers the flags accepted by the serve subcommand, the environment variables the engine reads at boot, how the store and policy decision point are selected, and the secure defaults that are in effect with no configuration at all.

Everything listed here is taken from the engine’s own command definitions and composition root. Where a setting cannot be confirmed in source it is not listed. For the conceptual security posture behind these defaults, see the security model; for the runnable end-to-end path, see self-hosting.

olivares serve runs the REST/web HTTP server and the gRPC server in one process, with the web UI served from the same origin as the API. The flags below are the verified configuration inputs to that command.

FlagDefaultPurpose
--listen127.0.0.1:8443HTTP listen address (REST API + embedded web UI).
--grpc-listen127.0.0.1:8444gRPC listen address (control-plane / collector ingest API).
--data-dir$OLIVARES_DATA_DIR, an existing ./olivares-data, else $XDG_DATA_HOME/olivares or ~/.local/share/olivaresData directory: audit signing key, TLS material, and (for SQLite) the store file.
--enginesqliteStore engine: sqlite or postgres.
--dsnempty (SQLite file in the data dir)Store connection string.
--checkpoint-interval1hHow often a signed audit checkpoint is written over every tenant chain. 0 disables.
--insecureoffServe plaintext HTTP/gRPC. Dangerous; localhost development only.
--seed-demooffLoad a synthetic sample estate for demos/E2E. Refuses to start on a non-loopback bind.

TLS is on by default. With no --tls-cert/--tls-key supplied, the engine ensures a self-signed certificate in the data directory once, up front, before any listener accepts a connection, so both the HTTP and gRPC servers use the same certificate and neither falls back to plaintext. When it generates a self-signed certificate it logs cert_fingerprint_sha256 (the certificate digest, what a browser shows) and pin_sha256 (the leaf SPKI digest). --pin-sha256 takes the second one, in base64 or hex; the certificate fingerprint is a different digest — it parses, 32 bytes either way, and then fails at the handshake with TLS SPKI pin mismatch, which reports the value to use.

A full flag listing — including the Postgres-only and mutual-TLS flags used in distributed deployments — is in the CLI reference. This page documents the common configuration surface; some advanced flags govern multi-node topologies described in the architecture overview.

The three groups below are the ones an operator meets first, written out with their behaviour. The complete roster follows them, generated from the engine’s own sources so it cannot fall behind the binary.

VariableEffect
OLIVARES_DATA_DIRDefault data directory when --data-dir is not given. Without it the engine uses an existing ./olivares-data installation, else $XDG_DATA_HOME/olivares or ~/.local/share/olivares — never the current working directory, which is where it would leave private keys.

The data directory holds the audit signing key, the TLS certificate and key, and — for the SQLite engine — the store file. Persist it across restarts.

VariableEffect
OLIVARES_SOURCES_CONFIGPath to a JSON file that wires real observation sources and identity roster providers before the engine starts.

OLIVARES_SOURCES_CONFIG is the single input through which non-demo signal sources and identity roster providers are resolved. It is the operator’s secret-bearing configuration and is deliberately kept out of the store. The engine reads it during boot and registers every source before the runtime starts.

The handling is honest rather than fail-fast:

  • A missing variable yields an empty configuration, and the engine warns that nothing real is wired.
  • An unreadable or invalid-JSON file warns and yields an empty configuration — it never aborts the boot.
  • A configured-but-empty source list warns that no connector will ingest, so the estate runs on no live traffic, rather than silently appearing healthy.
  • An empty identity list warns that the roster stays empty and roster sync is a no-op.

This is by design: an unconfigured source surfaces a warning instead of crashing the control plane or pretending to work. To actually populate the access map, configure at least one source — see connect a source and, for the cooperative Claude Code path over OpenTelemetry and MCP, connect Claude Code.

The authorization policy decision point is selected at the composition root by environment. The native attribute-based access control (ABAC) engine and role-based access control (RBAC) always govern; the external PDP, when selected, is an additional restrict-only layer that can never widen access.

VariableEffect
OLIVARES_PDP_ENGINESelects the external PDP: cedar, opa, or none (empty or none means native ABAC only).
OLIVARES_PDP_CEDAR_FILECedar engine only: path to the operator’s Cedar policy file.
OLIVARES_PDP_OPA_URLOPA engine only: base URL of the Open Policy Agent endpoint.
OLIVARES_PDP_OPA_PATHOPA engine only: decision path queried under that endpoint.
OLIVARES_PDP_OPA_TOKENOPA engine only: bearer token for the OPA endpoint.

Two adapters sit behind one seam: an embedded Cedar evaluator (the primary, pure-Go path) and an OPA-over-HTTP adapter. The operator chooses one engine; both can only restrict, never widen, the decision the built-in RBAC already made.

For the deny-by-default model, the privileged nature of viewing the access graph, and how every authorization read is audited, see the security model.

The table below is generated from the product’s own sources: 266 variables and 17 runtime-constructed families, covering the engine, the CLI, the Kubernetes operator, the Terraform provider and the connectors. It is regenerated and checked against those sources on every change, so it does not fall behind the binary.

Required means the feature that reads the variable does not start without it; most variables are optional and the engine runs with none of them set.

VariableRequiredDefaultWhat it configures
OLIVARES_ACTORNoDefault --actor for the decision-bearing eventing verbs, so a scripted change still records who made it.
OLIVARES_ADMIN_DSNNoPrivileged connection string the Kubernetes operator uses for schema migration, separate from the least-privilege runtime role.
OLIVARES_AGENTCORE_EXPORT_CONFIGNoPath to the JSON configuration of the AgentCore usage export.
OLIVARES_AGENT_GATEWAY_CONFIGNoPath to the JSON configuration of the MCP agent gateway.
OLIVARES_ALLOW_CLEARTEXTNoDangerous opt-in: lets a request carrying a credential reach a NON-loopback host over plain HTTP, for surfaces with no —allow-cleartext flag of their own.
OLIVARES_API_TOKENNoAPI token the Terraform provider authenticates with, when the provider block does not set one.
OLIVARES_APPROVAL_BRIDGE_CONFIGNoPath to the JSON configuration of the bridge that routes approvals to an external system.
OLIVARES_AUDIT_ARCHIVE_CONFIGNoPath to the JSON settings for the s3archive sink. Secret-bearing, so it is a file rather than a value.
OLIVARES_AUDIT_ARCHIVE_DIRNoRoot directory for the dir archive sink.
OLIVARES_AUDIT_ARCHIVE_INTERVALNo24hHow often sealed audit segments are archived, as a Go duration.
OLIVARES_AUDIT_ARCHIVE_RETAIN_DAYSNo2555How long archived audit segments are retained, in days.
OLIVARES_AUDIT_ARCHIVE_SEGMENT_EVENTSNoHow many events a sealed archive segment holds before the next one is started.
OLIVARES_AUDIT_ARCHIVE_SINKNoWhere sealed audit segments are archived: unset for off, dir for a local directory, s3archive for object storage.
OLIVARES_AUDIT_LEGALHOLD_INTERVALNoHow often the long-horizon legal-hold sweep runs, as a Go duration.
OLIVARES_AUDIT_META_BLINDINGNoWhether audit metadata commitments are written blinded, and how strictly that is required.
OLIVARES_AUDIT_SIGNING_KEYNoAudit checkpoint signing key, inline. Prefer the file form so the key never sits in a process environment.
OLIVARES_AUDIT_SIGNING_KEY_FILENoPath to the audit checkpoint signing key. This is the operator-held form.
OLIVARES_AUDIT_SIGNING_KEY_WRAPPED_FILENoPath to the audit signing key wrapped by a key management service, unwrapped at boot.
OLIVARES_AUDIT_SPOOL_MAX_BYTESNoUpper bound on the on-disk audit spool before the full-spool rule applies.
OLIVARES_AUDIT_SPOOL_ON_FULLNoWhat happens when the audit spool is full: the deny-closed posture refuses the write rather than dropping the record.
OLIVARES_AUTHZEN_ALLOWED_CIDRSNoComma-separated CIDR ranges allowed to reach the AuthZEN endpoints. Unset leaves the endpoint reachable wherever the listener is.
OLIVARES_AUTHZEN_DISABLEDNoSet to a true value to turn the AuthZEN decision endpoint off.
OLIVARES_AUTHZEN_EXPORT_DISABLEDNoSet to a true value to turn the AuthZEN export endpoint off.
OLIVARES_AUTHZEN_SEARCH_DISABLEDNoSet to a true value to turn the AuthZEN search endpoints off while leaving decisions on.
OLIVARES_BASE_URLNoPublic base URL of this control plane, used where an absolute link back to it has to be produced.
OLIVARES_BUS_CONFIGNoPath to the JSON configuration of the message bus the engine publishes on.
OLIVARES_CAEP_TRANSMITTER_CONFIGNoPath to the JSON configuration of the CAEP transmitter that pushes shared-signal events.
OLIVARES_CATALOG_SIGNING_KEYNoCatalog signing key, inline. Prefer the file form.
OLIVARES_CATALOG_SIGNING_KEY_FILENoPath to the catalog signing key.
OLIVARES_CATALOG_SIGNING_KEY_WRAPPED_FILENoPath to the catalog signing key wrapped by a key management service.
OLIVARES_CLAUDE_ADMIN_ACTUATOR_CONFIGNoPath to the JSON configuration of the administrative actuator that applies changes at the model provider.
OLIVARES_CLAUDE_ADMIN_KEYNoAdministrative API key used to read identity posture from the model provider.
OLIVARES_CLAUDE_ERASER_CONFIGNoPath to the JSON configuration of the erasure actuator that carries out deletion requests.
OLIVARES_CLAUDE_FILES_CONFIGNoPath to the JSON configuration of the provider file inventory scan.
OLIVARES_CLAUDE_INFERENCE_KEYNoAPI key the engine uses for its own inference calls. Unset leaves the inference-backed features off.
OLIVARES_CLAUDE_WORKSPACE_IDNoWorkspace whose identity posture is read, when the administrative key spans several.
OLIVARES_CLI_CONFIGNoPath to the CLI configuration file, replacing the default per-user location. Used by hermetic automation.
OLIVARES_CLI_TRAMPOLINENoSet to 1 inside a re-executed child process so the binary runs the requested subcommand instead of the outer test harness.
OLIVARES_CODEX_HOOK_ACCOUNTNoAccount the Codex hook client reports.
OLIVARES_CODEX_HOOK_AGENTNoAgent identity the Codex hook client reports.
OLIVARES_CODEX_HOOK_ORGNoOrganization the Codex hook client reports.
OLIVARES_CODEX_HOOK_PEP_CONFIGNoPath to the JSON configuration of the Codex hook enforcement point server.
OLIVARES_CODEX_HOOK_TENANTNoTenant the Codex hook client reports.
OLIVARES_CODEX_HOOK_TOKENNoToken the Codex hook client presents to the enforcement point.
OLIVARES_CODEX_HOOK_URLNoBase URL of the enforcement point the Codex hook client calls.
OLIVARES_COMMUNICATION_CONTENT_KEYRING_FILEYesPath to the JSON keyring the communication content sealer loads at boot (cmd/olivares/boot.go). Secret-bearing, so it is a file rather than a value: sealed message bodies are verified against the keys it carries, and an engine started without it cannot open content sealed by a peer that had one.
OLIVARES_COMMUNICATION_TOKENYesNOT an operator setting, and documented here precisely so nobody sets it. The engine MINTS this bearer and injects it into a conducted session’s child process exactly once (modules/sessions/runtime_bridge.go); its tuple travels inside the authenticated principal. It is RESERVED on the launch path: validateLaunchInjectedEnv (modules/sessions/runtime.go) refuses any launch whose injected environment carries it, so a caller-supplied value is rejected rather than honoured. It appears in the roster because that reserved-name check mentions it, not because the engine reads it.
OLIVARES_CONFIG_STRICTNoSet to 1 to make olivares config effective and config validate reject any unrecognized OLIVARES_* key.
OLIVARES_CONTEXT_MAX_TOKENSNoUpper bound on the context a governed session may assemble, in tokens.
OLIVARES_CONTEXT_STRATEGYNoWhich strategy assembles a governed session’s context when the bound is reached.
OLIVARES_DATA_DIRNoData directory used when --data-dir is not given: audit signing key, TLS material and, for SQLite, the store file.
OLIVARES_DB_MAX_CONNSNoUpper bound on pooled database connections. Unset leaves the driver default.
OLIVARES_DEPLOY_EXECUTOR_CONFIGNoPath to the JSON configuration of the executor that applies deployment changes.
OLIVARES_DR_KEK_FILENoPath to a raw 32-byte key-encryption key for backups, for the path where a key management service does the unwrapping.
OLIVARES_DR_OFFSITE_ACCESS_KEY_ID_FILENoPath to the file holding the offsite access key id, so the credential stays out of the environment.
OLIVARES_DR_OFFSITE_BUCKETNoOffsite bucket for disaster-recovery bundles. Setting it turns offsite replication on.
OLIVARES_DR_OFFSITE_ENDPOINTNoS3-compatible endpoint for offsite replication. Unset means AWS S3 in the configured region.
OLIVARES_DR_OFFSITE_PREFIXNoKey prefix for bundles inside the offsite bucket.
OLIVARES_DR_OFFSITE_REGIONNoRegion for offsite replication.
OLIVARES_DR_OFFSITE_SECRET_ACCESS_KEY_FILENoPath to the file holding the offsite secret access key.
OLIVARES_DR_OFFSITE_SESSION_TOKEN_FILENoPath to the file holding an offsite session token, for temporary credentials.
OLIVARES_DR_PASSPHRASE_FILENoPath to the backup passphrase file, from which the backup key-encryption key is derived.
OLIVARES_DR_SCHEDULE_INTERVALNoHow often the scheduled backup runs, as a Go duration.
OLIVARES_DSNNoStore connection string injected by the Kubernetes operator into the engine it manages.
OLIVARES_DURABLE_BUS_CONFIGNoPath to the JSON configuration of the durable bus, for at-least-once delivery across replicas.
OLIVARES_EMBEDDINGS_BASE_URLNoEndpoint the openai-compatible embeddings provider is called at.
OLIVARES_EMBEDDINGS_DIMNoVector dimension the openai-compatible provider returns, which has to match the index.
OLIVARES_EMBEDDINGS_GEONoRegion or data-residency hint sent to the openai-compatible provider.
OLIVARES_EMBEDDINGS_KEYNoApi key for the openai-compatible embeddings provider.
OLIVARES_EMBEDDINGS_MODELNoEmbedding model requested from the openai-compatible provider.
OLIVARES_EMBEDDINGS_OPENAI_BASE_URLNoEndpoint the openai embeddings provider is called at.
OLIVARES_EMBEDDINGS_OPENAI_COMPAT_BASE_URLNoEndpoint the openai-compatible embeddings provider is called at.
OLIVARES_EMBEDDINGS_OPENAI_COMPAT_DIMNoVector dimension the openai-compatible provider returns, which has to match the index.
OLIVARES_EMBEDDINGS_OPENAI_COMPAT_GEONoRegion or data-residency hint sent to the openai-compatible provider.
OLIVARES_EMBEDDINGS_OPENAI_COMPAT_KEYNoApi key for the openai-compatible embeddings provider.
OLIVARES_EMBEDDINGS_OPENAI_COMPAT_MODELNoEmbedding model requested from the openai-compatible provider.
OLIVARES_EMBEDDINGS_OPENAI_DIMNoVector dimension the openai provider returns, which has to match the index.
OLIVARES_EMBEDDINGS_OPENAI_GEONoRegion or data-residency hint sent to the openai provider.
OLIVARES_EMBEDDINGS_OPENAI_KEYNoApi key for the openai embeddings provider.
OLIVARES_EMBEDDINGS_OPENAI_MODELNoEmbedding model requested from the openai provider.
OLIVARES_EMBEDDINGS_PROVIDERNoWhich embeddings provider is used, pinning one instead of taking the first that is configured.
OLIVARES_EMBEDDINGS_REQUIRENoSet to a true value to make a missing or unusable embeddings provider a refusal rather than a degraded index.
OLIVARES_EMBEDDINGS_SELF_HOSTED_BASE_URLNoEndpoint the self-hosted embeddings provider is called at.
OLIVARES_EMBEDDINGS_SELF_HOSTED_DIMNoVector dimension the self-hosted provider returns, which has to match the index.
OLIVARES_EMBEDDINGS_SELF_HOSTED_GEONoRegion or data-residency hint sent to the self-hosted provider.
OLIVARES_EMBEDDINGS_SELF_HOSTED_KEYNoApi key for the self-hosted embeddings provider.
OLIVARES_EMBEDDINGS_SELF_HOSTED_MODELNoEmbedding model requested from the self-hosted provider.
OLIVARES_EMBEDDINGS_VOYAGE_BASE_URLNoEndpoint the voyage embeddings provider is called at.
OLIVARES_EMBEDDINGS_VOYAGE_DIMNoVector dimension the voyage provider returns, which has to match the index.
OLIVARES_EMBEDDINGS_VOYAGE_GEONoRegion or data-residency hint sent to the voyage provider.
OLIVARES_EMBEDDINGS_VOYAGE_KEYNoApi key for the voyage embeddings provider.
OLIVARES_EMBEDDINGS_VOYAGE_MODELNoEmbedding model requested from the voyage provider.
OLIVARES_ENDPOINTNoControl-plane base URL the Terraform provider talks to, when the provider block does not set one.
OLIVARES_ENGINENoStore engine the Kubernetes operator selects for the engine it manages: sqlite or postgres.
OLIVARES_EVALS_MONITOR_WINDOWNoTime window the evaluation monitor scores, as a Go duration.
OLIVARES_EVENTING_ALLOW_LOOPBACKNoSet to a true value to allow loopback destinations. Single-box development only, because the default refusal is what blocks server-side request forgery.
OLIVARES_EVENTING_DISPATCH_INTERVALNo15sHow often queued events are dispatched, as a Go duration. 0 disables the pump.
OLIVARES_EVENTING_EGRESS_POLICYNoPath to the JSON policy that decides which destinations outbound events may reach. A policy that does not parse leaves eventing unwired rather than open.
OLIVARES_EVENTING_RETENTIONNo168hHow long delivered events are kept for replay, as a Go duration.
OLIVARES_EVENTING_SECRET_KEYNoKey that encrypts eventing subscription signing secrets at rest.
OLIVARES_EXTRA_ARGSNoExtra serve arguments appended by the packaged service unit, for operators who configure the daemon through an environment file.
OLIVARES_GROK_HOOK_ACCOUNTNoAccount the Grok Build hook client reports.
OLIVARES_GROK_HOOK_AGENTNoAgent identity the Grok Build hook client reports.
OLIVARES_GROK_HOOK_ORGNoOrganization the Grok Build hook client reports.
OLIVARES_GROK_HOOK_PEP_CONFIGNoPath to the JSON configuration of the Grok Build hook enforcement point server. Absent mounts nothing; a path given must be readable and valid or startup fails closed.
OLIVARES_GROK_HOOK_TENANTNoTenant the Grok Build hook client acts in.
OLIVARES_GROK_HOOK_TOKENNoBearer credential the Grok Build hook client presents to the enforcement point.
OLIVARES_GROK_HOOK_URLNoEndpoint of the enforcement point the Grok Build hook client calls; unset denies, deny-closed.
OLIVARES_GUARDIAN_SWEEP_INTERVALNoHow often the guardian sweep runs, as a Go duration. 0 disables it.
OLIVARES_HA_LEADER_GATENoSet to 1 to make background loops run only on the elected leader, so a multi-replica deployment does not run them twice.
OLIVARES_HA_LEADER_LABELNoLabel this replica publishes when it holds leadership, so an operator can route to the leader.
OLIVARES_HITL_CONFIGNoPath to the JSON configuration of the human-in-the-loop review path.
OLIVARES_HOOK_FIREWALL_CONFIGNoPath to the JSON configuration of the data-loss firewall that runs inside the hook. Unset leaves that half off.
OLIVARES_HOOK_PEP_ACCOUNTNoAccount the Claude Code hook client reports.
OLIVARES_HOOK_PEP_AGENTNoAgent identity the Claude Code hook client reports.
OLIVARES_HOOK_PEP_CONFIGNoPath to the JSON configuration of the hook enforcement point server.
OLIVARES_HOOK_PEP_ORGNoOrganization the Claude Code hook client reports.
OLIVARES_HOOK_PEP_TENANTNoTenant the Claude Code hook client reports.
OLIVARES_HOOK_PEP_TOKENNoToken the Claude Code hook client presents to the enforcement point.
OLIVARES_HOOK_PEP_URLNoBase URL of the enforcement point the Claude Code hook client calls.
OLIVARES_INCIDENTLOOP_CONFIGNoPath to the JSON configuration of the incident close-the-loop subscriber. Read by builds compiled with the enterprise tag.
OLIVARES_INFERENCE_PROXY_CONFIGNoPath to the JSON configuration of the governed inference proxy.
OLIVARES_INGEST_TOKENNoBearer token the collector ingest endpoint requires from telemetry senders.
OLIVARES_INSECURENoSet to 1 to let the CLI talk to a plaintext or untrusted-TLS endpoint. Local development only.
OLIVARES_KEY_CUSTODYNoCustody posture required of the audit signing key: whether a raw on-disk key is accepted or a wrapped one is demanded.
OLIVARES_KEY_WRAP_AWS_KEY_IDNoKey identifier in AWS KMS. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_AWS_REGIONNoRegion of the AWS KMS key. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_AZURE_KEY_NAMENoKey name in Azure Key Vault. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_AZURE_KEY_VERSIONNoKey version in Azure Key Vault. Unset uses the current version. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_AZURE_TOKENNoToken used against Azure Key Vault. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_AZURE_VAULT_URLNoAzure Key Vault URL. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_GCP_KEYNoFully qualified key version name in Google Cloud KMS. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_GCP_TOKENNoToken used against Google Cloud KMS. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_GCP_TOKEN_FILENoPath to the file holding the token used against Google Cloud KMS. Used by the backend that wraps the signing keys.
OLIVARES_KEY_WRAP_OLDNoPrevious key management backend during a rewrap migration, so keys wrapped by it can still be unwrapped.
OLIVARES_LEDGER_CUSTODYNoCustody posture required of the ledger checkpoint signer, the ledger counterpart of the audit key posture.
OLIVARES_LEDGER_KMS_AWS_KEY_IDNoKey identifier in AWS KMS. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AWS_REGIONNoRegion of the AWS KMS key. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AWS_SIGNING_ALGNoSigning algorithm requested from AWS KMS. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AZURE_KEY_NAMENoKey name in Azure Key Vault. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AZURE_KEY_VERSIONNoKey version in Azure Key Vault. Unset uses the current version. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AZURE_TOKENNoToken used against Azure Key Vault. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_AZURE_VAULT_URLNoAzure Key Vault URL. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_GCP_KEYNoFully qualified key version name in Google Cloud KMS. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_GCP_TOKENNoToken used against Google Cloud KMS. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_KMS_GCP_TOKEN_FILENoPath to the file holding the token used against Google Cloud KMS. Used by the backend that signs audit checkpoints.
OLIVARES_LEDGER_SIGNERNoOff-box checkpoint signer to use: which key management backend signs audit checkpoints instead of a local key.
OLIVARES_LICENSENoLicense document itself, inline, for deployments that cannot mount a file.
OLIVARES_LICENSE_PATHNoPath to the license document on disk. Takes effect before the inline form.
OLIVARES_LICENSE_PUBKEYNoPublic key the engine verifies the license signature against.
OLIVARES_LIVEINGEST_INSPECT_OBSERVED_REFSNoSet to 1 to make live ingest inspect observed references, which costs more per event.
OLIVARES_LOG_LEVELNoMinimum log level the engine emits: debug, info, warn or error.
OLIVARES_MCP_TASK_KILLSWITCH_SWEEPNoHow often a running MCP task is re-checked against the kill switch, as a Go duration.
OLIVARES_METRICS_ALLOWED_CIDRSNoComma-separated CIDR ranges allowed to scrape the metrics endpoint.
OLIVARES_METRICS_TOKENNoBearer token the metrics endpoint requires. Unset leaves the endpoint unauthenticated behind whatever the listener exposes.
OLIVARES_NHI_ACTUATORS_CONFIGNoPath to the JSON configuration of the actuators that act on non-human identities.
OLIVARES_NIS2INCIDENT_CONFIGNoPath to the JSON configuration of NIS2 incident reporting. Read by builds compiled with the enterprise tag.
OLIVARES_NOTIFY_CONFIGNoPath to the JSON list of notification destinations. Secret-bearing, so it stays out of the store.
OLIVARES_NOTIFY_DISPATCH_INTERVALNoHow often queued notifications are dispatched, as a Go duration. 0 disables the pump.
OLIVARES_OIDC_CLIENT_IDYesOIDC client id for this control plane. Required when the protocol is oidc.
OLIVARES_OIDC_CLIENT_SECRETYesOIDC client secret for this control plane. Required when the protocol is oidc.
OLIVARES_OIDC_GROUPS_CLAIMNoID-token or UserInfo claim carrying group membership. Unset leaves group mapping off.
OLIVARES_OIDC_ISSUERYesOIDC issuer URL. Required when the protocol is oidc.
OLIVARES_ORCH_CADENCE_INTERVALNoHow often the orchestration cadence loop runs, as a Go duration. 0 disables it.
OLIVARES_ORCH_DISPATCH_CONFIGNoPath to the JSON configuration for orchestration dispatch targets.
OLIVARES_ORCH_WORKFLOW_INTERVALNo15sHow often the orchestration workflow loop advances waiting runs, as a Go duration.
OLIVARES_ORCH_WORKFLOW_MAXNoUpper bound on concurrently advancing workflow runs.
OLIVARES_ORCH_WORKFLOW_STEPS_MAXNoUpper bound on the steps one workflow run may take, which stops a loop from running forever.
OLIVARES_OTA_PUBKEYNoPublic key the engine verifies a downloaded update bundle against.
OLIVARES_OTEL_ENABLEDNoSet to a true value to export traces. Setting an endpoint turns export on as well.
OLIVARES_OTEL_ENDPOINTNoOTLP endpoint traces are exported to. Falls back to the standard OTEL_EXPORTER_OTLP_ENDPOINT.
OLIVARES_OTEL_GENAI_COMPATNoSet to a true value to also emit the generative-AI semantic-convention attributes on spans.
OLIVARES_OTEL_INSECURENoSet to a true value to export traces over plaintext. Local development only.
OLIVARES_OTEL_PROTOCOLNoOTLP protocol used for export. Falls back to the standard OTEL_EXPORTER_OTLP_PROTOCOL.
OLIVARES_OTEL_SAMPLE_RATIONoFraction of traces sampled, between 0 and 1.
OLIVARES_OTEL_SERVICE_NAMENoService name reported on exported traces.
OLIVARES_PDP_CEDAR_FILENoPath to the Cedar policy file, for the cedar decision point.
OLIVARES_PDP_ENGINENoExternal policy decision point to add on top of the native engine: cedar, opa or none.
OLIVARES_PDP_OPA_PATHNoDecision path queried under the Open Policy Agent endpoint.
OLIVARES_PDP_OPA_TOKENNoBearer token for the Open Policy Agent endpoint.
OLIVARES_PDP_OPA_URLNoBase URL of the Open Policy Agent endpoint, for the opa decision point.
OLIVARES_PIV_CONFIGNoPath to the JSON configuration for smart-card privileged login.
OLIVARES_PLUGINNoHandshake cookie an out-of-process connector plugin must present. Set by the engine when it launches the plugin, not by the operator.
OLIVARES_POLICY_MAX_STALENESSNoHow stale a cached policy decision may be before it is refused, as a Go duration.
OLIVARES_POLICY_SIGNING_KEYNoPolicy bundle signing key, inline. Prefer the file form.
OLIVARES_POLICY_SIGNING_KEY_FILENoPath to the policy bundle signing key.
OLIVARES_POLICY_SIGNING_KEY_WRAPPED_FILENoPath to the policy signing key wrapped by a key management service.
OLIVARES_RATELIMIT_CONFIGNoPath to the JSON rate-limit policy the engine applies to its own endpoints.
OLIVARES_RATELIMIT_STORENoWhere rate-limit counters live, which decides whether limits are per replica or shared.
OLIVARES_REPORTING_CONFIGNoPath to the JSON configuration of the reporting add-on. Read by builds compiled with the enterprise tag.
OLIVARES_REPORTING_SCHEDULE_INTERVALNoHow often scheduled reports are generated, as a Go duration.
OLIVARES_REPORT_CACHE_DIRNoDirectory where generated report artifacts are cached.
OLIVARES_RETENTION_SWEEP_INTERVALNoHow often the retention sweep deletes data past its retention window, as a Go duration.
OLIVARES_SAML_ACS_URLYesAssertion consumer service URL of this service provider, where the identity provider posts the assertion.
OLIVARES_SAML_EMAIL_ATTRIBUTENoAssertion attribute carrying the user’s email. Unset tries the common attribute names.
OLIVARES_SAML_GROUPS_ATTRIBUTENoMulti-valued assertion attribute carrying group membership. Unset leaves group mapping off.
OLIVARES_SAML_IDP_METADATA_URLNoIdentity-provider metadata URL, from which the SAML endpoints and certificate are read.
OLIVARES_SAML_IDP_SSO_URLNoIdentity-provider single sign-on URL, for the path where metadata is not fetched.
OLIVARES_SAML_SP_CERT_PEMNoService-provider encryption certificate in PEM, published as the encryption key descriptor.
OLIVARES_SAML_SP_ENTITY_IDYesEntity id this control plane presents as the SAML service provider. Required when the protocol is saml.
OLIVARES_SAML_SP_KEY_PEMNoService-provider encryption private key in PEM, which decrypts encrypted assertions.
OLIVARES_SAML_SP_SIGN_CERT_PEMNoService-provider signing certificate in PEM, published as the signing key descriptor.
OLIVARES_SAML_SP_SIGN_KEY_PEMNoService-provider signing private key in PEM, which signs authentication requests.
OLIVARES_SANDBOX_RUNTIME_CONFIGNoPath to the JSON configuration of the sandbox runtime that isolates agent execution.
OLIVARES_SECRETREF_AWS_REGIONNoRegion used for AWS Secrets Manager references. Falls back to AWS_REGION and AWS_DEFAULT_REGION.
OLIVARES_SECRETREF_AZURE_API_VERSIONNoAzure Key Vault API version requested.
OLIVARES_SECRETREF_AZURE_TOKENNoToken used against Azure Key Vault.
OLIVARES_SECRETREF_AZURE_VAULT_URLNoDefault Azure Key Vault URL for references that do not name one.
OLIVARES_SECRETREF_GCP_ENDPOINTNoEndpoint override for Google Secret Manager.
OLIVARES_SECRETREF_GCP_PROJECTNoDefault Google Cloud project for Secret Manager references that do not name one.
OLIVARES_SECRETREF_GCP_TOKENNoToken used against Google Secret Manager.
OLIVARES_SECRETREF_INFISICAL_ENVNoDefault Infisical environment for references that do not name one.
OLIVARES_SECRETREF_INFISICAL_TOKENNoToken used against Infisical.
OLIVARES_SECRETREF_INFISICAL_URLNoBase URL of the Infisical server secret references resolve against.
OLIVARES_SECRETREF_INFISICAL_WORKSPACE_IDNoDefault Infisical workspace for references that do not name one.
OLIVARES_SECRETREF_K8S_APISERVERNoKubernetes API server secret references resolve against.
OLIVARES_SECRETREF_K8S_CA_FILENoPath to the certificate authority bundle used to verify the Kubernetes API.
OLIVARES_SECRETREF_K8S_TOKEN_FILENoPath to the service-account token file used against the Kubernetes API.
OLIVARES_SECRETREF_VAULT_ADDRNoAddress of the HashiCorp Vault server secret references resolve against. Falls back to VAULT_ADDR.
OLIVARES_SECRETREF_VAULT_NAMESPACENoVault namespace secret references resolve in. Falls back to VAULT_NAMESPACE.
OLIVARES_SECRETREF_VAULT_TOKENNoToken used against HashiCorp Vault.
OLIVARES_SECRET_STORE_KEYNoKey that encrypts operator secrets held in the store.
OLIVARES_SERVER_URLNoBase URL of the control plane the CLI talks to, when --server is not given.
OLIVARES_SESSION_BUDGET_AVAILABILITYNoWhether session budget enforcement is required, and what happens when the budget service cannot answer.
OLIVARES_SESSION_CONTEXT_AVAILABILITYNoWhether session context governance is required, and what happens when the context service cannot answer.
OLIVARES_SESSION_KILLSWITCH_SWEEPNo15sHow often an active session is re-checked against the kill switch, as a Go duration. 0 leaves only the check at launch.
OLIVARES_SESSION_PEP_TOKEN_FILENoPath to the file holding the token the session enforcement point requires.
OLIVARES_SESSION_PEP_URLNoBase URL of the policy enforcement point a governed agent session calls before acting.
OLIVARES_SESSION_RUNTIME_BASE_URLNoBase URL the launched session runtime calls back to.
OLIVARES_SESSION_RUNTIME_CLAUDE_BINNoclaudeExecutable the session runtime launches.
OLIVARES_SESSION_RUNTIME_TOKEN_FILENoPath to the file holding the session runtime’s credential, refreshed by rotation.
OLIVARES_SESSION_RUNTIME_TOKEN_TTLNo15mLifetime of a minted session runtime credential, as a Go duration.
OLIVARES_SESSION_RUNTIME_WIFNoWhether the session runtime takes its credential from workload identity federation instead of a token file.
OLIVARES_SESSION_RUNTIME_WIF_RULENoWhich federation rule the session runtime exchanges its workload identity under.
OLIVARES_SIEM_FORWARD_INTERVALNoHow often signed ledger records are forwarded to the configured SIEM, as a Go duration.
OLIVARES_SOURCES_CONFIGNoPath to the JSON file that wires real observation sources and identity roster providers before the engine starts.
OLIVARES_SSO_PROTOCOLNoSingle sign-on protocol to wire: oidc or saml. Unset means no federation, and the endpoints report it rather than half-wiring one.
OLIVARES_SSO_SECRET_KEYNoKey that encrypts the federation client secret and service-provider private keys at rest.
OLIVARES_TARGET_BINDING_KEYNoKey that binds an orchestration target to this deployment, inline. Prefer the file form.
OLIVARES_TARGET_BINDING_KEY_FILENoPath to the orchestration target binding key.
OLIVARES_TENANTNoDefault tenant for CLI commands, when --tenant is not given.
OLIVARES_THREATINTEL_CONFIGNoPath to the JSON configuration of threat-intelligence ingest. Read by builds compiled with the enterprise tag.
OLIVARES_THREATINTEL_SIGNING_KEYNoSigning key for threat-intelligence bundles the engine publishes.
OLIVARES_TOKENNoAPI token the CLI authenticates with, when --token is not given.
OLIVARES_UPDATE_CHANNELNoRelease channel the update check asks for, such as stable.
OLIVARES_UPDATE_ENDPOINTNoBase URL the update check queries. Unset leaves the update check off.
OLIVARES_UPGRADE_TOKENNoDownload token olivares upgrade presents when fetching a build from a credentialed repository.
OLIVARES_VECTOR_API_KEYNoAPI key for the external vector index.
OLIVARES_VECTOR_BACKENDNoWhich vector index backs knowledge search. Unset keeps the in-process index, which is the air-gapped default.
OLIVARES_VECTOR_DIMNoVector dimension of the index, which has to match the embeddings model.
OLIVARES_VECTOR_DSNNoConnection string for the external vector index.
OLIVARES_VECTOR_NAMESPACENoknowledge_annTable or collection the vector index writes to.
OLIVARES_VECTOR_TIMEOUTNoPer-request timeout for the vector index, as a Go duration.
OLIVARES_VOICE_CALL_CONFIGNoPath to the JSON configuration of the inbound voice webhook.
OLIVARES_VOICE_DISPATCH_CONFIGNoPath to the JSON configuration of outbound voice dispatch.
OLIVARES_WEBAUTHN_ORIGINSNoComma-separated origins accepted for WebAuthn ceremonies.
OLIVARES_WEBAUTHN_RPIDNoWebAuthn relying-party id for the privileged-login flow. It has to match the site’s registrable domain.
OLIVARES_WEBAUTHN_RP_NAMENoDisplay name of the WebAuthn relying party, as shown by the authenticator.
OLIVARES_WIF_BASE_URLNoEndpoint the workload identity exchange is performed against.
OLIVARES_WIF_REFRESH_SLACKNo60sHow long before expiry a federated credential is refreshed, as a Go duration.
OLIVARES_WIF_SPIFFE_SOCKETNoPath to the SPIFFE workload API socket the engine fetches its identity from.
OLIVARES_WIF_TRUST_DOMAINNoSPIFFE trust domain accepted for workload identity.
OLIVARES_WORK_OUTBOX_INTERVALNoHow often the work-kernel outbox is drained, as a Go duration. 0 disables the pump.
OLIVARES_WORK_RUN_REFNoRun reference the engine passes to a launched work session. Set by the engine per run, not by the operator.
OLIVARES_WORK_SESSION_IDNoSession reference the engine passes to a launched work session. Set by the engine per run, not by the operator.
OLIVARES_WORK_TOKENNoScoped token the engine passes to a launched work session. Set by the engine per run, not by the operator.

These prefixes name families whose member variables are built at runtime — the per-provider and per-backend keys the engine composes from a provider name. The concrete members it composes are in the table above.

PrefixRequiredDefaultWhat it configures
OLIVARES_AUDIT_ARCHIVE_NoFamily prefix for the audit archive settings listed above.
OLIVARES_CODEX_HOOK_NoFamily prefix for the Codex hook client and server settings listed above.
OLIVARES_DR_OFFSITE_NoFamily prefix for the offsite replication settings listed above.
OLIVARES_EMBEDDINGSNoFamily stem for the unprefixed embeddings settings, which configure the OpenAI-compatible provider.
OLIVARES_EMBEDDINGS_NoFamily prefix from which the per-provider embeddings keys are built, by appending the provider name and then the setting.
OLIVARES_GROK_HOOK_NoFamily prefix for the Grok Build hook client and server settings listed above.
OLIVARES_HOOK_PEP_NoFamily prefix for the Claude Code hook client and server settings listed above.
OLIVARES_KEY_WRAPNoFamily stem naming the key management backend that wraps signing keys.
OLIVARES_KEY_WRAP_NoFamily prefix from which the per-backend key-wrapping keys are built.
OLIVARES_LEDGER_KMS_NoFamily prefix from which the per-backend ledger signer keys are built.
OLIVARES_OIDC_NoFamily prefix for the OIDC federation settings listed above.
OLIVARES_OTEL_NoFamily prefix for the trace export settings listed above.
OLIVARES_SAML_NoFamily prefix for the SAML federation settings listed above.
OLIVARES_SESSION_RUNTIME_NoFamily prefix for the session runtime settings listed above.
OLIVARES_VECTOR_NoFamily prefix for the vector index settings listed above.
OLIVARES_WIF_NoFamily prefix for the workload identity federation settings listed above.
OLIVARES_WORK_NoFamily prefix for the per-run values the engine passes into a launched work session.

The engine selects its store engine from --engine.

EngineWhen to useNotes
sqlite (default)Single binary, single node, air-gapped installs.Pure-Go embedded store; zero external dependencies. With no --dsn, the store file lives in the data directory.
postgresMulti-tenant and scale-out deployments.Adds row-level-security tenant isolation. Requires a least-privilege application role.

SQLite is the default and needs no external service. Choosing postgres opts into the row-level-security backstop that isolates tenants: the engine refuses to start against a Postgres superuser or BYPASSRLS role unless that guard is explicitly overridden, because such a role would disable the tenant isolation backstop. The Compose Postgres overlay provisions the least-privilege application role on first init so this backstop is real.

The audit ledger is append-only, hash-chained, and anchored by Ed25519-signed checkpoints. --checkpoint-interval controls how often a signed checkpoint is written over every tenant chain (default 1h; 0 disables checkpointing). A final shutdown checkpoint is written before the store closes, so the chain is anchored at clean shutdown as well as on the interval. The signed export and forwarding path is covered in forward audit to Splunk.

These are the postures in effect with no configuration beyond serve. They are the product’s default security stance, not optional hardening.

AreaDefaultWhat it means
CredentialsNone shippedNo default username or password exists. On first boot with no users, the engine mints a single-use setup token and prints it to standard output only — never to the logs.
First-boot setupOne-time tokenThe administrator creates the first user with that token, then logs in. The token is shown once and is single-use.
TransportTLS onHTTP and gRPC serve over TLS by default; a self-signed certificate is generated in the data directory if none is supplied, and both its certificate fingerprint and its --pin-sha256 value are logged.
Bind addressLoopback--listen and --grpc-listen default to 127.0.0.1. The engine binds the local host until you deliberately publish it.
Plaintext modeOff--insecure is the only way to serve plaintext, and the gRPC path fails closed rather than degrade. Intended for localhost development only.
Demo seedingOff--seed-demo is off by default and refuses any non-loopback bind because it mints a public-password demo administrator.
Telemetry homeOffThe engine does not phone home: there is no telemetry-to-vendor channel, and nothing is sent as a side effect of running. Outbound connections exist to the sources you configure, plus olivares upgrade when you run it — it reaches the update channel unless --endpoint or --bundle points it elsewhere. That is what makes the air-gapped install possible with zero egress.

On a fresh install the engine prints a FIRST-BOOT SETUP block to standard output containing the one-time setup token. The administrator uses it to create the first user, then authenticates. Under Docker Compose the token is read from the container logs:

Terminal window
docker compose -f deploy/compose/docker-compose.yml up -d
docker compose -f deploy/compose/docker-compose.yml logs olivares | sed -n '/FIRST-BOOT SETUP/,/========================/p'
# then open https://localhost:8443 (self-signed TLS by default)

The setup endpoint and the login endpoint are part of the product’s OpenAPI contract; see the API reference. The opaque session and API-key token model behind them is described in the security model.

This is the verified, common configuration surface. It does not enumerate every advanced flag for multi-node and mutual-TLS topologies — those belong to the distributed and air-gapped deployments described in the architecture overview and listed in full in the CLI reference. Where a setting is design-stage or topology-specific, it is documented there rather than presented here as a stable knob.

For the boundaries of what the product observes and where coverage is tiered, read honesty and limits.