merge each of items into one
Signed-off-by: Joe Lee <lj_2005@163.com>
This commit is contained in:
parent
859db71e3d
commit
b662dd7108
11 changed files with 108 additions and 281 deletions
|
@ -1,28 +0,0 @@
|
||||||
applicationTemplates:
|
|
||||||
- apps:
|
|
||||||
- name: guestbook
|
|
||||||
project: guestbook-project
|
|
||||||
template: |-
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: {{ .name }}
|
|
||||||
# You'll usually want to add your resources to the argocd namespace.
|
|
||||||
namespace: argocd
|
|
||||||
# Add this finalizer ONLY if you want these to cascade delete.
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
# Add labels to your application object.
|
|
||||||
labels:
|
|
||||||
name: guestbook
|
|
||||||
spec:
|
|
||||||
# The project the application belongs to.
|
|
||||||
project: {{ .project }}
|
|
||||||
|
|
||||||
# Source of the application manifests
|
|
||||||
source:
|
|
||||||
repoURL: https://github.com/argoproj/argocd-example-apps.git
|
|
||||||
targetRevision: HEAD
|
|
||||||
path: guestbook
|
|
||||||
directory:
|
|
||||||
recurse: true
|
|
|
@ -1,28 +0,0 @@
|
||||||
applicationTemplates:
|
|
||||||
- apps:
|
|
||||||
- name: guestbook
|
|
||||||
project: guestbook-project
|
|
||||||
template:
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: "{{ .name }}"
|
|
||||||
# You'll usually want to add your resources to the argocd namespace.
|
|
||||||
namespace: argocd
|
|
||||||
# Add this finalizer ONLY if you want these to cascade delete.
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
# Add labels to your application object.
|
|
||||||
labels:
|
|
||||||
name: guestbook
|
|
||||||
spec:
|
|
||||||
# The project the application belongs to.
|
|
||||||
project: "{{ .project }}"
|
|
||||||
|
|
||||||
# Source of the application manifests
|
|
||||||
source:
|
|
||||||
repoURL: https://github.com/argoproj/argocd-example-apps.git
|
|
||||||
targetRevision: HEAD
|
|
||||||
path: guestbook
|
|
||||||
directory:
|
|
||||||
recurse: true
|
|
|
@ -1,31 +0,0 @@
|
||||||
applicationsetTemplates:
|
|
||||||
- appSets:
|
|
||||||
- name: my-appset
|
|
||||||
generators:
|
|
||||||
- list:
|
|
||||||
elements:
|
|
||||||
- cluster: engineering-dev
|
|
||||||
url: https://1.2.3.4
|
|
||||||
- cluster: engineering-prod
|
|
||||||
url: https://2.4.6.8
|
|
||||||
- cluster: finance-preprod
|
|
||||||
url: https://9.8.7.6
|
|
||||||
template: |-
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: ApplicationSet
|
|
||||||
metadata:
|
|
||||||
name: {{ .name }}
|
|
||||||
spec:
|
|
||||||
generators: {{ toYaml .generators | nindent 4 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
name: '{{`{{cluster}}`}}-guestbook'
|
|
||||||
spec:
|
|
||||||
project: my-project
|
|
||||||
source:
|
|
||||||
repoURL: https://github.com/infra-team/cluster-deployments.git
|
|
||||||
targetRevision: HEAD
|
|
||||||
path: guestbook/{{`{{cluster}}`}}
|
|
||||||
destination:
|
|
||||||
server: '{{`{{cluster}}`}}'
|
|
||||||
namespace: guestbook
|
|
|
@ -1,31 +0,0 @@
|
||||||
applicationsetTemplates:
|
|
||||||
- appSets:
|
|
||||||
- name: my-appset
|
|
||||||
generators:
|
|
||||||
- list:
|
|
||||||
elements:
|
|
||||||
- cluster: engineering-dev
|
|
||||||
url: https://1.2.3.4
|
|
||||||
- cluster: engineering-prod
|
|
||||||
url: https://2.4.6.8
|
|
||||||
- cluster: finance-preprod
|
|
||||||
url: https://9.8.7.6
|
|
||||||
template:
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: ApplicationSet
|
|
||||||
metadata:
|
|
||||||
name: "{{ .name }}"
|
|
||||||
spec:
|
|
||||||
generators: "{{ toYaml .generators | nindent 4 }}"
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
name: '{{`{{cluster}}`}}-guestbook'
|
|
||||||
spec:
|
|
||||||
project: my-project
|
|
||||||
source:
|
|
||||||
repoURL: https://github.com/infra-team/cluster-deployments.git
|
|
||||||
targetRevision: HEAD
|
|
||||||
path: guestbook/{{`{{cluster}}`}}
|
|
||||||
destination:
|
|
||||||
server: '{{`{{cluster}}`}}'
|
|
||||||
namespace: guestbook
|
|
61
charts/argocd-apps/ci/item-templates.yaml
Normal file
61
charts/argocd-apps/ci/item-templates.yaml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
itemTemplates:
|
||||||
|
- items:
|
||||||
|
- name: my-appset
|
||||||
|
generators: &generators
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: engineering-dev
|
||||||
|
url: https://1.2.3.4
|
||||||
|
- cluster: engineering-prod
|
||||||
|
url: https://2.4.6.8
|
||||||
|
- cluster: finance-preprod
|
||||||
|
url: https://9.8.7.6
|
||||||
|
template:
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: "{{ .name }}"
|
||||||
|
spec:
|
||||||
|
generators: *generators
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: "{{`{{cluster}}`}}-guestbook"
|
||||||
|
spec:
|
||||||
|
project: my-project
|
||||||
|
source:
|
||||||
|
repoURL: https://github.com/infra-team/cluster-deployments.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: guestbook/{{`{{cluster}}`}}
|
||||||
|
destination:
|
||||||
|
server: "{{`{{cluster}}`}}"
|
||||||
|
namespace: guestbook
|
||||||
|
- items:
|
||||||
|
- name: my-appset
|
||||||
|
generators:
|
||||||
|
- list:
|
||||||
|
elements:
|
||||||
|
- cluster: engineering-dev
|
||||||
|
url: https://1.2.3.4
|
||||||
|
- cluster: engineering-prod
|
||||||
|
url: https://2.4.6.8
|
||||||
|
- cluster: finance-preprod
|
||||||
|
url: https://9.8.7.6
|
||||||
|
template: |-
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: {{ .name }}
|
||||||
|
spec:
|
||||||
|
generators: {{ toYaml .generators | nindent 4 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: '{{`{{cluster}}`}}-guestbook'
|
||||||
|
spec:
|
||||||
|
project: my-project
|
||||||
|
source:
|
||||||
|
repoURL: https://github.com/infra-team/cluster-deployments.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: guestbook/{{`{{cluster}}`}}
|
||||||
|
destination:
|
||||||
|
server: '{{`{{cluster}}`}}'
|
||||||
|
namespace: guestbook
|
|
@ -1,27 +0,0 @@
|
||||||
projectTemplates:
|
|
||||||
- projects:
|
|
||||||
- name: my-project
|
|
||||||
namespace: my-namespace
|
|
||||||
template: |-
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: AppProject
|
|
||||||
metadata:
|
|
||||||
name: {{ .name }}
|
|
||||||
namespace: argocd
|
|
||||||
# Finalizer that ensures that project is not deleted until it is not referenced by any application
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
# Project description
|
|
||||||
description: Example Project
|
|
||||||
|
|
||||||
# Allow manifests to deploy from any Git repos
|
|
||||||
sourceRepos:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
# Only permit applications to deploy to the guestbook namespace in the same cluster
|
|
||||||
# Destination clusters can be identified by 'server', 'name', or both.
|
|
||||||
destinations:
|
|
||||||
- namespace: {{ .namespace }}
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
name: in-cluster
|
|
|
@ -1,27 +0,0 @@
|
||||||
projectTemplates:
|
|
||||||
- projects:
|
|
||||||
- name: my-project
|
|
||||||
namespace: my-namespace
|
|
||||||
template:
|
|
||||||
apiVersion: argoproj.io/v1alpha1
|
|
||||||
kind: AppProject
|
|
||||||
metadata:
|
|
||||||
name: "{{ .name }}"
|
|
||||||
namespace: argocd
|
|
||||||
# Finalizer that ensures that project is not deleted until it is not referenced by any application
|
|
||||||
finalizers:
|
|
||||||
- resources-finalizer.argocd.argoproj.io
|
|
||||||
spec:
|
|
||||||
# Project description
|
|
||||||
description: Example Project
|
|
||||||
|
|
||||||
# Allow manifests to deploy from any Git repos
|
|
||||||
sourceRepos:
|
|
||||||
- "*"
|
|
||||||
|
|
||||||
# Only permit applications to deploy to the guestbook namespace in the same cluster
|
|
||||||
# Destination clusters can be identified by 'server', 'name', or both.
|
|
||||||
destinations:
|
|
||||||
- namespace: "{{ .namespace }}"
|
|
||||||
server: https://kubernetes.default.svc
|
|
||||||
name: in-cluster
|
|
|
@ -49,17 +49,17 @@ spec:
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
---
|
|
||||||
{{- range .Values.applicationTemplates }}
|
{{- range .Values.itemTemplates }}
|
||||||
{{- if kindIs "string" .template }}
|
{{- if kindIs "string" .template }}
|
||||||
{{- $template := .template -}}
|
{{- $template := .template -}}
|
||||||
{{- range .apps }}
|
{{- range .items }}
|
||||||
---
|
---
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
{{ tpl $template (set . "Template" $.Template) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- $template := .template | toYaml -}}
|
{{- $template := .template | toYaml -}}
|
||||||
{{- range .apps }}
|
{{- range .items }}
|
||||||
---
|
---
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
{{ tpl $template (set . "Template" $.Template) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -77,19 +77,3 @@ spec:
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
---
|
|
||||||
{{- range .Values.applicationsetTemplates }}
|
|
||||||
{{- if kindIs "string" .template }}
|
|
||||||
{{- $template := .template -}}
|
|
||||||
{{- range .appSets }}
|
|
||||||
---
|
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}
|
|
||||||
{{- $template := .template | toYaml -}}
|
|
||||||
{{- range .appSets }}
|
|
||||||
---
|
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
|
@ -68,18 +68,3 @@ spec:
|
||||||
{{- toYaml . | nindent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range .Values.projectTemplates }}
|
|
||||||
{{- if kindIs "string" .template }}
|
|
||||||
{{- $template := .template -}}
|
|
||||||
{{- range .projects }}
|
|
||||||
---
|
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}
|
|
||||||
{{- $template := .template | toYaml -}}
|
|
||||||
{{- range .projects }}
|
|
||||||
---
|
|
||||||
{{ tpl $template (set . "Template" $.Template) }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
|
@ -40,43 +40,6 @@ applications: []
|
||||||
# - name: url
|
# - name: url
|
||||||
# value: https://argoproj.github.io/
|
# value: https://argoproj.github.io/
|
||||||
|
|
||||||
applicationTemplates: []
|
|
||||||
# - apps:
|
|
||||||
# - name: guestbook
|
|
||||||
# project: guestbook-project
|
|
||||||
# template: |-
|
|
||||||
# apiVersion: argoproj.io/v1alpha1
|
|
||||||
# kind: Application
|
|
||||||
# metadata:
|
|
||||||
# name: {{ .name }}
|
|
||||||
# # You'll usually want to add your resources to the argocd namespace.
|
|
||||||
# namespace: argocd
|
|
||||||
# # Add this finalizer ONLY if you want these to cascade delete.
|
|
||||||
# finalizers:
|
|
||||||
# - resources-finalizer.argocd.argoproj.io
|
|
||||||
# # Add labels to your application object.
|
|
||||||
# labels:
|
|
||||||
# name: guestbook
|
|
||||||
# spec:
|
|
||||||
# # The project the application belongs to.
|
|
||||||
# project: {{ .project }}
|
|
||||||
# # Source of the application manifests
|
|
||||||
# source:
|
|
||||||
# repoURL: https://github.com/argoproj/argocd-example-apps.git # Can point to either a Helm chart repo or a git repo.
|
|
||||||
# targetRevision: HEAD # For Helm, this refers to the chart version.
|
|
||||||
# path: guestbook # This has no meaning for Helm charts pulled directly from a Helm repo instead of git.
|
|
||||||
# # helm specific config
|
|
||||||
# chart: chart-name # Set this when pulling directly from a Helm repo. DO NOT set for git-hosted Helm charts.
|
|
||||||
# helm:
|
|
||||||
# passCredentials: false # If true then adds --pass-credentials to Helm commands to pass credentials to all domains
|
|
||||||
# # Extra parameters to set (same as setting through values.yaml, but these take precedence)
|
|
||||||
# parameters:
|
|
||||||
# - name: "nginx-ingress.controller.service.annotations.external-dns\\.alpha\\.kubernetes\\.io/hostname"
|
|
||||||
# value: mydomain.example.com
|
|
||||||
# - name: "ingress.annotations.kubernetes\\.io/tls-acme"
|
|
||||||
# value: "true"
|
|
||||||
# forceString: true # ensures that value is treated as a string
|
|
||||||
|
|
||||||
# -- Deploy Argo CD Projects within this helm release
|
# -- Deploy Argo CD Projects within this helm release
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `[]` (See [values.yaml])
|
||||||
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
## Ref: https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/
|
||||||
|
@ -123,31 +86,6 @@ projects: []
|
||||||
# sourceNamespaces:
|
# sourceNamespaces:
|
||||||
# - argocd
|
# - argocd
|
||||||
|
|
||||||
projectTemplates: []
|
|
||||||
# - projects:
|
|
||||||
# - name: my-project
|
|
||||||
# namespace: my-namespace
|
|
||||||
# template: |-
|
|
||||||
# apiVersion: argoproj.io/v1alpha1
|
|
||||||
# kind: AppProject
|
|
||||||
# metadata:
|
|
||||||
# name: {{ .name }}
|
|
||||||
# namespace: argocd
|
|
||||||
# # Finalizer that ensures that project is not deleted until it is not referenced by any application
|
|
||||||
# finalizers:
|
|
||||||
# - resources-finalizer.argocd.argoproj.io
|
|
||||||
# spec:
|
|
||||||
# # Project description
|
|
||||||
# description: Example Project
|
|
||||||
# # Allow manifests to deploy from any Git repos
|
|
||||||
# sourceRepos:
|
|
||||||
# - '*'
|
|
||||||
# # Only permit applications to deploy to the guestbook namespace in the same cluster
|
|
||||||
# # Destination clusters can be identified by 'server', 'name', or both.
|
|
||||||
# destinations:
|
|
||||||
# - namespace: {{ .namespace }}
|
|
||||||
# server: https://kubernetes.default.svc
|
|
||||||
# name: in-cluster
|
|
||||||
# -- Deploy Argo CD ApplicationSets within this helm release
|
# -- Deploy Argo CD ApplicationSets within this helm release
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `[]` (See [values.yaml])
|
||||||
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/
|
## Ref: https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/
|
||||||
|
@ -195,18 +133,48 @@ applicationsets: []
|
||||||
# # Set Application finalizer
|
# # Set Application finalizer
|
||||||
# preserveResourcesOnDeletion: false
|
# preserveResourcesOnDeletion: false
|
||||||
|
|
||||||
applicationsetTemplates: []
|
itemTemplates: []
|
||||||
# - appSets:
|
# - items:
|
||||||
|
# - name: my-appset
|
||||||
|
# generators: &generators
|
||||||
|
# - list:
|
||||||
|
# elements:
|
||||||
|
# - cluster: engineering-dev
|
||||||
|
# url: https://1.2.3.4
|
||||||
|
# - cluster: engineering-prod
|
||||||
|
# url: https://2.4.6.8
|
||||||
|
# - cluster: finance-preprod
|
||||||
|
# url: https://9.8.7.6
|
||||||
|
# template:
|
||||||
|
# apiVersion: argoproj.io/v1alpha1
|
||||||
|
# kind: ApplicationSet
|
||||||
|
# metadata:
|
||||||
|
# name: "{{ .name }}"
|
||||||
|
# spec:
|
||||||
|
# generators: *generators
|
||||||
|
# template:
|
||||||
|
# metadata:
|
||||||
|
# name: "{{`{{cluster}}`}}-guestbook"
|
||||||
|
# spec:
|
||||||
|
# project: my-project
|
||||||
|
# source:
|
||||||
|
# repoURL: https://github.com/infra-team/cluster-deployments.git
|
||||||
|
# targetRevision: HEAD
|
||||||
|
# path: guestbook/{{`{{cluster}}`}}
|
||||||
|
# destination:
|
||||||
|
# server: "{{`{{cluster}}`}}"
|
||||||
|
# namespace: guestbook
|
||||||
|
# - items:
|
||||||
# - name: my-appset
|
# - name: my-appset
|
||||||
# generators:
|
# generators:
|
||||||
# - list:
|
# - list:
|
||||||
# elements:
|
# elements:
|
||||||
# - cluster: engineering-dev
|
# - cluster: engineering-dev
|
||||||
# url: https://1.2.3.4
|
# url: https://1.2.3.4
|
||||||
# - cluster: engineering-prod
|
# - cluster: engineering-prod
|
||||||
# url: https://2.4.6.8
|
# url: https://2.4.6.8
|
||||||
# - cluster: finance-preprod
|
# - cluster: finance-preprod
|
||||||
# url: https://9.8.7.6
|
# url: https://9.8.7.6
|
||||||
# template: |-
|
# template: |-
|
||||||
# apiVersion: argoproj.io/v1alpha1
|
# apiVersion: argoproj.io/v1alpha1
|
||||||
# kind: ApplicationSet
|
# kind: ApplicationSet
|
||||||
|
@ -216,16 +184,17 @@ applicationsetTemplates: []
|
||||||
# generators: {{ toYaml .generators | nindent 4 }}
|
# generators: {{ toYaml .generators | nindent 4 }}
|
||||||
# template:
|
# template:
|
||||||
# metadata:
|
# metadata:
|
||||||
# name: '{{`{{cluster}}`}}-guestbook'
|
# name: '{{`{{cluster}}`}}-guestbook'
|
||||||
# spec:
|
# spec:
|
||||||
# project: my-project
|
# project: my-project
|
||||||
# source:
|
# source:
|
||||||
# repoURL: https://github.com/infra-team/cluster-deployments.git
|
# repoURL: https://github.com/infra-team/cluster-deployments.git
|
||||||
# targetRevision: HEAD
|
# targetRevision: HEAD
|
||||||
# path: guestbook/{{`{{cluster}}`}}
|
# path: guestbook/{{`{{cluster}}`}}
|
||||||
# destination:
|
# destination:
|
||||||
# server: '{{`{{cluster}}`}}'
|
# server: '{{`{{cluster}}`}}'
|
||||||
# namespace: guestbook
|
# namespace: guestbook
|
||||||
|
|
||||||
# -- Deploy Argo UI Extensions within this helm release
|
# -- Deploy Argo UI Extensions within this helm release
|
||||||
# @default -- `[]` (See [values.yaml])
|
# @default -- `[]` (See [values.yaml])
|
||||||
## This function in tech preview stage, do expect unstability or breaking changes in newer versions. Bump image.tag if necessary.
|
## This function in tech preview stage, do expect unstability or breaking changes in newer versions. Bump image.tag if necessary.
|
||||||
|
|
Loading…
Reference in a new issue