来自远程源的 ArgoCD Helm 文件

问题描述 投票:0回答:1

我有这个 argo 应用程序:

project: myproject
    destination:
      server: 'https://kubernetes.default.svc'
      namespace: myns
    syncPolicy:
      automated:
        prune: true
      syncOptions:
        - CreateNamespace=true
    sources:
      - repoURL: >-
          https://gitlab.com/myrepos/helm-repo.git
        path: helm
        targetRevision: HEAD
        helm:
          valueFiles:
            - $values/mocks/values.yaml
      - repoURL: >-
          https://gitlab.com/myrepos/values-repo.git
        targetRevision: HEAD
        ref: values

这是我的价值观文件:

mocks:
  projectName: "soapui-project"

这工作正常,只要我的 xml 文件与我的 helm 图表位于同一存储库中,我就可以从远程存储库设置值。

这是我图表中的模板,它是 kubernetes 配置图:

{{ $projectFile := printf "%s.xml" .Values.mocks.projectName  }}
{{ $projectName := .Values.mocks.projectName  }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: "{{ $projectName | lower }}"
data:
{{ ($.Files.Glob $projectFile).AsConfig | indent 1 }}

我的问题/问题:

如果文件与 helm 图表不在同一个存储库中(假设我的 xml 文件位于我的值存储库中),我可以读取文件内容并将其内容传递给配置映射的数据吗?

我希望能够将我的 xmlsoapui 文件放在远程存储库中,并将其内容传递到我的 argo 应用程序的舵图,就像我将值从另一个存储库传递到我的 argo 应用程序一样

kubernetes kubernetes-helm argocd gitops
1个回答
1
投票

不,你不能。

$values
功能非常特定于共享值文件,而不是任意配置文件。

此 PR 旨在实现您需要的更通用的功能:https://github.com/argoproj/argo-cd/pull/12508

© www.soinside.com 2019 - 2024. All rights reserved.