在 skaffold.yml 中根据平台设置主机环境变量

时间:2021-02-19 10:34:11

标签: kubernetes-helm skaffold

我是 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?

1 个答案:

答案 0 :(得分:0)

如您所知,setValueTemplates 允许您使用 Go 模板来计算要设置的值。 Go 模板支持 actions,包括 if/else 操作,因此您应该能够使用以下内容:

setValueTemplates:
  HOST: "{{if .HOST}}{{.HOST}}{{else}}notset{{end}}"
相关问题