Compare commits
1 Commits
924a5b9cb5
...
13e4272dd3
| Author | SHA1 | Date | |
|---|---|---|---|
|
13e4272dd3
|
16
clusters/cl01tl/deployment/stack/Chart.yaml
Normal file
16
clusters/cl01tl/deployment/stack/Chart.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: stack
|
||||||
|
version: 1.0.0
|
||||||
|
description: Stack
|
||||||
|
keywords:
|
||||||
|
- argo-cd
|
||||||
|
- stack
|
||||||
|
- deployment
|
||||||
|
home: https://wiki.alexlebens.dev/s/0c2d1896-710d-4972-9bc8-08d71987428a
|
||||||
|
sources:
|
||||||
|
- https://github.com/argoproj/argo-cd
|
||||||
|
- https://gitea.alexlebens.dev/alexlebens/infrastructure
|
||||||
|
maintainers:
|
||||||
|
- name: alexlebens
|
||||||
|
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
|
||||||
|
appVersion: 1.0.0
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
{{- range $index, $stack := .Values.applicationSet }}
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: ApplicationSet
|
||||||
|
metadata:
|
||||||
|
name: {{ $stack.name }}
|
||||||
|
namespace: {{ $.Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: {{ $stack.name }}
|
||||||
|
app.kubernetes.io/instance: {{ $stack.name }}
|
||||||
|
app.kubernetes.io/part-of: {{ $.Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
syncPolicy:
|
||||||
|
applicationsSync: create-update
|
||||||
|
preserveResourcesOnDeletion: true
|
||||||
|
generators:
|
||||||
|
- git:
|
||||||
|
repoURL: {{ $.Values.git.repo }}
|
||||||
|
revision: {{ $.Values.git.revision }}
|
||||||
|
directories:
|
||||||
|
- path: "clusters/{{ $.Values.cluster.name }}/{{ $stack.name }}/*"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: '{{ `{{path.basename}}` }}'
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: '{{ $stack.namespace | default `{{path.basename}}` }}'
|
||||||
|
project: default
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
source:
|
||||||
|
repoURL: {{ $.Values.git.repo }}
|
||||||
|
targetRevision: {{ $.Values.git.revision }}
|
||||||
|
path: '{{ `{{path}}` }}'
|
||||||
|
helm:
|
||||||
|
releaseName: "{{ `{{path.basename}}` }}"
|
||||||
|
{{- if $stack.ignoreDifferences }}
|
||||||
|
ignoreDifferences:
|
||||||
|
{{- toYaml $stack.ignoreDifferences | nindent 8 }}
|
||||||
|
{{ end }}
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: {{ $stack.syncPolicy.automated.prune | default false }}
|
||||||
|
selfHeal: {{ $stack.syncPolicy.automated.selfHeal | default false }}
|
||||||
|
retry:
|
||||||
|
limit: 3
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 15m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace={{ $stack.syncPolicy.syncOptions.createNamespace | default true }}
|
||||||
|
- ApplyOutOfSyncOnly={{ $stack.syncPolicy.syncOptions.applyOutOfSyncOnly | default true }}
|
||||||
|
- ServerSideApply={{ $stack.syncPolicy.syncOptions.serverSideApply | default true }}
|
||||||
|
- PruneLast={{ $stack.syncPolicy.syncOptions.pruneLast | default true }}
|
||||||
|
- RespectIgnoreDifferences={{ $stack.syncPolicy.syncOptions.respectIgnoreDifferences | default true }}
|
||||||
|
{{- end }}
|
||||||
192
clusters/cl01tl/deployment/stack/templates/application.yaml
Normal file
192
clusters/cl01tl/deployment/stack/templates/application.yaml
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: cilium
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: cilium
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: {{ .Values.git.repo }}
|
||||||
|
targetRevision: {{ .Values.git.revision }}
|
||||||
|
path: clusters/{{ .Values.cluster.name }}/standalone/cilium
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: kube-system
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
ignoreDifferences:
|
||||||
|
- group: monitoring.coreos.com
|
||||||
|
kind: ServiceMonitor
|
||||||
|
jqPathExpressions:
|
||||||
|
- .spec.endpoints[]?.relabelings[]?.action
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
retry:
|
||||||
|
limit: 10
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 16m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=false
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
- PruneLast=true
|
||||||
|
- RespectIgnoreDifferences=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: coredns
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: coredns
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: {{ .Values.git.repo }}
|
||||||
|
targetRevision: {{ .Values.git.revision }}
|
||||||
|
path: clusters/{{ .Values.cluster.name }}/standalone/coredns
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: kube-system
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
retry:
|
||||||
|
limit: 10
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 16m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=false
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
- PruneLast=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: metrics-server
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: metrics-server
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: {{ .Values.git.repo }}
|
||||||
|
targetRevision: {{ .Values.git.revision }}
|
||||||
|
path: clusters/{{ .Values.cluster.name }}/standalone/metrics-server
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: kube-system
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
retry:
|
||||||
|
limit: 10
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 16m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=false
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
- PruneLast=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: kubelet-serving-cert-approver
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: kubelet-serving-cert-approver
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: {{ .Values.git.repo }}
|
||||||
|
targetRevision: {{ .Values.git.revision }}
|
||||||
|
path: clusters/{{ .Values.cluster.name }}/standalone/kubelet-serving-cert-approver
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: kubelet-serving-cert-approver
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
retry:
|
||||||
|
limit: 10
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 16m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
- PruneLast=true
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: prometheus-operator-crds
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: prometheus-operator-crds
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: {{ .Values.git.repo }}
|
||||||
|
targetRevision: {{ .Values.git.revision }}
|
||||||
|
path: clusters/{{ .Values.cluster.name }}/standalone/prometheus-operator-crds
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: kube-system
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: false
|
||||||
|
retry:
|
||||||
|
limit: 10
|
||||||
|
backoff:
|
||||||
|
duration: 1m
|
||||||
|
factor: 2
|
||||||
|
maxDuration: 16m
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=false
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
- PruneLast=true
|
||||||
16
clusters/cl01tl/deployment/stack/values.yaml
Normal file
16
clusters/cl01tl/deployment/stack/values.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
cluster:
|
||||||
|
name: cl01tl
|
||||||
|
git:
|
||||||
|
# repo: git@github.com:alexlebens/infrastructure.git
|
||||||
|
# repo: https://github.com/alexlebens/infrastructure.git
|
||||||
|
repo: http://gitea-http.gitea:3000/alexlebens/infrastructure
|
||||||
|
# repo: ssh://git@gitea-ssh.gitea/alexlebens/infrastructure
|
||||||
|
revision: HEAD
|
||||||
|
applicationSet:
|
||||||
|
- name: deployment
|
||||||
|
namespace: argocd
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
serverSideApply: true
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
dependencies:
|
|
||||||
- name: argo-cd
|
|
||||||
repository: https://argoproj.github.io/argo-helm
|
|
||||||
version: 9.1.5
|
|
||||||
digest: sha256:07f7f6d369af426cdd213ddbc58373a4e5b4f54724efd4612662d7da0315232d
|
|
||||||
generated: "2025-12-02T21:27:41.876154-06:00"
|
|
||||||
Reference in New Issue
Block a user