39 lines
1.5 KiB
YAML
39 lines
1.5 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: ApplicationSet
|
|
metadata:
|
|
name: k3s-cluster-appset
|
|
namespace: argocd
|
|
spec:
|
|
goTemplate: true
|
|
goTemplateOptions: ["missingkey=error"]
|
|
generators:
|
|
- git:
|
|
repoURL: https://github.com/3dwardch3ng/home-cluster-ops.git
|
|
revision: HEAD
|
|
directories:
|
|
- path: apps/*/envs/k3s-cluster
|
|
template:
|
|
metadata:
|
|
name: '{{index .path.segments 1}}-{{index .path.segments 3}}'
|
|
spec:
|
|
# The project the application belongs to.
|
|
project: home-cluster-ops
|
|
|
|
# Source of the application manifests
|
|
source:
|
|
repoURL: https://github.com/3dwardch3ng/home-cluster-ops.git
|
|
targetRevision: HEAD
|
|
path: '{{.path.path}}'
|
|
|
|
# Destination cluster and namespace to deploy the application
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: '{{index .path.segments 1}}-{{index .path.segments 3}}'
|
|
|
|
# Sync policy
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
automated: # automated sync by default retries failed attempts 5 times with following delays between attempts ( 5s, 10s, 20s, 40s, 80s ); retry controlled using `retry` field.
|
|
prune: true # Specifies if resources should be pruned during auto-syncing ( false by default ).
|
|
selfHeal: true # Specifies if partial app sync should be executed when resources are changed only in target Kubernetes cluster and no git change detected ( false by default ). |