3.4.2. 使用自签名证书支持 Git 存储库部署 OpenShift Dev Spaces
您可以配置 OpenShift Dev Spaces,以支持使用自签名证书的 Git 提供程序中的操作。
先决条件
-
具有 OpenShift 集群的管理权限的活跃
oc
会话。请参阅 OpenShift CLI 入门。 - Git 版本 2 或更高版本
流程
创建一个新 ConfigMap,其中包含 Git 服务器的详情:
$ 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
注意-
如果没有指定
githost
,则给定的证书会用于所有 HTTPS 软件仓库。 -
证书文件通常存储为 Base64 ASCII 文件,例如:
.pem
,.crt
,.ca-bundle
.另外,它们可以编码为二进制数据,例如.cer
。拥有证书文件的所有secret
应该使用 Base64 ASCII 证书而不是二进制数据证书。
-
如果没有指定
将所需的标签添加到 ConfigMap:
$ oc label configmap che-git-self-signed-cert \ app.kubernetes.io/part-of=che.eclipse.org -n openshift-devspaces
配置 OpenShift Dev Spaces 操作对象,将自签名证书用于 Git 存储库。请参阅 第 3.1.2 节 “使用 CLI 配置 CheCluster 自定义资源”。
spec: server: gitSelfSignedCert: true
验证步骤
创建并启动新工作区。工作区使用的每一容器都挂载一个特殊的卷,其中包含带有自签名证书的文件。存储库的
.git/config
文件包含关于http
部分中的 Git 服务器主机(its URL)和证书的路径的信息(请参阅 git-config的 Git 文档)。例 3.11.
.git/config
文件示例[http "https://10.33.177.118:3000"] sslCAInfo = /etc/che/git/cert/ca.crt