GitLab CI/CD AutoDevOps自定义Helm安装转义字符串



我需要根据管道yaml文件中的变量动态调整入口注释。"正常";属性运行得很好,但注释有特殊字符,我似乎找不到正确使用它的方法。精加工如下:

HELM_UPGRADE_EXTRA_ARGS: "
--set application.secretName=$APPLICATION_SECRET_NAME 
--set livenessProbe.path=$HEALTHCHECK_PATH 
--set readinessProbe.path=$HEALTHCHECK_PATH 
--set livenessProbe.scheme=$HTTPS_SCHEME 
--set readinessProbe.scheme=$HTTPS_SCHEME 
--set ingress.tls.enabled=$tlsEnabled 
--set ingress.tls.secretName=$certName 
--set service.externalPort=$SERVER_PORT 
--set service.internalPort=$SERVER_PORT"

现在我想添加ssl paththrough属性,它像这样嵌套在最终的yaml:中

metadata:
name: my-service-ingress
namespace: my-service
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"

正如您所看到的,该房产有一个带有特殊字符的长名称。以及/我已经尝试过像在直接bash环境中那样对它们进行转义,但这在这里似乎不起作用,因为我将这些参数存储在一个yaml变量中,管道将使用该变量来创建显示的yaml文件。我的尝试:

--set-string ingress.annotations."nginx.ingress.kubernetes.io/ssl-passthrough"=$sslPaththrough 

任何想法或提示都将不胜感激!

正确的方法(现在对我来说(似乎是对属性名称中不显示层次结构的点进行双转义:

--set-string ingress.annotations.nginx\.ingress\.kubernetes\.io/ssl-passthrough=$sslPaththrough 

最新更新