我是 skaffold 的新手,目前我试图找到一种方法(可能是不可能的)来设置基于平台的主机 env 变量,linux 和 mac os 可与 HOST 一起使用,但 windows 不支持此 env 变量。是否有可能在 helm 安装期间检查 skaffold.yml 中的平台然后 setValues(我们可以使用标志设置它,但问题是提供支持所有平台的变量)
目前它在我的 skaffold.yml 文件中是这样的
deploy:
kubeContext: docker-desktop
helm:
releases:
setValueTemplates:
HOST: "{{.HOST}}"
上述内容不适用于不设置任何值的 Windows 操作系统,我们如何在不手动设置 Windows 环境变量的情况下执行此操作(编辑系统环境变量,我可以在我的机器内设置 HOST 变量,但我必须手动执行此操作)。
有没有可能写一个基于平台的函数和返回值到skaffold.yml?
答案 0 :(得分:0)
如您所知,setValueTemplates
允许您使用 Go 模板来计算要设置的值。 Go 模板支持 actions,包括 if/else 操作,因此您应该能够使用以下内容:
setValueTemplates:
HOST: "{{if .HOST}}{{.HOST}}{{else}}notset{{end}}"