Référence de configuration
Découvrez où se trouvent les paramètres d’un serveur Claude Managed Agents auto-hébergé, et consultez la clé, la variable d’environnement, la valeur par défaut et le rôle de chaque paramètre.
Cette page montre où se trouvent les paramètres d’un serveur Claude Managed Agents auto-hébergé, et les répertorie. Pour configurer une fonctionnalité, consultez Authentification unique, Identité et identifiants des agents et Fournisseur d’inférence.
Emplacement des paramètres
Le serveur lit ses paramètres dans un fichier YAML unique, et ses identifiants dans son environnement.
- Docker Compose : Le fichier est
compose.config.yaml, à côté dedocker-compose.ymldans l’archive extraite. Modifiez-le, puis exécutezdocker compose restart cma-serverdepuis ce répertoire. - Kubernetes : Le fichier est la valeur
server.configdu chart Helm du serveur. Modifiez-la dans votre fichier de valeurs, exécutezhelm upgrade, puis redémarrez les serveurs aveckubectl -n cma-server rollout restart deployment -l anthropic.com/role=server. Consultez Déployer sur Kubernetes.
Si le serveur rejette un paramètre que montrent les pages sur l’auto-hébergement, mettez à niveau le serveur. cma-server.example.yaml, à la racine de l’archive, annote les clés courantes.
Les identifiants ne figurent jamais dans le fichier. Le serveur les lit dans des variables d’environnement, ou dans l’identité que votre cloud associe à l’hôte.
Transmettre un identifiant à la pile Compose
Dans la pile Compose, le conteneur du serveur reçoit uniquement les variables de la liste environment: du service cma-server dans docker-compose.yml. Pour en transmettre une autre :
- Ajoutez son nom à cette liste, et définissez sa valeur dans
.env. - Si l’identifiant est un fichier, placez le fichier à côté de
docker-compose.yml, et ajoutez une ligne telle que- ./gcp-key.json:/etc/cma-server/gcp-key.json:roà la listex-server-mountsdansdocker-compose.yml. Le chemin après le premier deux-points est le chemin du fichier à l’intérieur du conteneur. Utilisez ce chemin comme valeur de la variable dans.env, ou comme valeur du paramètre qui désigne le fichier. - Exécutez
docker compose up -d. Un redémarrage ne relit pas.env.
Une mise à niveau remplace docker-compose.yml, répétez donc ces modifications dans le fichier de la nouvelle version avant de démarrer sa pile.
Comment lire les tableaux
Chaque paramètre possède une clé dans le fichier de paramètres, et la plupart des paramètres possèdent également une variable d’environnement. Une variable remplace le fichier, et le fichier remplace la valeur par défaut. Le serveur ne démarre pas si son fichier de paramètres contient une clé inconnue, et l’erreur indique où se trouve la clé.
- Clés : Chaque point dans une clé correspond à un niveau d’imbrication dans le fichier. Par exemple,
server.addrest la cléaddrdans la sectionserver. - Variables : Le nom d’une variable est
CMA_suivi de la clé en majuscules, avec deux traits de soulignement à la place de chaque point. - Fichier uniquement : Le paramètre n’a pas de variable.
- Environnement uniquement : Le serveur ne démarre pas si le paramètre figure dans le fichier.
bedrockuniquement, et libellés similaires : Le paramètre ne fonctionne qu’avec ce fournisseur, ce stockage ou ce gestionnaire de secrets. Si vous le définissez alors que vous en utilisez un autre, le serveur ne démarre pas.- Listes : Une liste est une liste YAML dans le fichier, et une chaîne séparée par des virgules dans une variable.
- Durées : Une durée est un nombre suivi d’une unité, comme
30s,5mou1h. - Entiers : Un entier est composé uniquement de chiffres, sans signe, zéro initial ni trait de soulignement.
Au démarrage, le serveur journalise les paramètres que vous définissez et la plupart des valeurs par défaut, chacun avec la provenance de sa valeur, comme server.addr=0.0.0.0:8400 (file). Il journalise *** à la place d’un secret, sauf pour une clé API de serveur qu’il a lui-même générée.
Serveur et journalisation
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
server.addrCMA_SERVER__ADDR | 127.0.0.1:8400 | L’adresse sur laquelle le serveur écoute. |
server.api_keyCMA_SERVER__API_KEY | Aucune | La clé API de serveur. Requise avec store.backend: postgres, sauf si auth.refuse_server_api_key vaut true. Avec memory, le serveur génère une clé si vous n’en définissez aucune, et la journalise au démarrage. |
server.id_markerCMA_SERVER__ID_MARKER | local | Ce qui suit le préfixe dans chaque ID que le serveur crée. local donne sesn_local_01…, et none donne sesn_01…, comme sur le service hébergé. |
server.shutdown_delayCMA_SERVER__SHUTDOWN_DELAY | 0s | Durée pendant laquelle le serveur continue de servir après un signal d’arrêt, tandis que sa « readiness probe » (sonde de disponibilité) répond not_ready. Le maximum est 5m. |
server.max_connectionsCMA_SERVER__MAX_CONNECTIONS | 0 | Le nombre maximal de connexions que le serveur maintient ouvertes simultanément sur server.addr. 0 signifie aucune limite. Une fois la limite atteinte, une nouvelle connexion attend qu’une autre se ferme ou que son client abandonne. Les flux d’événements, les interrogations des workers et les sondes de santé sont tous comptabilisés. Sur Kubernetes, le kubelet redémarre un pod dont les sondes attendent trop longtemps. |
logging.formatCMA_LOGGING__FORMAT | text | Le format des journaux, text ou json. |
logging.levelCMA_LOGGING__LEVEL | info | Le niveau le plus bas que le serveur journalise. Les valeurs sont debug, info, warn et error. |
logging.errorsCMA_LOGGING__ERRORS | false | Indique si le journal inclut les messages d’erreur des réponses 4xx et 5xx. Un message peut citer une valeur envoyée par le client. |
health.check_intervalCMA_HEALTH__CHECK_INTERVAL | 60s | Fréquence à laquelle le serveur vérifie ses identifiants d’inférence pour la sonde de disponibilité. Le minimum est 5s. |
health.upstream_affects_readinessCMA_HEALTH__UPSTREAM_AFFECTS_READINESS | true | Indique si la sonde de disponibilité répond 503 tant que le fournisseur d’inférence rejette les identifiants du serveur. |
Base de données
Chaque paramètre de ce tableau, à l’exception de store.backend, s’applique uniquement avec store.backend: postgres.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
store.backendCMA_STORE__BACKEND | memory | L’endroit où le serveur conserve ses données. Les valeurs sont memory, qu’un redémarrage efface, et postgres. |
store.database_urlCMA_STORE__DATABASE_URL | Aucune | La chaîne de connexion PostgreSQL. Requise avec postgres. |
store.control_database_urlCMA_STORE__CONTROL_DATABASE_URL | La valeur de store.database_url | La chaîne de connexion pour les connexions de maintenance propres au serveur, comme son heartbeat. |
store.listen_database_urlCMA_STORE__LISTEN_DATABASE_URL | La valeur de store.database_url | La chaîne de connexion pour l’unique connexion sur laquelle le serveur écoute les notifications. Un pooler de connexions en mode transaction ne peut pas porter cette connexion. |
store.migrate_database_urlCMA_STORE__MIGRATE_DATABASE_URL | La valeur de store.database_url | La chaîne de connexion qu’utilise la commande migrate du serveur. Un pooler de connexions en mode transaction ne peut pas porter cette connexion. |
store.pool_max_connsCMA_STORE__POOL_MAX_CONNS | 24 | Le nombre maximal de connexions à la base de données qu’ouvre le pool d’un serveur. Le minimum est 4. |
store.event_poll_intervalCMA_STORE__EVENT_POLL_INTERVAL | 25ms | Fréquence à laquelle chaque serveur demande à la base de données les derniers événements des sessions que ses clients reçoivent en streaming. Un événement qu’un autre serveur a enregistré attend au plus environ cette durée avant d’atteindre le flux. |
store.credentials_encryption_keyCMA_STORE__CREDENTIALS_ENCRYPTION_KEYEnvironnement uniquement | Aucune | La clé qui chiffre les identifiants stockés dans la base de données, sous forme de 32 octets aléatoires en base64. Les installations Docker Compose et Kubernetes la définissent. Le serveur ne démarre pas sans elle, sauf si store.allow_unencrypted_credentials vaut true. |
store.allow_unencrypted_credentialsCMA_STORE__ALLOW_UNENCRYPTED_CREDENTIALS | false | Indique si le serveur peut démarrer sans store.credentials_encryption_key. Sans la clé, il stocke les identifiants dans la base de données en texte clair. true n’a aucun effet si git.allowed_hostnames répertorie un hôte, ou si vous installez avec Docker Compose ou le chart Helm du serveur. |
store.credentials_encryption_keys_retiringCMA_STORE__CREDENTIALS_ENCRYPTION_KEYS_RETIRINGEnvironnement uniquement | Aucune | Les clés de chiffrement antérieures avec lesquelles le serveur peut encore déchiffrer pendant une rotation de clés. Ce paramètre nécessite store.credentials_encryption_key. |
Fournisseur d’inférence
Pour configurer un fournisseur, consultez Fournisseur d’inférence.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
inference.providerCMA_INFERENCE__PROVIDER | anthropic | L’endroit où le serveur envoie les appels au modèle. Les valeurs sont anthropic, bedrock, vertex, foundry et gateway. |
inference.headersFichier uniquement | Aucune | Les en-têtes de requête que le serveur ajoute à chaque appel au modèle, sous forme de correspondance entre nom d’en-tête et valeur. Mettez chaque valeur entre guillemets. Le serveur refuse de démarrer sur une valeur sans guillemets que YAML ne lit pas comme du texte, comme true ou 0042. Avec gateway, une valeur peut aussi être { from: request_id } ou { from: session_id }. |
inference.model_fallbackCMA_INFERENCE__MODEL_FALLBACK | true | anthropic uniquement. Indique si les appels au modèle demandent le repli côté serveur. Ces appels portent un champ fallbacks et l’en-tête anthropic-beta: server-side-fallback-2026-07-01. Un proxy que vous désignez dans ANTHROPIC_BASE_URL pourrait rejeter le champ ou l’en-tête. S’il répond par un 400 ou un 422, le serveur renvoie l’appel sans eux. |
inference.metadata.user_idCMA_INFERENCE__METADATA__USER_ID | Aucune | anthropic et foundry uniquement, ou gateway avec format: anthropic-messages. Un identifiant unique que le serveur envoie en tant que metadata.user_id avec chaque appel au modèle. Le journal de démarrage l’affiche. Sans ce paramètre, le serveur envoie le libellé cma-server. Vous ne pouvez pas désactiver metadata.user_id. Si le fournisseur ou un proxy le rejette, chaque appel au modèle échoue. Consultez Ce qui quitte votre réseau. |
Fournisseurs cloud
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
inference.regionCMA_INFERENCE__REGION | Aucune | bedrock et vertex uniquement. La région AWS, ou l’emplacement dans Google Cloud’s Agent Platform. Requis avec vertex. Sans lui, bedrock utilise la région que trouve la chaîne par défaut du SDK AWS. |
inference.project_idCMA_INFERENCE__PROJECT_ID | Aucune | vertex uniquement. Le projet Google Cloud dans lequel les appels sont effectués. Requis, sauf si les identifiants Google désignent un projet. |
inference.apiCMA_INFERENCE__API | invoke_model | bedrock uniquement. L’API Amazon Bedrock qui porte les appels, invoke_model ou messages. messages est le point de terminaison que décrit Claude dans Amazon Bedrock (bedrock-mantle). Avec lui, le rôle AWS du serveur a besoin de bedrock-mantle:CreateInference à la place de bedrock:InvokeModel et bedrock:InvokeModelWithResponseStream. |
inference.list_modelsCMA_INFERENCE__LIST_MODELS | true | bedrock uniquement. Indique si le serveur lit les listes de modèles Claude d’Amazon Bedrock. Grâce à ces listes, les agents peuvent utiliser un modèle sorti après la version de votre serveur. |
inference.model_id_prefixCMA_INFERENCE__MODEL_ID_PREFIX | us.anthropic. | bedrock uniquement. Le texte que le serveur place avant chaque ID de modèle. Avec inference.api: messages, la valeur par défaut est anthropic.. |
inference.model_id_overridesFichier uniquement | Aucune | bedrock, vertex et foundry uniquement. Une correspondance entre ID de modèle et l’ID exact qu’attend le fournisseur. Avec foundry, cet ID est un nom de déploiement. |
inference.foundry.resourceCMA_INFERENCE__FOUNDRY__RESOURCE | Aucune | foundry uniquement. Le nom de la ressource Foundry. Définissez ce paramètre ou inference.foundry.base_url, mais pas les deux. |
inference.foundry.base_urlCMA_INFERENCE__FOUNDRY__BASE_URL | Aucune | foundry uniquement. Par défaut, les appels sont envoyés à https://<resource>.services.ai.azure.com/anthropic. Pour atteindre la ressource à une autre adresse, comme un proxy, définissez plutôt cette URL ici. Elle se termine par /anthropic. |
Passerelle de modèles
Ces paramètres s’appliquent uniquement avec inference.provider: gateway. Consultez Passerelle de modèles.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
inference.gateway.urlCMA_INFERENCE__GATEWAY__URL | Aucune | Requis. L’URL qui reçoit les appels au modèle. Avec bedrock-invoke et vertex-raw-predict, {model} indique l’emplacement de l’ID de modèle. Avec vertex-raw-predict, l’URL doit se terminer par /{model}:rawPredict. |
inference.gateway.formatCMA_INFERENCE__GATEWAY__FORMAT | Aucune | Requis. Le format de requête qu’accepte la passerelle : bedrock-invoke, anthropic-messages ou vertex-raw-predict. |
inference.gateway.model_mapFichier uniquement | Aucune | Requis. Une correspondance entre chaque ID de modèle que les agents peuvent désigner et l’ID qu’attend la passerelle. Mettez chaque valeur entre guillemets, comme pour inference.headers. |
inference.gateway.streamingCMA_INFERENCE__GATEWAY__STREAMING | false | Indique si le serveur envoie l’appel en streaming du format, afin que les réponses arrivent au fur et à mesure que le modèle les produit. Avec bedrock-invoke, cet appel est envoyé à la même URL suivie de -with-response-stream. Avec vertex-raw-predict, cet appel est envoyé à la même URL avec :streamRawPredict à la place de :rawPredict. Laissez :rawPredict dans inference.gateway.url. |
inference.credentials.supplierCMA_INFERENCE__CREDENTIALS__SUPPLIER | Aucune | Requis. La provenance des identifiants de la passerelle. env désigne une clé unique à longue durée de vie, oauth_exchange désigne des jetons à courte durée de vie, et azure désigne des jetons Microsoft Entra ID émis pour l’identité Azure propre du serveur. |
inference.credentials.env.varCMA_INFERENCE__CREDENTIALS__ENV__VAR | Aucune | Requis avec env. Le nom de la variable d’environnement qui contient la clé. |
inference.credentials.azure.scopeCMA_INFERENCE__CREDENTIALS__AZURE__SCOPE | Aucune | Requis avec azure. Le scope pour lequel le serveur demande des jetons : l’URI d’ID d’application ou l’ID d’application de l’inscription d’application de votre passerelle, suivi de /.default. |
inference.credentials.send_as.headerCMA_INFERENCE__CREDENTIALS__SEND_AS__HEADER | Authorization | L’en-tête de requête qui porte les identifiants. |
inference.credentials.send_as.schemeCMA_INFERENCE__CREDENTIALS__SEND_AS__SCHEME | Bearer | Le mot qui précède les identifiants dans l’en-tête. Pour tout en-tête autre que Authorization, la valeur par défaut est l’absence de schéma. |
inference.credentials.renew_beforeCMA_INFERENCE__CREDENTIALS__RENEW_BEFORE | 90s | Avec oauth_exchange, l’avance avec laquelle le serveur remplace un jeton. Il cesse d’utiliser un jeton en cache cette durée avant l’expiration du jeton, et en obtient un autre pour l’appel au modèle suivant. Gardez la valeur inférieure à la durée de vie de vos jetons. Le serveur refuse tout jeton valide pendant moins que cette valeur. |
Jetons de passerelle à courte durée de vie
Ces paramètres s’appliquent uniquement avec inference.credentials.supplier: oauth_exchange. Consultez Jetons à courte durée de vie. Les paramètres exchange sont facultatifs en tant que groupe. Sans eux, le serveur envoie à la passerelle ce que renvoie le callback.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
inference.credentials.assertion.urlCMA_INFERENCE__CREDENTIALS__ASSERTION__URL | Aucune | Requis. L’URL du callback HTTP qui renvoie une assertion signée. |
inference.credentials.assertion.auth.typeCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TYPE | Aucune | Requis. La manière dont le serveur s’authentifie auprès du callback, mtls ou bearer_file. |
inference.credentials.assertion.auth.cert_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CERT_FILE | Aucune | Requis avec mtls. Le chemin du certificat client du serveur. |
inference.credentials.assertion.auth.key_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__KEY_FILE | Aucune | Requis avec mtls. Le chemin de la clé privée du certificat client. |
inference.credentials.assertion.auth.token_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__TOKEN_FILE | Aucune | Requis avec bearer_file. Le chemin d’un fichier qui contient le jeton bearer. |
inference.credentials.assertion.auth.ca_fileCMA_INFERENCE__CREDENTIALS__ASSERTION__AUTH__CA_FILE | Aucune | Le chemin d’un fichier PEM contenant les autorités de certification auxquelles le serveur fait confiance pour le callback. |
inference.credentials.assertion.forward_metadataCMA_INFERENCE__CREDENTIALS__ASSERTION__FORWARD_METADATA | Aucune | Les clés de métadonnées de session dont le serveur envoie les valeurs au callback. Elles arrivent sous forme de session.metadata dans le corps de la requête. Les valeurs sont celles qu’a écrites l’appelant de l’API, vérifiez-les donc par rapport à vos propres enregistrements. |
inference.credentials.exchange.token_urlCMA_INFERENCE__CREDENTIALS__EXCHANGE__TOKEN_URL | Aucune | Requis pour un échange. Le point de terminaison de jeton OAuth où le serveur échange l’assertion contre un jeton. |
inference.credentials.exchange.grant_typeCMA_INFERENCE__CREDENTIALS__EXCHANGE__GRANT_TYPE | Aucune | Requis pour un échange. Le grant_type que le serveur envoie, comme urn:ietf:params:oauth:grant-type:jwt-bearer. |
inference.credentials.exchange.encodingCMA_INFERENCE__CREDENTIALS__EXCHANGE__ENCODING | form | La manière dont le serveur encode la requête d’échange, form ou multipart. |
inference.credentials.exchange.expiryCMA_INFERENCE__CREDENTIALS__EXCHANGE__EXPIRY | expires_in | L’endroit où le serveur lit la durée de vie du jeton. expires_in désigne la plus proche des deux échéances entre le expires_in de la réponse et la claim exp du jeton. jwt_exp désigne la claim exp seule. |
inference.credentials.exchange.headersFichier uniquement | Aucune | Des en-têtes de requête supplémentaires pour le point de terminaison de jeton, sous forme de correspondance entre nom d’en-tête et valeur. Mettez chaque valeur entre guillemets, comme pour inference.headers. |
inference.credentials.exchange.ca_fileCMA_INFERENCE__CREDENTIALS__EXCHANGE__CA_FILE | Aucune | Le chemin d’un fichier PEM contenant les autorités de certification auxquelles le serveur fait confiance pour le point de terminaison de jeton. |
Authentification unique
Pour configurer la connexion, consultez Authentification unique.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
auth.issuersFichier uniquement | Aucune | Les émetteurs OpenID Connect dont le serveur accepte les jetons. Consultez Entrées d’émetteur. |
auth.refuse_server_api_keyFichier uniquement | false | Indique si le serveur refuse la clé API de serveur sur toutes les routes. true nécessite au moins un émetteur. Chaque commande CLI d’administration qui utilise la clé échoue alors. |
Entrées d’émetteur
Chaque entrée de auth.issuers accepte les champs suivants :
| Champ | Par défaut | Description |
|---|---|---|
name | Aucune | Requis. Un libellé pour l’émetteur dans les lignes de journal. Le serveur l’enregistre également comme partie du créateur de chaque ressource. |
issuer_url | Aucune | Requis. L’URL de l’émetteur, exactement comme dans la claim iss de ses jetons. Le serveur récupère les clés de signature depuis cet hôte et depuis l’hôte jwks_uri que désigne le document de découverte de l’émetteur. Si votre réseau limite les connexions sortantes, autorisez les deux hôtes. |
audiences | Aucune | Requis. Les valeurs que peut contenir la claim aud d’un jeton. Si des applications transmettent des jetons qu’elles détiennent déjà, indiquez l’ID client de chaque application. |
roles | Aucune | Une liste de paires group et role. Un groupe correspond exactement, ou en tant que motif dans lequel * représente toute suite de caractères et ? un seul caractère. Un rôle est admin, developer ou user. Le rôle correspondant le plus élevé l’emporte. Définissez roles, default_role, ou les deux. |
default_role | Aucune | Le rôle d’un appelant dont les groupes ne correspondent à aucune entrée roles. Ne le définissez que si toute personne pouvant obtenir un jeton pour cette audience doit avoir accès. |
subject_claim | sub | La claim qui identifie l’appelant. Un nom qui commence par / est un JSON Pointer vers des claims imbriquées. |
stable_subject | false | S’applique uniquement si subject_claim désigne une claim autre que sub ou oid. Définissez true pour confirmer que votre fournisseur ne modifie jamais la valeur de cette claim pour une personne et ne la donne jamais à quelqu’un d’autre. Le serveur ne le vérifie pas. Avec false, les jetons d’agent omettent les claims actor_sub et actor_iss. |
groups_claim | groups | La claim qui répertorie les groupes de l’appelant. Un nom qui commence par / est un JSON Pointer vers des claims imbriquées. |
jwks_file | Aucune | Le chemin d’un fichier JSON Web Key Set. Le serveur y lit les clés de signature et ne contacte jamais l’émetteur. |
login_client_id | Aucune | L’ID client de l’application qu’utilise la connexion depuis un terminal. Un seul émetteur peut le définir. |
login_scopes | [openid] | Les scopes que demande la connexion. Ce champ nécessite login_client_id. |
Gestionnaire de secrets
Pour configurer un stockage, consultez Gestionnaire de secrets.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
secret_store.typeCMA_SECRET_STORE__TYPE | Aucune | Le gestionnaire de secrets qui contient les identifiants des coffres-forts. Les valeurs sont aws_secrets_manager, gcp_secret_manager, azure_key_vault et hashicorp_vault. Sans lui, les identifiants des coffres-forts restent dans la base de données. |
secret_store.prefixCMA_SECRET_STORE__PREFIX | Aucune | Requis avec secret_store.type. Le début du nom de chaque secret que crée le serveur. Il doit se terminer par / pour aws_secrets_manager et hashicorp_vault, par - ou _ pour gcp_secret_manager, et par - pour azure_key_vault. |
secret_store.regionCMA_SECRET_STORE__REGION | Aucune | aws_secrets_manager uniquement, et requis dans ce cas. La région AWS qui contient les secrets. |
secret_store.projectCMA_SECRET_STORE__PROJECT | Aucune | gcp_secret_manager uniquement, et requis dans ce cas. L’ID du projet Google Cloud qui contient les secrets. |
secret_store.vault_urlCMA_SECRET_STORE__VAULT_URL | Aucune | azure_key_vault uniquement, et requis dans ce cas. L’URL du coffre de clés, comme https://my-vault.vault.azure.net. |
HashiCorp Vault
Ces paramètres s’appliquent uniquement avec secret_store.type: hashicorp_vault. Définissez exactement une méthode de connexion : token_file, kubernetes ou approle.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
secret_store.addressCMA_SECRET_STORE__ADDRESS | Aucune | Requis. L’URL https:// du serveur Vault. |
secret_store.namespaceCMA_SECRET_STORE__NAMESPACE | Aucune | Le namespace Vault Enterprise qui contient le point de montage et la méthode de connexion. |
secret_store.mountCMA_SECRET_STORE__MOUNT | secret | Le chemin du moteur de secrets KV version 2. |
secret_store.ca_cert_fileCMA_SECRET_STORE__CA_CERT_FILE | Aucune | Le chemin d’un fichier PEM contenant l’autorité de certification qui a signé le certificat de Vault. |
secret_store.token_fileCMA_SECRET_STORE__TOKEN_FILE | Aucune | Le chemin d’un fichier contenant un jeton Vault qu’un autre processus, comme Vault Agent, maintient à jour. |
secret_store.kubernetes.roleCMA_SECRET_STORE__KUBERNETES__ROLE | Aucune | Requis avec kubernetes. Le rôle Vault sous lequel le serveur se connecte. Liez-le au compte de service du serveur. |
secret_store.kubernetes.mount_pathCMA_SECRET_STORE__KUBERNETES__MOUNT_PATH | kubernetes | L’endroit où Vault monte la méthode de connexion Kubernetes. |
secret_store.kubernetes.service_account_token_fileCMA_SECRET_STORE__KUBERNETES__SERVICE_ACCOUNT_TOKEN_FILE | /var/run/secrets/kubernetes.io/serviceaccount/token | Le chemin du jeton de compte de service que le serveur présente à chaque connexion. |
secret_store.approle.role_idCMA_SECRET_STORE__APPROLE__ROLE_ID | Aucune | Requis avec approle. L’ID du rôle AppRole sous lequel le serveur se connecte. |
secret_store.approle.secret_id_fileCMA_SECRET_STORE__APPROLE__SECRET_ID_FILE | Aucune | Requis avec approle. Le chemin d’un fichier contenant le secret_id du rôle. |
secret_store.approle.mount_pathCMA_SECRET_STORE__APPROLE__MOUNT_PATH | approle | L’endroit où Vault monte la méthode de connexion AppRole. |
Identité des agents
Pour configurer les jetons d’agent, consultez Identité des agents. N’importe quel paramètre de ce tableau active la fonctionnalité. Le serveur a alors besoin de agent_identity.issuer et d’exactement un emplacement pour la clé de signature : key_file, key_secret ou kms_key.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
agent_identity.issuerCMA_AGENT_IDENTITY__ISSUER | Aucune | L’URL https:// que les jetons d’agent portent comme claim iss. |
agent_identity.key_fileCMA_AGENT_IDENTITY__KEY_FILE | Aucune | Le chemin de la clé privée PEM qui signe les jetons. |
agent_identity.key_secretCMA_AGENT_IDENTITY__KEY_SECRET | Aucune | Le nom du secret qui contient la clé privée PEM dans votre gestionnaire de secrets, sans secret_store.prefix. |
agent_identity.kms_key.providerCMA_AGENT_IDENTITY__KMS_KEY__PROVIDER | Aucune | Le service de gestion de clés qui contient la clé de signature, aws_kms ou gcp_kms. |
agent_identity.kms_key.keyCMA_AGENT_IDENTITY__KMS_KEY__KEY | Aucune | Requis avec kms_key.provider. L’ARN de la clé pour aws_kms, ou le nom de ressource d’une version de clé pour gcp_kms. |
agent_identity.published_key_filesCMA_AGENT_IDENTITY__PUBLISHED_KEY_FILES | Aucune | Les chemins de clés publiques PEM supplémentaires pour l’ensemble de clés. Le serveur publie ces clés mais ne signe jamais avec elles. Utilisez ce paramètre lorsque vous effectuez une rotation de la clé de signature. |
agent_identity.token_lifetimeCMA_AGENT_IDENTITY__TOKEN_LIFETIME | 5m | Le temps entre la claim iat d’un jeton et sa claim exp. Un jeton déjà envoyé reste valide jusqu’à son exp. Le minimum est limits.mcp_call_timeout plus 1m, et le maximum est 15m. |
agent_identity.jwks_uriCMA_AGENT_IDENTITY__JWKS_URI | <issuer>/.well-known/jwks.json | L’URL que le document de découverte de l’émetteur indique pour l’ensemble de clés. Ne la définissez que si vous hébergez l’ensemble de clés ailleurs que sous l’URL de l’émetteur. |
agent_identity.direct.audiencesFichier uniquement | Aucune | Les destinataires qui peuvent obtenir un jeton. Chaque entrée possède une URL audience et des urls, les préfixes d’URL des serveurs MCP de ce destinataire. |
agent_identity.actor.enabledCMA_AGENT_IDENTITY__ACTOR__ENABLED | true | Indique si le serveur ajoute les claims actor_sub et actor_iss au jeton d’un appel d’outil. actor_sub est le sujet de l’appelant qui a créé la session. actor_iss est l’issuer_url de l’entrée auth.issuers par laquelle l’appelant s’est connecté. Aucune de ces claims ne signifie que l’appelant a approuvé l’appel. |
Passerelle de sortie
Pour configurer la « egress gateway » (passerelle de sortie), consultez Identifiants de variable d’environnement. Ne définissez les autres paramètres de ce tableau qu’avec egress.gateway_enabled: true. Sans cela, le serveur ne démarre pas si l’un d’entre eux est défini.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
egress.gateway_enabledCMA_EGRESS__GATEWAY_ENABLED | false | Indique si le serveur fonctionne avec la passerelle de sortie et accepte les identifiants de coffre environment_variable. |
egress.allowed_hostnamesCMA_EGRESS__ALLOWED_HOSTNAMES | Aucune | Les noms d’hôte publics exacts que les « sandboxes » (bacs à sable) peuvent atteindre via la passerelle. Une entrée sans port, comme api.example.com, autorise le port 443 pour les URL https et le port 80 pour les URL http. Une entrée avec un port, comme api.example.com:8443, autorise ce seul port. |
egress.swap_header_namesCMA_EGRESS__SWAP_HEADER_NAMES | Authorization | Les en-têtes de requête dans lesquels la passerelle peut placer la valeur d’un identifiant. Une liste personnalisée remplace la valeur par défaut, incluez donc Authorization dans celle-ci. |
egress.gateway_listenCMA_EGRESS__GATEWAY_LISTEN | :8410 | L’adresse du second listener du serveur, qui ne sert que la passerelle. La valeur par défaut écoute sur toutes les interfaces. |
egress.gateway_key_fileCMA_EGRESS__GATEWAY_KEY_FILE | Aucune | Requis. Le chemin d’un fichier contenant la clé que la passerelle présente au serveur. |
egress.ca_cert_fileCMA_EGRESS__CA_CERT_FILE | Aucune | Requis. Le chemin du certificat PEM de l’autorité de certification de la passerelle. |
egress.gateway_proxy_addressCMA_EGRESS__GATEWAY_PROXY_ADDRESS | Aucune | Requis. Le host:port auquel les sandboxes atteignent le port proxy de la passerelle. |
Serveurs MCP
Consultez Les serveurs MCP nécessitent une entrée dans la liste d’autorisation.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
mcp.allowed_hostnamesCMA_MCP__ALLOWED_HOSTNAMES | Aucune | Les noms d’hôte exacts des serveurs MCP auxquels le serveur peut se connecter. Sans lui, le serveur ne se connecte à aucun. |
mcp.private_hostnamesFichier uniquement | Aucune | Les noms d’hôte de mcp.allowed_hostnames qui peuvent se résoudre en une adresse privée. |
mcp.max_result_bytesCMA_MCP__MAX_RESULT_BYTES | 102400 (100 KiB) | Le nombre maximal d’octets d’un résultat d’outil MCP que voit le modèle. Le minimum est 1024. |
Dépôts Git
Consultez Les dépôts Git nécessitent une entrée dans la liste d’autorisation.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
git.allowed_hostnamesCMA_GIT__ALLOWED_HOSTNAMES | Aucune | Les hôtes Git sur lesquels peuvent se trouver les dépôts d’une session. Les noms d’hôte correspondent exactement, sans caractères génériques, et une entrée ne couvre pas ses sous-domaines. Une entrée autorise le port 443, ou le seul port qu’elle désigne, comme dans git.example.com:8443. Sans ce paramètre, le serveur n’accepte aucun dépôt. |
git.private_hostnamesFichier uniquement | Aucune | Les noms d’hôte de git.allowed_hostnames qui se résolvent en une adresse privée, écrits sans port. Pour tout autre nom d’hôte, le serveur se connecte uniquement à ses adresses publiques. |
git.allowed_push_refsCMA_GIT__ALLOWED_PUSH_REFS | Aucune | Les branches vers lesquelles les agents peuvent effectuer un push, chacune sous refs/heads/. Une entrée qui se termine par / autorise toutes les branches situées en dessous. Toute autre entrée autorise cette seule branche. Sans ce paramètre, les agents ne peuvent pas effectuer de push. |
git.commit_author_nameCMA_GIT__COMMIT_AUTHOR_NAME | Claude | Le nom d’auteur des commits de l’agent. Définissez-le conjointement avec git.commit_author_email. |
git.commit_author_emailCMA_GIT__COMMIT_AUTHOR_EMAIL | noreply@anthropic.com | L’adresse e-mail de l’auteur des commits de l’agent. Définissez-la conjointement avec git.commit_author_name. |
git.max_concurrent_transfersCMA_GIT__MAX_CONCURRENT_TRANSFERS | 32 | Le nombre maximal de requêtes Git qu’un serveur porte simultanément. Le minimum est 1. |
git.max_session_transfer_bytesCMA_GIT__MAX_SESSION_TRANSFER_BYTES | 8589934592 (8 GiB) | Le volume maximal de trafic Git, en octets, qu’un serveur porte pour une session, envois et téléchargements confondus. Le compteur repart de zéro chaque fois qu’une sandbox reprend la session. Une fois la limite atteinte, le serveur refuse les requêtes Git suivantes de la session avec un 403. 0 signifie aucune limite. Sinon, le minimum est 1048576. |
git.max_push_bytesCMA_GIT__MAX_PUSH_BYTES | 2147483648 (2 GiB) | Le nombre maximal d’octets qu’un push peut envoyer. Le minimum est 1048576. |
Ces limites s’appliquent aux dépôts Git :
- Protocoles : Le serveur ne prend pas en charge SSH ni Git LFS, et il refuse les redirections, comme celle d’un dépôt renommé.
- Jetons : L’hôte Git doit accepter le jeton comme mot de passe de l’authentification HTTP Basic, sous le nom d’utilisateur
x-access-token. - URL : Une URL de dépôt comporte un seul propriétaire et un seul nom de dépôt, vous ne pouvez donc pas utiliser un dépôt situé dans un sous-groupe GitLab.
- Hôtes : Pour une URL sur un hôte que
git.allowed_hostnamesne répertorie pas, le serveur renvoie un400. Le message d’erreur indique que l’URL doit se trouver surgithub.com, même si vous répertoriez d’autres hôtes. - Push : Le serveur refuse toujours un push qui supprime une branche, ou qui modifie autre chose qu’une branche, comme un tag.
Outils web et skills
Consultez Les outils web nécessitent un paramètre serveur.
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
web_tools.enabledCMA_WEB_TOOLS__ENABLED | false | Indique si les agents peuvent utiliser les outils web_search et web_fetch. Si vous définissez un autre paramètre web_tools, la valeur par défaut est true. |
web_tools.allowed_domainsCMA_WEB_TOOLS__ALLOWED_DOMAINS | Aucune | Les seuls domaines que les agents peuvent lire via les outils web. Une entrée couvre ses sous-domaines. |
web_tools.blocked_domainsCMA_WEB_TOOLS__BLOCKED_DOMAINS | Aucune | Les domaines qu’aucun agent ne peut lire via les outils web. Définissez ce paramètre ou web_tools.allowed_domains, mais pas les deux. |
web_tools.max_content_tokensCMA_WEB_TOOLS__MAX_CONTENT_TOKENS | Aucune | Le nombre maximal de tokens d’une page récupérée que web_fetch renvoie au modèle. |
skills.max_name_charsCMA_SKILLS__MAX_NAME_CHARS | 64 | La longueur maximale du name d’un fichier SKILL.md. Le maximum est 255. |
skills.max_description_charsCMA_SKILLS__MAX_DESCRIPTION_CHARS | 1024 | La longueur maximale de la description d’un fichier SKILL.md. |
Limites, délais d’expiration et planification
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
limits.max_active_sessionsCMA_LIMITS__MAX_ACTIVE_SESSIONS | 64 | store.backend: memory uniquement. Le nombre maximal de sessions qui exécutent un tour simultanément. 0 signifie aucune limite. |
limits.max_live_subagent_threadsCMA_LIMITS__MAX_LIVE_SUBAGENT_THREADS | 25 | Le nombre maximal de threads de sous-agents qu’une session peut détenir simultanément. Un thread est comptabilisé jusqu’à ce qu’il soit archivé ou terminé, de sorte qu’un thread inactif est comptabilisé. Une fois la limite atteinte, l’agent ne peut pas démarrer un autre sous-agent. Le minimum est 1, et le maximum est 4000. |
scheduler.max_concurrent_turnsCMA_SCHEDULER__MAX_CONCURRENT_TURNS | 64 | store.backend: postgres uniquement. Le nombre maximal de tours qu’un serveur exécute simultanément. Le minimum est 1. Le serveur réserve des emplacements supplémentaires aux seuls tours de sous-agents. Leur nombre correspond à un quart de cette valeur, et au moins 4. Avec la valeur par défaut, un serveur peut exécuter 64 tours plus 16 tours de sous-agents. |
scheduler.claim_poll_intervalCMA_SCHEDULER__CLAIM_POLL_INTERVAL | 1s | store.backend: postgres uniquement. Fréquence à laquelle un serveur disposant d’un emplacement de tour libre recherche du travail en attente dans la base de données. Le minimum est 50ms. |
scheduler.sandbox_claimCMA_SCHEDULER__SANDBOX_CLAIM | immediate | Le moment où un worker peut démarrer la sandbox d’une session. immediate signifie dès la création de la session, de sorte que le premier appel d’outil attend le moins longtemps. tool_call signifie au premier appel d’outil de la session qui nécessite la sandbox, de sorte qu’une session qui n’en effectue aucun n’utilise aucune sandbox. |
limits.model_call_timeoutCMA_LIMITS__MODEL_CALL_TIMEOUT | 20m | Durée pendant laquelle un appel au modèle peut s’exécuter, nouvelles tentatives comprises, avant que le serveur ne l’annule. |
limits.stream_idle_timeoutCMA_LIMITS__STREAM_IDLE_TIMEOUT | 5m | Durée pendant laquelle la réponse d’un appel au modèle peut ne rien transmettre avant que le serveur n’abandonne cette tentative. |
limits.mcp_call_timeoutCMA_LIMITS__MCP_CALL_TIMEOUT | 4m | Durée pendant laquelle un appel d’outil MCP peut s’exécuter avant que le serveur ne l’abandonne. |
Modèles et compaction
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
models.settingsFichier uniquement | Aucune | Les modifications du catalogue de modèles intégré au serveur, indexées par ID de modèle. Consultez Entrées de modèle. |
compaction.triggersFichier uniquement | Environ 90 % de la « context window » (fenêtre de contexte) de chaque modèle | La taille du contexte, en tokens, à partir de laquelle un tour sur un modèle compacte son historique, indexée par ID de modèle. Le minimum est 50000. Chaque modèle doit prendre en charge la compaction. |
Entrées de modèle
Chaque entrée de models.settings modifie un modèle du catalogue ou en ajoute un. Pour un modèle du catalogue, un champ que vous omettez conserve sa valeur intégrée.
| Champ | Description |
|---|---|
fast_supported | Indique si le modèle accepte speed: "fast". Requis pour un modèle que vous ajoutez. |
inference_geo_supported | Indique si le modèle accepte inference_geo. |
forced_tool_choice_supported | Indique si le modèle accepte une requête qui le force à appeler un outil. Le serveur n’envoie une telle requête que pour exécuter un appel web_search ou web_fetch qui a été approuvé. Avec false, il ne force jamais un outil sur ce modèle. |
effort_supported | Indique si le modèle accepte un niveau d’effort. |
effort_levels | Les niveaux d’effort que le modèle accepte, parmi low, medium, high, xhigh et max. Requis avec effort_supported: true sur un modèle sans niveaux intégrés. |
effort_default | Le niveau d’effort d’une session dont l’agent n’en désigne aucun. Il doit faire partie de effort_levels. Requis avec effort_supported: true sur un modèle sans valeur par défaut intégrée. |
thinking | Le mode de réflexion que le serveur demande, enabled ou adaptive. |
thinking_budget | Le budget de réflexion, en tokens, que le serveur envoie avec thinking: enabled. |
max_tokens | La valeur max_tokens de chaque appel au modèle. |
Console sur votre serveur
| Paramètre Variable d’environnement | Par défaut | Description |
|---|---|---|
console.serveCMA_CONSOLE__SERVE | true | Indique s’il faut servir la console sur votre serveur. |
Cette page vous a-t-elle été utile ?