3.4.2. 自己署名証明書を使用した Git リポジトリーをサポートする OpenShift Dev Spaces のデプロイ

自己署名証明書を使用する Git プロバイダーでの操作をサポートするように OpenShift Dev Spaces を設定できます。

前提条件

  • OpenShift クラスターへの管理権限を持つアクティブな oc セッション。Getting started with the OpenShift CLI を参照してください。
  • Git バージョン 2 以降

手順

  1. Git サーバーの詳細情報を使用して新規の configMap を作成します。

    $ oc create configmap che-git-self-signed-cert \
      --from-file=ca.crt=<path_to_certificate> \  1
      --from-literal=githost=<host:port> -n openshift-devspaces  2
    1
    自己署名証明書へのパス
    2
    Git サーバーの HTTPS 接続のホストおよびポート(オプション)。
    注記
    • githost を指定しないと、指定された証明書がすべての HTTPS リポジトリーに使用されます。
    • 証明書ファイルは、通常、以下のような Base64 ASCII ファイルとして保存されます。.pem, .crt, .ca-bundle.また、これらはバイナリーデータとしてエンコードすることもできます (例: .cer)。証明書ファイルを保持するすべての Secrets は、バイナリーデータ証明書ではなく、Base64 ASCII 証明書を使用する必要があります。
  2. 必要なラベルを ConfigMap に追加します。

    $ oc label configmap che-git-self-signed-cert \
      app.kubernetes.io/part-of=che.eclipse.org -n openshift-devspaces
  3. Git リポジトリーに自己署名証明書を使用するように OpenShift Dev Spaces オペランドを設定します。「CLI を使用して CheCluster カスタムリソースの設定」 を参照してください。

    spec:
      server:
        gitSelfSignedCert: true

検証手順

  • 新規ワークスペースを作成および開始します。ワークスペースによって使用されるすべてのコンテナーは、自己署名証明書のあるファイルを含む特殊なボリュームをマウントします。リポジトリーの .git/config ファイルには、Git サーバーホスト (その URL) と http セクションの証明書へのパスについての情報が含まれます(git-configに関する Git ドキュメントを参照してください)。

    例3.11 .git/config ファイルの例

    [http "https://10.33.177.118:3000"]
    sslCAInfo = /etc/che/git/cert/ca.crt