Cette documentation concerne les déploiements fédéraux de Devin. Retour à la documentation Devin
Exigences TLS
- Chaque
base_urlde modèle ainsi que l’issuerSSO doivent utiliserhttps://. Le protocolehttp://non chiffré n’est accepté que pour les hôtes de bouclage (localhost,127.0.0.0/8,[::1]). - Les certificats sont vérifiés à l’aide du magasin de certificats de confiance du système d’exploitation (Security.framework sur macOS, le magasin d’autorités de certification du système sur Linux). Si vos endpoints sont signés par une autorité de certification déjà installée sur le poste de travail, aucune configuration supplémentaire n’est nécessaire.
- Si vos endpoints sont signés par une autorité de certification privée qui ne figure pas dans le magasin de certificats de confiance du système d’exploitation, ajoutez-la via
DEVIN_CA_BUNDLEcomme indiqué ci-dessous. La CLI ne désactive jamais la vérification des certificats.
Faire confiance à une autorité de certification privée avec DEVIN_CA_BUNDLE
DEVIN_CA_BUNDLE désigne un fichier PEM dont les certificats sont approuvés en plus de ceux du magasin de certificats de confiance du système d’exploitation. Il s’applique aux requêtes d’inférence, aux sondes de devin airgap doctor et à toutes les requêtes que la CLI envoie à votre IdP lors de la connexion SSO (authentification unique) et de la revalidation.
1
Assembler le paquet
Regroupez les certificats racine (et, le cas échéant, intermédiaires) de votre autorité de certification privée dans un seul fichier PEM. Le fichier peut contenir plusieurs blocs Vos endpoints n’ont pas besoin de partager le même certificat ni la même autorité de certification. Un seul paquet s’applique à l’ensemble du processus de l’agent et à toutes ses connexions : si vos endpoints sont signés par des autorités de certification privées différentes, concaténez-les toutes dans le même fichier :Avec ce paquet,
-----BEGIN CERTIFICATE-----.https://vllm.corp.example (signé par corp-root-ca), https://models.ml.example (signé par ml-platform-ca) et votre IdP (signé par idp-root-ca) sont tous approuvés. Les endpoints signés par une autorité de certification déjà présente dans le magasin de certificats de confiance du système d’exploitation ne nécessitent aucune entrée. Le fichier des modèles ne comporte aucun champ de certificat ou TLS par modèle, et il n’est pas possible d’utiliser un paquet distinct par endpoint.2
Exporter la variable dans l’environnement de l’agent
devin.acp.agentEnv ou, sous macOS, utilisez launchctl setenv DEVIN_CA_BUNDLE /etc/devin/ca-bundle.pem (open ne transmet pas l’environnement de votre shell à l’application).3
Vérifier avec doctor
trusted only via DEVIN_CA_BUNDLE confirme que c’est bien grâce au paquet que l’endpoint est approuvé : doctor réessaie chaque endpoint joignable avec le seul magasin de certificats de confiance du système d’exploitation et indique si cette tentative échoue au niveau TLS. Si la variable n’est pas définie, la ligne du paquet d’autorités de certification affiche not configured (OS trust store only; set DEVIN_CA_BUNDLE to add a private CA).CFG004 et le message de l’analyseur (par exemple failed to read CA bundle '/etc/devin/ca-bundle.pem': No such file or directory). À l’exécution, ce même problème n’est pas bloquant : la CLI affiche une ligne warning: ignoring DEVIN_CA_BUNDLE: … et se rabat sur le magasin de certificats de confiance du système d’exploitation. Une faute de frappe dans le chemin se manifeste donc par des échecs TLS NET003 sur vos endpoints, et non par une erreur au démarrage. Corrigez le paquet, puis relancez doctor.
Proxy
La CLI en air gap gère le proxy sortant de la même manière que la Devin CLI Standard. Par défaut ("mode": "system"), elle prend en compte les variables d’environnement HTTP_PROXY, HTTPS_PROXY, ALL_PROXY et NO_PROXY, ainsi que les paramètres PAC/proxy automatique du système d’exploitation. Pour imposer un proxy spécifique ou contourner complètement les proxys, ajoutez un bloc proxy au fichier de configuration utilisateur (config.json dans le répertoire de configuration partagé de Devin ; voir Formats sur disque) :
no_proxy s’applique dans tous les modes et utilise la même syntaxe que la variable d’environnement NO_PROXY. Pour définir le proxy pour tous les utilisateurs d’un hôte, placez le même bloc proxy dans le fichier de stratégie à l’échelle de la machine system.json (/etc/devin/system.json sous Linux, /Library/Application Support/Devin/system.json sous macOS, C:\ProgramData\Devin\system.json sous Windows) ; si les deux fichiers définissent proxy, la CLI refuse de démarrer tant que vous n’avez pas supprimé la copie de niveau utilisateur. La référence complète des options se trouve dans la référence du fichier de configuration de la CLI.
Un proxy qui termine la connexion TLS et re-signe le trafic avec sa propre autorité de certification (CA) est considéré comme une CA privée : ajoutez son certificat à DEVIN_CA_BUNDLE. Les connexions restent limitées aux destinations répertoriées en haut de cette page ; le proxy modifie le chemin emprunté, pas l’ensemble des destinations.
Délais d’expiration
Une sonde qui dépasse son délai d’expiration est signalée par le code
NET005.
Codes NET
devin airgap doctor associe l’un de ces codes à chaque sonde d’endpoint en échec. Ce sont également les codes que vous verrez dans les demandes d’assistance. Le catalogue complet est disponible sur la page Codes d’erreur.

