mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
Two corrections on top of the naming pass, both found by checking the live cluster rather than the source. The rename had silently changed the user-facing annotation key from argocd.argoproj.io/sync-wave to cd.argoproj.io/sync-wave — 63 live Applications carry the old key, so deploying that would have ignored every sync-wave and broken fleet deploy ordering. The key is now cd.hanzo.ai/*, and universe 575650286 moves the ApplicationSet template that stamps it, so the controller regenerates all 63 consistently. The API group in code said argoproj.io/v1alpha1 in 157 places while the cluster has served apps.hanzo.ai/v1alpha1 since 2026-07-23 (the CRDs are applications.apps.hanzo.ai). Code now matches what is actually served. The legacy applications.argoproj.io/app-name label had ZERO live users, so it went with the rest. foo.argoproj.io test fixtures became foo.example.com — arbitrary test domains should not carry a vendor name. go build ./... exit 0. Co-authored-by: Hanzo Dev <[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: apps.hanzo.ai/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/hanzoai/cd.git
|
|
targetRevision: HEAD
|
|
path: '{{.path.path}}'
|
|
destination:
|
|
server: '{{.url}}'
|
|
namespace: '{{.path.basename}}'
|