我有这个 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 应用程序一样
不,你不能。
$values
功能非常特定于共享值文件,而不是任意配置文件。
此 PR 旨在实现您需要的更通用的功能:https://github.com/argoproj/argo-cd/pull/12508