如果S2I - Openshift3中的“Source-to-image”资源尝试连接到TLS Gitlab存储库,则显示以下消息:“Peer的证书颁发者已被标记为不被用户信任”。
我如何指示Openshift3哪些证书机构可以在那里使用?是否有任何配置/选项可以绕过此错误?
输入的命令是:
oc new-app tomcat~https://gitlab.xxx/test/test.git --name=test --strategy=docker
答案 0 :(得分:5)
出于安全原因,您应该向BuildConfig添加trusted CA source secret 。要回答您的问题,您可以通过在BuildConfig中将环境变量GIT_SSL_NO_VERIFY
设置为false
来禁用TLS验证。查看docs here以获取更多信息。
将此直接传递给oc new-app
命令运行oc new-app --build-env GIT_SSL_NO_VERIFY=false
答案 1 :(得分:0)
或者,我建议只导入根CA,以便TLS验证起作用。不会试图说出为什么这应该是必须的所有原因,但是在这里你是如何做到的:
如果您正在运行内部Gitlab实例,那么无论是谁设置它都应该能够指向他们正在使用的根CA.
#oc secrets new [secret name] ca.crt=[local .crt file]
oc secrets new tls-root-ca ca.crt=my-it-ca.crt
#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" } } } }'
如果你不熟悉patch命令,这只是添加一个" sourceSecret"阻止这样:
source:
git:
uri: https://your.gitlab.org/your-app
sourceSecret:
name: tls-root-ca