mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
* Add support for missingkey=error in ApplicationSets Signed-off-by: Radon Rosborough <[email protected]> * options for cluster generator too Signed-off-by: Michael Crenshaw <[email protected]> --------- Signed-off-by: Radon Rosborough <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
70 lines
2.6 KiB
YAML
70 lines
2.6 KiB
YAML
# The matrix generator can contain other combination-type generators (matrix and union). But nested matrix and union
|
|
# generators cannot contain further-nested matrix or union generators.
|
|
#
|
|
# The generators are evaluated from most-nested to least-nested. In this case:
|
|
# 1. The union generator joins two lists to make 3 parameter sets.
|
|
# 2. The inner matrix generator takes the cartesian product of the two lists to make 4 parameters sets.
|
|
# 3. The outer matrix generator takes the cartesian product of the 3 union and the 4 inner matrix parameter sets to
|
|
# make 3*4=12 final parameter sets.
|
|
# 4. The 12 final parameter sets are evaluated against the top-level template to generate 12 Applications.
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: ApplicationSet
|
|
metadata:
|
|
name: matrix-and-union-in-matrix
|
|
spec:
|
|
goTemplate: true
|
|
goTemplateOptions: ["missingkey=error"]
|
|
generators:
|
|
- matrix:
|
|
generators:
|
|
- union:
|
|
mergeKeys:
|
|
- cluster
|
|
generators:
|
|
- list:
|
|
elements:
|
|
- cluster: engineering-dev
|
|
url: https://kubernetes.default.svc
|
|
values:
|
|
project: default
|
|
- cluster: engineering-prod
|
|
url: https://kubernetes.default.svc
|
|
values:
|
|
project: default
|
|
- list:
|
|
elements:
|
|
- cluster: engineering-dev
|
|
url: https://kubernetes.default.svc
|
|
values:
|
|
project: default
|
|
- cluster: engineering-test
|
|
url: https://kubernetes.default.svc
|
|
values:
|
|
project: default
|
|
- matrix:
|
|
generators:
|
|
- list:
|
|
elements:
|
|
- values:
|
|
suffix: '1'
|
|
- values:
|
|
suffix: '2'
|
|
- list:
|
|
elements:
|
|
- values:
|
|
prefix: 'first'
|
|
- values:
|
|
prefix: 'second'
|
|
template:
|
|
metadata:
|
|
name: '{{.values.prefix}}-{{.cluster}}-{{.values.suffix}}'
|
|
spec:
|
|
project: '{{.values.project}}'
|
|
source:
|
|
repoURL: https://github.com/argoproj/argo-cd.git
|
|
targetRevision: HEAD
|
|
path: '{{.path.path}}'
|
|
destination:
|
|
server: '{{.url}}'
|
|
namespace: '{{.path.basename}}'
|