Ir al contenido

Referencia de configuración

Esta página documenta la superficie de configuración del motor del control plane — el binario único de Go llamado olivares. Cubre los flags que acepta el subcomando serve, las variables de entorno que el motor lee al arrancar, cómo se seleccionan el almacén y el policy decision point, y los valores por defecto seguros que están en efecto sin configuración alguna.

Todo lo listado aquí está tomado de las propias definiciones de comando del motor y de su raíz de composición. Cuando un ajuste no puede confirmarse en el código fuente, no se lista. Para la postura de seguridad conceptual detrás de estos valores por defecto, consulta el modelo de seguridad; para el camino de extremo a extremo ejecutable, consulta autoalojamiento.

olivares serve ejecuta el servidor HTTP REST/web y el servidor gRPC en un mismo proceso, con la interfaz web servida desde el mismo origen que la API. Los flags de más abajo son las entradas de configuración verificadas de ese comando.

FlagPor defectoPropósito
--listen127.0.0.1:8443Dirección de escucha HTTP (API REST + interfaz web embebida).
--grpc-listen127.0.0.1:8444Dirección de escucha gRPC (API de control-plane / ingesta de colector).
--data-dir$OLIVARES_DATA_DIR, una instalación existente en ./olivares-data, si no $XDG_DATA_HOME/olivares o ~/.local/share/olivaresDirectorio de datos: clave de firma de auditoría, material TLS y (para SQLite) el fichero del almacén.
--enginesqliteMotor de almacén: sqlite o postgres.
--dsnvacío (fichero SQLite en el directorio de datos)Cadena de conexión al almacén.
--checkpoint-interval1hCada cuánto se escribe un checkpoint de auditoría firmado sobre cada cadena de tenant. 0 desactiva.
--insecureoffSirve HTTP/gRPC en texto plano. Peligroso; solo para desarrollo en localhost.
--seed-demooffCarga un estate de ejemplo sintético para demos/E2E. Se niega a arrancar en un enlace no-loopback.

TLS está activado por defecto. Sin un --tls-cert/--tls-key suministrado, el motor garantiza un certificado autofirmado en el directorio de datos una vez, por adelantado, antes de que ningún listener acepte una conexión, de modo que tanto el servidor HTTP como el gRPC usen el mismo certificado y ninguno recaiga en texto plano. Cuando genera un certificado autofirmado registra cert_fingerprint_sha256 (el resumen del certificado, lo que muestra un navegador) y pin_sha256 (el resumen del SPKI de la hoja). --pin-sha256 toma el segundo, en base64 o hex; la huella del certificado es otro resumen — se analiza sin error, 32 bytes en cualquiera de las dos escrituras, y luego falla en el handshake con TLS SPKI pin mismatch, que indica el valor que hay que usar.

Un listado completo de flags — incluidos los flags exclusivos de Postgres y de TLS mutuo usados en despliegues distribuidos — está en la referencia de CLI. Esta página documenta la superficie de configuración común; algunos flags avanzados rigen topologías multi-nodo descritas en la visión general de la arquitectura.

Los tres grupos siguientes son los que un operador encuentra primero, descritos con su comportamiento. Tras ellos aparece el inventario completo, generado a partir de las propias fuentes del motor para que no pueda quedar por detrás del binario.

VariableEfecto
OLIVARES_DATA_DIRDirectorio de datos por defecto cuando no se da --data-dir. Sin él, el motor usa una instalación existente en ./olivares-data; si no, $XDG_DATA_HOME/olivares o ~/.local/share/olivares — nunca el directorio de trabajo actual, que es donde dejaría claves privadas.

El directorio de datos alberga la clave de firma de auditoría, el certificado y la clave TLS, y — para el motor SQLite — el fichero del almacén. Persístelo entre reinicios.

VariableEfecto
OLIVARES_SOURCES_CONFIGRuta a un fichero JSON que cablea las fuentes de observación reales y los proveedores de roster de identidad antes de que arranque el motor.

OLIVARES_SOURCES_CONFIG es la única entrada a través de la cual se resuelven las fuentes de señal no-demo y los proveedores de roster de identidad. Es la configuración portadora de secretos del operador y se mantiene deliberadamente fuera del almacén. El motor la lee durante el arranque y registra cada fuente antes de que arranque el runtime.

El tratamiento es honesto en lugar de fail-fast:

  • Una variable ausente produce una configuración vacía, y el motor avisa de que no hay nada real cableado.
  • Un fichero ilegible o con JSON inválido avisa y produce una configuración vacía — nunca aborta el arranque.
  • Una lista de fuentes configurada pero vacía avisa de que ningún conector ingestará, de modo que el estate corre sin tráfico en vivo, en lugar de aparentar estar sano en silencio.
  • Una lista de identidad vacía avisa de que el roster permanece vacío y la sincronización de roster es un no-op.

Esto es por diseño: una fuente no configurada aflora un aviso en lugar de hacer caer el control plane o fingir que funciona. Para poblar realmente el mapa de acceso, configura al menos una fuente — consulta conectar una fuente y, para el camino cooperativo de Claude Code sobre OpenTelemetry y MCP, conectar Claude Code.

El policy decision point de autorización se selecciona en la raíz de composición por entorno. El motor nativo de control de acceso basado en atributos (ABAC) y el control de acceso basado en roles (RBAC) gobiernan siempre; el PDP externo, cuando se selecciona, es una capa adicional de solo restricción que nunca puede ampliar el acceso.

VariableEfecto
OLIVARES_PDP_ENGINESelecciona el PDP externo: cedar, opa o none (vacío o none significa solo ABAC nativo).
OLIVARES_PDP_CEDAR_FILESolo motor Cedar: ruta al fichero de política Cedar del operador.
OLIVARES_PDP_OPA_URLSolo motor OPA: URL base del endpoint de Open Policy Agent.
OLIVARES_PDP_OPA_PATHSolo motor OPA: ruta de decisión consultada bajo ese endpoint.
OLIVARES_PDP_OPA_TOKENSolo motor OPA: token bearer para el endpoint de OPA.

Dos adaptadores se sientan detrás de una misma costura (seam): un evaluador Cedar embebido (el camino primario, en Go puro) y un adaptador OPA-sobre-HTTP. El operador elige un motor; ambos solo pueden restringir, nunca ampliar, la decisión que el RBAC integrado ya tomó.

Para el modelo deny-by-default, la naturaleza privilegiada de ver el grafo de acceso, y cómo se audita cada lectura de autorización, consulta el modelo de seguridad.

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.

El motor selecciona su motor de almacén desde --engine.

MotorCuándo usarloNotas
sqlite (por defecto)Binario único, nodo único, instalaciones en entorno aislado.Almacén embebido en Go puro; cero dependencias externas. Sin --dsn, el fichero del almacén vive en el directorio de datos.
postgresDespliegues multi-tenant y de escalado horizontal.Añade aislamiento de tenant con seguridad a nivel de fila. Requiere un rol de aplicación de mínimo privilegio.

SQLite es el valor por defecto y no necesita servicio externo. Elegir postgres opta por el respaldo de seguridad a nivel de fila que aísla a los tenants: el motor se niega a arrancar contra un superusuario de Postgres o un rol BYPASSRLS salvo que ese guard se sobrescriba explícitamente, porque tal rol desactivaría el respaldo de aislamiento de tenant. El overlay de Postgres de Compose aprovisiona el rol de aplicación de mínimo privilegio en la primera inicialización para que ese respaldo sea real.

El ledger de auditoría es append-only, hash-chained y anclado por checkpoints firmados con Ed25519. --checkpoint-interval controla cada cuánto se escribe un checkpoint firmado sobre cada cadena de tenant (por defecto 1h; 0 desactiva el checkpointing). Se escribe un checkpoint final de apagado antes de que el almacén se cierre, de modo que la cadena queda anclada también en un apagado limpio además de en el intervalo. El camino de exportación firmada y reenvío se cubre en reenviar la auditoría a Splunk.

Estas son las posturas en efecto sin configuración más allá de serve. Son la postura de seguridad por defecto del producto, no un endurecimiento opcional.

ÁreaPor defectoQué significa
CredencialesNinguna de fábricaNo existe ningún usuario o contraseña por defecto. En el primer arranque sin usuarios, el motor acuña un token de configuración de un solo uso y lo imprime solo por salida estándar — nunca en los logs.
Configuración de primer arranqueToken de un solo usoEl administrador crea el primer usuario con ese token y luego inicia sesión. El token se muestra una vez y es de un solo uso.
TransporteTLS activadoHTTP y gRPC sirven sobre TLS por defecto; se genera un certificado autofirmado en el directorio de datos si no se suministra ninguno, y se registran tanto su huella de certificado como su valor --pin-sha256.
Dirección de enlaceLoopback--listen y --grpc-listen enlazan por defecto a 127.0.0.1. El motor enlaza al host local hasta que lo publiques deliberadamente.
Modo texto planoOff--insecure es la única forma de servir en texto plano, y el camino gRPC falla cerrado en lugar de degradarse. Pensado solo para desarrollo en localhost.
Sembrado de demoOff--seed-demo está desactivado por defecto y rechaza cualquier enlace no-loopback porque acuña un administrador de demo con contraseña pública.
Telemetría a casaOffEl motor no llama a casa: no hay canal de telemetría hacia el proveedor y no se envía nada como efecto de ejecutar. Las conexiones salientes existen hacia las fuentes que configures, más olivares upgrade cuando lo ejecutas — llega al canal de actualizaciones salvo que --endpoint o --bundle lo apunten a otro sitio. Esto es lo que hace posible la instalación en entorno aislado con cero egress.

En una instalación nueva el motor imprime un bloque FIRST-BOOT SETUP por salida estándar que contiene el token de configuración de un solo uso. El administrador lo usa para crear el primer usuario y luego se autentica. Bajo Docker Compose el token se lee de los logs del contenedor:

Ventana de terminal
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)

El endpoint de configuración y el endpoint de login forman parte del contrato OpenAPI del producto; consulta la referencia de la API. El modelo de tokens opacos de sesión y de clave de API que hay detrás de ellos se describe en el modelo de seguridad.

Esta es la superficie de configuración verificada y común. No enumera todos los flags avanzados para topologías multi-nodo y de TLS mutuo — esos pertenecen a los despliegues distribuidos y en entornos aislados descritos en la visión general de la arquitectura y listados en su totalidad en la referencia de CLI. Cuando un ajuste está en fase de diseño o es específico de una topología, se documenta allí en lugar de presentarse aquí como un mando estable.

Para los límites de lo que el producto observa y dónde la cobertura está escalonada por niveles, lee honestidad y límites.