Accéder à Bob on-premises

Connectez bob-ide ou bob-shell à un déploiement IBM Bob on-premises en configurant la confiance des certificats, l'endpoint client et l'authentification des utilisateurs.

Bob on-premises vous permet d'utiliser les fonctionnalités de Bob au sein de votre propre infrastructure tout en gardant le contrôle sur la sécurité, la gestion des identités et l'accès réseau. Avant de pouvoir utiliser bob-ide ou bob-shell, vous devez configurer la confiance pour le certificat du déploiement, vous connecter à l'endpoint de service approprié et vous authentifier avec vos identifiants organisationnels.

Avant de commencer

Confirmez les points suivants avec votre administrateur de cluster avant de procéder :

  • Un déploiement Bob on-premises est installé et opérationnel. La ressource personnalisée (CR) Bob doit indiquer un statut Ready.
  • Vous disposez de l'URL de l'endpoint de l'API Bob au format https://api.<cluster-domain>. Votre administrateur peut la récupérer en exécutant oc get route après l'installation.
  • Si le déploiement utilise une autorité de certification (AC) autosignée ou interne, vous avez reçu le fichier de certificat CA (par exemple, bob-ca.crt ou bob-ca.pem).
  • Un compte utilisateur est disponible pour vous. Votre administrateur a configuré la fédération LDAP ou Active Directory, ou a créé un compte utilisateur Keycloak direct. Voir Gestion des utilisateurs.
Remarque :

Si l'un des prérequis manque, contactez votre administrateur de cluster avant de procéder.

Approuver le certificat CA

Si le déploiement Bob utilise une autorité de certification autosignée ou gérée en interne, votre poste de travail doit approuver le certificat CA avant de pouvoir établir des connexions HTTPS sécurisées vers les services Bob.

Remarque :

Ignorez cette section si le déploiement utilise une AC publiquement approuvée ou d'entreprise déjà approuvée par votre poste de travail.

Vérifiez le certificat :

openssl x509 -in bob-ca.crt -noout -subject -issuer -dates

La sortie affiche les champs subject et issuer. Pour une AC autosignée, ces valeurs sont identiques. Vérifiez que la date notAfter est dans le futur.

Importez le certificat en utilisant l'une des options suivantes :

Option 1 : Keychain Access

  1. Localisez le fichier bob-ca.crt dans le Finder.
  2. Double-cliquez sur le fichier. macOS ouvre une fenêtre Ajouter des certificats.
  3. Dans le menu déroulant du trousseau, sélectionnez Système et cliquez sur Ajouter. Saisissez votre mot de passe lorsque vous y êtes invité.
  4. Ouvrez Keychain Access, sélectionnez Système dans la barre latérale, puis cliquez sur Certificats.
  5. Localisez le certificat importé et ouvrez ses propriétés.
  6. Développez Confiance et définissez Lors de l'utilisation de ce certificat sur Toujours approuver.
  7. Enregistrez les modifications.

Après l'importation, quittez et relancez bob-ide.

Remarque :

Sur macOS Sequoia, si double-cliquer sur le fichier de certificat n'a aucun effet, renommez le fichier pour vous assurer qu'il a une extension .crt et réessayez.

Option 2 : Ligne de commande

sudo security add-trusted-cert \
  -d \
  -r trustRoot \
  -k /Library/Keychains/System.keychain \
  bob-ca.crt

Vérifiez l'importation du certificat :

security find-certificate -c "Bob Internal CA" \
  /Library/Keychains/System.keychain

Après avoir importé le certificat, quittez et relancez bob-ide.

Remarque :

Si bob-ide affiche toujours UNABLE_TO_VERIFY_LEAF_SIGNATURE après la relance, activez le paramètre expérimental de certificat système dans votre fichier de paramètres bob-ide :

{
  "http.experimental.systemCertificatesV2": true
}

Si bob-shell ne fait toujours pas confiance au certificat, configurez Node.js pour utiliser le certificat CA :

export NODE_EXTRA_CA_CERTS="/path/to/bob-ca.crt"

Ajoutez la variable à votre profil shell pour rendre le paramètre persistant.

Importez le certificat CA dans le magasin de confiance du système :

sudo cp bob-ca.crt /usr/local/share/ca-certificates/bob-ca.crt
sudo update-ca-certificates

Importez le certificat dans le magasin Autorités de certification racines de confiance à l'aide de certmgr.msc, ou exécutez :

certutil -addstore "Root" bob-ca.crt

Configurer l'endpoint client

Une fois que votre poste de travail approuve le certificat du déploiement, configurez votre client pour communiquer avec l'endpoint de l'API Bob fourni par votre administrateur de cluster.

bob-ide

Configurez l'endpoint de la passerelle API dans votre fichier de paramètres :

  1. Ouvrez Paramètres.
  2. Cliquez sur Ouvrir le fichier de paramètres.
  3. Spécifiez l'URL de la passerelle :
{
  "gatewayUrl": "https://api.<cluster-domain>"
}
  1. Enregistrez le fichier.

bob-shell

Configurez l'endpoint que bob-shell utilise pour se connecter au déploiement Bob.

Variables d'environnement (recommandé)

Ajoutez les variables suivantes à votre profil shell (par exemple, ~/.bashrc ou ~/.zshrc) pour les rendre persistantes entre les sessions :

export BOB_GATEWAY_URL=https://api.<cluster-domain>
export BOB_WEB_LOGIN_URL=https://<login-domain>

Options en ligne de commande

bob \
  --gateway-url https://api.<cluster-domain> \
  --web-login-url https://<login-domain>
Remarque :
  • BOB_WEB_LOGIN_URL et --web-login-url sont requis uniquement lors de l'utilisation de l'authentification SSO et lorsque l'URL de connexion ne peut pas être dérivée automatiquement de l'URL de la passerelle.
  • Pour l'authentification par clé API, seule BOB_GATEWAY_URL est requise.
  • Si gatewayUrl est configuré dans settings.json, bob-ide et bob-shell utilisent tous deux cette valeur.

Se connecter

Après avoir configuré l'endpoint, authentifiez-vous auprès du déploiement Bob à l'aide de vos identifiants assignés.

  • Pour bob-ide, cliquez sur Se connecter.
  • Pour bob-shell, exécutez la commande bob.

Vous êtes redirigé vers le fournisseur d'authentification de votre organisation (par exemple, Keycloak), où vous vous connectez avec vos identifiants organisationnels.

Une fois authentifié, vous pouvez utiliser bob-ide ou bob-shell pour accéder au déploiement IBM Bob on-premises pour la génération de code, l'analyse, le refactoring et d'autres workflows de développement pris en charge.

Comment trouvez-vous ce sujet ?