GitLab CI/CD AutoDevOps 自定义 Helm 安装转义 ingress.annotation 字符串
GitLab CI/CD AutoDevOps customize Helm install escape ingress.annotation strings
我需要根据管道 yaml 文件中的变量动态调整入口注释。
"Normal" 属性 工作得很好,但注释有特殊字符,我似乎无法找到正确使用它的方法。
优秀作品如下:
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"
现在我想在最终的 yaml 中添加像这样嵌套的 属性 ssl 路径:
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 \
我需要根据管道 yaml 文件中的变量动态调整入口注释。 "Normal" 属性 工作得很好,但注释有特殊字符,我似乎无法找到正确使用它的方法。 优秀作品如下:
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"
现在我想在最终的 yaml 中添加像这样嵌套的 属性 ssl 路径:
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 \