web-dev-qa-db-fra.com

"L'émetteur du certificat de personne a été marqué comme approuvé par l'utilisateur" dans Openshift3

Si S2I - ressource "Source à image" dans Openshift3 tente de se connecter à un référentiel TLS Gitlab, le message suivant s'affiche: "L'émetteur du certificat de Peer a été marqué comme non approuvé par l'utilisateur".

Comment puis-je indiquer à Openshift3 quels certificats les autorités peuvent utiliser là-bas? Existe-t-il une option/configuration permettant de contourner cette erreur?

La commande entrée était:

oc new-app Tomcat~https://gitlab.xxx/test/test.git --name=test --strategy=docker
5
Carlos Alberto

Pour des raisons de sécurité, vous devez ajouter un secret de source d’autorité de confiance à BuildConfig. Pour répondre à votre question, vous pouvez désactiver la vérification TLS en définissant une variable d'environnement GIT_SSL_NO_VERIFY sur false dans BuildConfig. Vérifie les docs ici pour plus d’informations.

Pour transmettre ceci directement à la commande oc new-app, exécutez oc new-app --build-env GIT_SSL_NO_VERIFY=false

5
PhilipGough

Autrement, je suggérerais simplement d'importer l'autorité de certification racine pour que la validation TLS fonctionne. Nous n'essaierons pas de parler de toutes les raisons pour lesquelles cela devrait être un must, mais voici comment procéder:

1) Prenez le fichier de certificat racine.

Si vous exécutez une instance interne de Gitlab, quiconque l’a configurée devrait pouvoir vous diriger vers l’autorité de certification racine qu’elle utilise.

2) Créer un nouveau secret avec le fichier de certificat

#oc secrets new [secret name] ca.crt=[local .crt file]
oc secrets new tls-root-ca ca.crt=my-it-ca.crt

3) Attachez le secret que vous venez de créer à la configuration

    #oc patch bc/[build config name] --patch '{ "spec": {"source": { "sourceSecret": { "name": "[secret name]" } } } }'
    oc patch bc/my-build --patch '{ "spec": {"source": { "sourceSecret": { "name": "tls-root-ca" } } } }'

Au cas où vous ne maîtriseriez pas la commande patch, ajoutez simplement un bloc "sourceSecret" comme ceci:

  source:
    git:
      uri: https://your.gitlab.org/your-app
    sourceSecret:
      name: tls-root-ca

Voir aussi le guide openshift sur les secrets d’entrée de construction

0
JoshC13