自定义环境变量 - argocd

时间:2021-04-15 13:00:56

标签: 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

2 个答案:

答案 0 :(得分:0)

您可以通过遵循此 argocd example 使用 ApplicationSet Controller 自动生成 Argo CD 应用程序。

或者这个 github 仓库:Argo CD ApplicationSet Controller 我认为这可以帮助您解决问题。

答案 1 :(得分:0)

这是一个迟到的答案,但你可以。可以使用plugin字段在应用层添加ENV变量,示例如下:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  ...
spec:
  ...
  source:
    plugin:
      env:
          - name: ENV_VARIABLE
            value: ENV_VALUE