project.yaml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. {{- $namespace := .Values.argo_namespace -}}
  2. {{- $chart_name := include "argo-cd.name" . -}}
  3. {{- $chart := include "argo-cd.chart" . -}}
  4. {{- range .Values.projects }}
  5. apiVersion: argoproj.io/v1alpha1
  6. kind: AppProject
  7. metadata:
  8. name: {{ .name }}
  9. namespace: {{ $namespace }}
  10. labels:
  11. app.kubernetes.io/name: {{ $chart_name }}
  12. helm.sh/chart: {{ $chart }}
  13. app.kubernetes.io/instance: {{ $.Release.Name }}
  14. app.kubernetes.io/managed-by: {{ $.Release.Service }}
  15. app.kubernetes.io/part-of: {{ $chart_name }}
  16. spec:
  17. description: {{ .description }}
  18. sourceRepos:
  19. {{ toYaml .sourceRepos | indent 2 -}}
  20. destinations:
  21. {{- range .destinations }}
  22. - namespace: {{ .namespaces }}
  23. server: {{.server | default "https://kubernetes.default.svc" }}
  24. {{- end }}
  25. {{- if .clusterResourceWhitelist }}
  26. clusterResourceWhitelist:
  27. {{ toYaml .clusterResourceWhitelist| indent 2 }}
  28. {{- end }}
  29. roles:
  30. {{- range .roles }}
  31. - name: {{ .name }}
  32. description: {{ .description }}
  33. policies:
  34. {{ toYaml .policies| indent 6 }}
  35. jwtTokens:
  36. {{ toYaml .jwtTokens| indent 6 }}
  37. groups:
  38. {{ toYaml .oidcGroups| indent 6 -}}
  39. {{- end }}
  40. ---
  41. {{- end }}