Aller au contenu

Référence de configuration

Cette page documente la surface de configuration du moteur du control plane — le binaire Go unique nommé olivares. Elle couvre les drapeaux acceptés par la sous-commande serve, les variables d’environnement que le moteur lit au démarrage, la façon dont le stockage et le point de décision de politique (policy decision point) sont sélectionnés, et les valeurs par défaut sécurisées qui sont en vigueur sans aucune configuration.

Tout ce qui est listé ici est tiré des définitions de commandes propres au moteur et de sa racine de composition. Là où un paramètre ne peut pas être confirmé dans le source, il n’est pas listé. Pour la posture de sécurité conceptuelle derrière ces valeurs par défaut, voir le modèle de sécurité ; pour le chemin exécutable de bout en bout, voir l’auto-hébergement.

olivares serve exécute le serveur HTTP REST/web et le serveur gRPC dans un seul processus, avec l’interface web servie depuis la même origine que l’API. Les drapeaux ci-dessous sont les entrées de configuration vérifiées de cette commande.

DrapeauDéfautObjet
--listen127.0.0.1:8443Adresse d’écoute HTTP (API REST + interface web embarquée).
--grpc-listen127.0.0.1:8444Adresse d’écoute gRPC (API du control plane / d’ingestion du collecteur).
--data-dir$OLIVARES_DATA_DIR, une installation existante dans ./olivares-data, sinon $XDG_DATA_HOME/olivares ou ~/.local/share/olivaresRépertoire de données : clé de signature d’audit, matériel TLS, et (pour SQLite) le fichier de stockage.
--enginesqliteMoteur de stockage : sqlite ou postgres.
--dsnvide (fichier SQLite dans le répertoire de données)Chaîne de connexion au stockage.
--checkpoint-interval1hFréquence d’écriture d’un point de contrôle d’audit signé sur la chaîne de chaque tenant. 0 désactive.
--insecureoffServir HTTP/gRPC en texte clair. Dangereux ; développement localhost uniquement.
--seed-demooffCharger un parc d’exemple synthétique pour les démos/E2E. Refuse de démarrer sur une liaison non-boucle-locale.

TLS est activé par défaut. Sans --tls-cert/--tls-key fourni, le moteur s’assure une fois pour toutes, en amont, d’un certificat auto-signé dans le répertoire de données avant que tout écouteur n’accepte une connexion, de sorte que les serveurs HTTP et gRPC utilisent le même certificat et qu’aucun ne se rabat sur le texte clair. Lorsqu’il génère un certificat auto-signé, il journalise cert_fingerprint_sha256 (le condensat du certificat, celui qu’affiche un navigateur) et pin_sha256 (le condensat du SPKI du certificat feuille). --pin-sha256 prend le second, en base64 ou en hexadécimal ; l’empreinte du certificat est un autre condensat — elle est analysée sans erreur, 32 octets dans les deux écritures, puis échoue au handshake avec TLS SPKI pin mismatch, qui indique la valeur à utiliser.

Une liste complète des drapeaux — y compris les drapeaux réservés à Postgres et au TLS mutuel utilisés dans les déploiements distribués — est dans la référence CLI. Cette page documente la surface de configuration commune ; certains drapeaux avancés régissent les topologies multi-nœuds décrites dans l’aperçu de l’architecture.

Les trois groupes suivants sont ceux qu’un opérateur rencontre d’abord, décrits avec leur comportement. L’inventaire complet leur fait suite, généré à partir des sources propres au moteur afin qu’il ne puisse pas prendre de retard sur le binaire.

VariableEffet
OLIVARES_DATA_DIRRépertoire de données par défaut lorsque --data-dir n’est pas fourni. À défaut, le moteur utilise une installation existante dans ./olivares-data, sinon $XDG_DATA_HOME/olivares ou ~/.local/share/olivares — jamais le répertoire de travail courant, où il laisserait des clés privées.

Le répertoire de données contient la clé de signature d’audit, le certificat et la clé TLS, et — pour le moteur SQLite — le fichier de stockage. Conservez-le entre les redémarrages.

VariableEffet
OLIVARES_SOURCES_CONFIGChemin vers un fichier JSON qui câble les sources d’observation réelles et les fournisseurs de roster d’identités avant le démarrage du moteur.

OLIVARES_SOURCES_CONFIG est l’unique entrée par laquelle les sources de signaux non-démo et les fournisseurs de roster d’identités sont résolus. C’est la configuration porteuse de secrets de l’opérateur et elle est délibérément tenue hors du stockage. Le moteur la lit pendant le démarrage et enregistre chaque source avant le démarrage du runtime.

La gestion est honnête plutôt que de type fail-fast :

  • Une variable manquante produit une configuration vide, et le moteur avertit que rien de réel n’est câblé.
  • Un fichier illisible ou au JSON invalide avertit et produit une configuration vide — il n’interrompt jamais le démarrage.
  • Une liste de sources configurée-mais-vide avertit qu’aucun connecteur n’ingérera, de sorte que le parc fonctionne sans trafic en direct, plutôt que de paraître silencieusement en bonne santé.
  • Une liste d’identités vide avertit que le roster reste vide et que la synchronisation du roster est sans effet (no-op).

C’est voulu : une source non configurée fait remonter un avertissement au lieu de faire planter le control plane ou de feindre de fonctionner. Pour réellement peupler la carte d’accès (access map), configurez au moins une source — voir connecter une source et, pour le chemin coopératif de Claude Code via OpenTelemetry et MCP, connecter Claude Code.

Le point de décision de politique d’autorisation est sélectionné à la racine de composition par l’environnement. Le moteur natif de contrôle d’accès basé sur les attributs (ABAC) et le contrôle d’accès basé sur les rôles (RBAC) gouvernent toujours ; le PDP externe, lorsqu’il est sélectionné, est une couche supplémentaire restreignant uniquement (restrict-only) qui ne peut jamais élargir l’accès.

VariableEffet
OLIVARES_PDP_ENGINESélectionne le PDP externe : cedar, opa ou none (vide ou none signifie ABAC natif uniquement).
OLIVARES_PDP_CEDAR_FILEMoteur Cedar uniquement : chemin vers le fichier de politique Cedar de l’opérateur.
OLIVARES_PDP_OPA_URLMoteur OPA uniquement : URL de base de l’endpoint Open Policy Agent.
OLIVARES_PDP_OPA_PATHMoteur OPA uniquement : chemin de décision interrogé sous cet endpoint.
OLIVARES_PDP_OPA_TOKENMoteur OPA uniquement : jeton bearer pour l’endpoint OPA.

Deux adaptateurs se trouvent derrière une même couture (seam) : un évaluateur Cedar embarqué (le chemin primaire, pur-Go) et un adaptateur OPA-sur-HTTP. L’opérateur choisit un moteur ; tous deux ne peuvent que restreindre, jamais élargir, la décision que le RBAC intégré a déjà prise.

Pour le modèle deny-by-default (refus par défaut), la nature privilégiée de la consultation du graphe d’accès, et la façon dont chaque lecture d’autorisation est auditée, voir le modèle de sécurité.

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.

Le moteur sélectionne son moteur de stockage à partir de --engine.

MoteurQuand l’utiliserNotes
sqlite (défaut)Binaire unique, nœud unique, installations en environnement isolé.Stockage embarqué pur-Go ; zéro dépendance externe. Sans --dsn, le fichier de stockage vit dans le répertoire de données.
postgresDéploiements multi-tenant et à montée en charge.Ajoute l’isolation de tenant par sécurité au niveau des lignes (row-level security). Requiert un rôle applicatif à moindre privilège.

SQLite est le défaut et ne nécessite aucun service externe. Choisir postgres souscrit au filet de sécurité par sécurité au niveau des lignes qui isole les tenants : le moteur refuse de démarrer contre un superutilisateur Postgres ou un rôle BYPASSRLS sauf si ce garde-fou est explicitement contourné, car un tel rôle désactiverait le filet de sécurité d’isolation des tenants. L’overlay Postgres de Compose provisionne le rôle applicatif à moindre privilège au premier init pour que ce filet de sécurité soit réel.

Le registre d’audit est en ajout seul (append-only), chaîné par hachage (hash-chained), et ancré par des points de contrôle signés en Ed25519. --checkpoint-interval contrôle la fréquence d’écriture d’un point de contrôle signé sur la chaîne de chaque tenant (défaut 1h ; 0 désactive les points de contrôle). Un point de contrôle final d’arrêt est écrit avant la fermeture du stockage, de sorte que la chaîne est ancrée à l’arrêt propre aussi bien que sur l’intervalle. Le chemin d’export signé et de transfert est traité dans transférer l’audit vers Splunk.

Ce sont les postures en vigueur sans aucune configuration au-delà de serve. Ce sont la position de sécurité par défaut du produit, pas un durcissement optionnel.

DomaineDéfautCe que cela signifie
IdentifiantsAucun livréAucun nom d’utilisateur ni mot de passe par défaut n’existe. Au premier démarrage sans utilisateurs, le moteur émet un jeton de configuration à usage unique et l’affiche sur la sortie standard uniquement — jamais dans les journaux.
Configuration au premier démarrageJeton à usage uniqueL’administrateur crée le premier utilisateur avec ce jeton, puis se connecte. Le jeton est affiché une fois et est à usage unique.
TransportTLS activéHTTP et gRPC servent sur TLS par défaut ; un certificat auto-signé est généré dans le répertoire de données si aucun n’est fourni, et son empreinte de certificat ainsi que sa valeur --pin-sha256 sont journalisées.
Adresse de liaisonBoucle locale--listen et --grpc-listen se lient par défaut à 127.0.0.1. Le moteur se lie à l’hôte local jusqu’à ce que vous le publiiez délibérément.
Mode texte clairOff--insecure est le seul moyen de servir en texte clair, et le chemin gRPC échoue en mode fermé plutôt que de se rétrograder. Destiné au développement localhost uniquement.
Amorçage de démoOff--seed-demo est désactivé par défaut et refuse toute liaison non-boucle-locale parce qu’il émet un administrateur de démo à mot de passe public.
Télémétrie « phone home »OffLe moteur ne « rappelle pas à la maison » : il n’existe aucun canal de télémétrie vers l’éditeur, et rien n’est envoyé comme effet de bord de l’exécution. Les connexions sortantes existent vers les sources que vous configurez, plus olivares upgrade lorsque vous le lancez — il joint le canal de mises à jour sauf si --endpoint ou --bundle le pointe ailleurs. C’est ce qui rend possible l’installation en environnement isolé avec zéro sortie (egress).

Sur une installation neuve, le moteur affiche un bloc FIRST-BOOT SETUP sur la sortie standard contenant le jeton de configuration à usage unique. L’administrateur l’utilise pour créer le premier utilisateur, puis s’authentifie. Sous Docker Compose, le jeton est lu depuis les journaux du conteneur :

Fenêtre 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'
# puis ouvrez https://localhost:8443 (TLS auto-signé par défaut)

L’endpoint de configuration et l’endpoint de connexion font partie du contrat OpenAPI du produit ; voir la Référence de l’API. Le modèle de jetons opaques de session et de clé d’API qui les sous-tend est décrit dans le modèle de sécurité.

C’est la surface de configuration commune et vérifiée. Elle n’énumère pas chaque drapeau avancé pour les topologies multi-nœuds et à TLS mutuel — ceux-ci appartiennent aux déploiements distribués et en environnement isolé décrits dans l’aperçu de l’architecture et listés en intégralité dans la référence CLI. Là où un paramètre est en phase de conception ou spécifique à une topologie, il y est documenté plutôt que présenté ici comme un réglage stable.

Pour les limites de ce que le produit observe et l’endroit où la couverture est échelonnée, lisez honnêteté et limites.