-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhomelab.yaml
243 lines (243 loc) · 6.41 KB
/
homelab.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
context: homelab
metadata:
maintainer: Dennis Zhang (dennis.zhang.nrg@gmail.com)
description: Helmman DSF for homelab K8s
settings:
kubeContext: homelab
globalMaxHistory: 1
namespaces:
cert-manager:
cloudflareddns:
concourse:
descheduler:
flatnotes:
ingress-nginx:
k8s-dashboard:
kube-ops-view:
navidrome:
nextcloud:
postgresql:
redis:
restic:
stash:
vaultwarden:
wireguard:
helmRepos:
bitnami: https://charts.bitnami.com/bitnami
bjw-s: https://bjw-s.github.io/helm-charts
cert-manager: https://charts.jetstack.io
concourse: https://concourse-charts.storage.googleapis.com/
descheduler: https://kubernetes-sigs.github.io/descheduler/
ingress-nginx: https://kubernetes.github.io/ingress-nginx
k8s-dashboard: https://kubernetes.github.io/dashboard
nextcloud: https://nextcloud.github.io/helm/
apps:
##############
# foundation #
##############
ingress-nginx:
wait: true
namespace: ingress-nginx
group: foundation
enabled: true
chart: ingress-nginx/ingress-nginx
version: 4.11.3
priority: -200
timeout: 900
valuesFiles:
- ingress-nginx/ingress-nginx-values.yaml
- ingress-nginx/homelab/ingress-nginx-values.yaml
cert-manager-secrets:
namespace: cert-manager
group: foundation
enabled: true
chart: ./cert-manager/cert-manager-secrets/chart
version: 0.1.0
priority: -200
secretsFile: cert-manager/cert-manager-secrets/cert-manager-secrets.yaml
cert-manager:
namespace: cert-manager
group: foundation
enabled: true
chart: cert-manager/cert-manager
version: v1.16.2
priority: -199
valuesFiles:
- cert-manager/cert-manager-values.yaml
- cert-manager/homelab/cert-manager-values.yaml
hooks:
postInstall: &cert-manager-postInstall cert-manager/ClusterIssuer.yaml
postUpgrade: *cert-manager-postInstall
cf-ddns:
namespace: cloudflareddns
group: foundation
enabled: true
chart: bjw-s/app-template
version: 3.6.0
priority: -199
valuesFile: cf-ddns/cf-ddns-values.yaml
secretsFile: cf-ddns/cf-ddns-secrets.yaml
##############
# Monitoring #
##############
kube-ops-view:
wait: true
namespace: kube-ops-view
group: foundation
enabled: true
chart: ./kube-ops-view/kube-ops-view
version: 1.2.2
priority: -199
valuesFile: kube-ops-view/kube-ops-view-values.yaml
k8s-dashboard:
wait: true
namespace: k8s-dashboard
group: foundation
enabled: true
chart: k8s-dashboard/kubernetes-dashboard
version: 6.0.8
priority: -199
valuesFile: k8s-dashboard/k8s-dashboard-values.yaml
hooks:
postInstall: &k8s-dash-admin k8s-dashboard/dashboard-admin.yaml
preUpgrade: *k8s-dash-admin
#############
# Databases #
#############
postgresql:
wait: true
namespace: postgresql
group: uses-nfs
enabled: true
chart: bitnami/postgresql
version: 15.5.38
priority: -100
valuesFile: postgresql/postgres-values.yaml
secretsFile: postgresql/postgresql-secrets.yaml
hooks:
preInstall: &pg-pv postgresql/persistenceVolume.yaml
preUpgrade: *pg-pv
redis:
wait: true
namespace: redis
enabled: true
chart: bitnami/redis
version: 20.2.1
priority: -100
valuesFile: redis/redis-values.yaml
###############
# Maintenance #
###############
descheduler:
namespace: descheduler
enabled: true
chart: descheduler/descheduler
version: 0.32.1
valuesFile: descheduler/descheduler-values.yaml
################
# Applications #
################
concourse:
wait: true
namespace: concourse
group: uses-nfs
enabled: true
chart: concourse/concourse
version: 17.4.0
valuesFile: concourse/concourse-values.yaml
secretsFile: concourse/concourse-secrets.yaml
flatnotes:
wait: true
namespace: flatnotes
group: uses-nfs
enabled: true
chart: bjw-s/app-template
version: 3.6.0
valuesFile: flatnotes/flatnotes-values.yaml
secretsFile: flatnotes/flatnotes-secrets.yaml
hooks:
preInstall: &flatnotes-pv flatnotes/persistenceVolume.yaml
preUpgrade: *flatnotes-pv
navidrome:
wait: true
namespace: navidrome
group: uses-nfs
enabled: true
chart: ./navidrome/navidrome
version: 1.0.0
valuesFile: navidrome/navidrome-values.yaml
hooks:
preInstall: &navidrome-pv navidrome/persistenceVolumes.yaml
preUpgrade: *navidrome-pv
nextcloud:
wait: false
namespace: nextcloud
group: uses-nfs
enabled: true
chart: nextcloud/nextcloud
version: 5.5.6
priority: -99
valuesFile: nextcloud/nextcloud-values.yaml
secretsFile: nextcloud/nextcloud-secrets.yaml
hooks:
preInstall: &nextcloud-prehooks nextcloud/preHooks.yaml
preUpgrade: *nextcloud-prehooks
postInstall: &crons nextcloud/crons.yaml
postUpgrade: *crons
nextcloud-news-updater:
wait: true
namespace: nextcloud
group: uses-nfs
enabled: true
chart: ./nextcloud-news-updater/chart
version: 0.1.0
valuesFile: nextcloud-news-updater/nextcloud-news-updater-values.yaml
secretsFile: nextcloud-news-updater/nextcloud-news-updater-secrets.yaml
stash:
namespace: stash
group: uses-nfs
enabled: true
chart: bjw-s/app-template
version: 3.6.0
valuesFile: stash/stash-values.yaml
hooks:
preInstall: &stash-pv stash/persistenceVolume.yaml
preUpgrade: *stash-pv
vaultwarden:
wait: true
namespace: vaultwarden
group: uses-nfs
enabled: true
chart: ./vaultwarden/vaultwarden
version: 5.3.2
priority: -99
valuesFile: vaultwarden/vaultwarden-values.yaml
secretsFile: vaultwarden/vaultwarden-secrets.yaml
hooks:
preInstall: &vaultwarden-pv vaultwarden/persistenceVolume.yaml
preUpgrade: *vaultwarden-pv
wireguard:
wait: true
namespace: wireguard
group: uses-nfs
enabled: true
chart: ./wireguard/chart
version: 0.4.7
valuesFiles:
- wireguard/wireguard-values.yaml
- wireguard/homelab/wireguard-values.yaml
secretsFile: wireguard/wireguard-secrets.yaml
hooks:
preInstall: &wireguard-pv wireguard/homelab/persistenceVolume.yaml
preUpgrade: *wireguard-pv
##########
# Backup #
##########
restic:
namespace: restic
group: uses-nfs
enabled: true
chart: ./restic/chart
version: 0.1.0
valuesFile: restic/restic-values.yaml
secretsFile: restic/restic-secrets.yaml