自定义环境变量-argocd

lor*_*tol 8 kubernetes kubernetes-helm argoproj argocd

有构建环境变量(https://argoproj.github.io/argo-cd/user-guide/build-environment/),因此可以在 application/helm yaml 文件中注入类似的内容$ARGOCD_APP_NAME,并将其解析为实际值。

有没有一种方法可以设置自定义环境变量,以便可以在 argocd 应用程序 yaml 文件上解析它?

例如,在下面的 argocd 应用程序 yaml 中,需要设置 ENV 值,以便 helm 可以知道要使用哪些values.yaml。

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
    ...
spec:
    ...
    source:
       ...
        helm:
            valueFiles:
                - values_${ENV}.yaml
Run Code Online (Sandbox Code Playgroud)

小智 2

这是一个迟到的答案,但你可以。您可以使用插件字段在应用程序级别添加 ENV 变量,示例如下:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  ...
spec:
  ...
  source:
    plugin:
      env:
          - name: ENV_VARIABLE
            value: ENV_VALUE
Run Code Online (Sandbox Code Playgroud)