Compare commits
88 Commits
feature/he
...
main
Author | SHA1 | Date | |
---|---|---|---|
b97cbeaac2 | |||
8b4cbbf4f5 | |||
27a83f5ca5 | |||
0e29198d50 | |||
1936bb74bb | |||
9d7af20bac | |||
1bb00fe20d | |||
859bb219ff | |||
354dd43725 | |||
3b4cac980b | |||
7eb33ad706 | |||
45b96e71f4 | |||
5a8d748d6c | |||
03f43b6020 | |||
3477257d1e | |||
6bea714e28 | |||
71141ff966 | |||
93e0879bc9 | |||
16afeded5d | |||
017d3e8ac2 | |||
f48d9a57cb | |||
4929b1542b | |||
5c5efe0b73 | |||
48bd840f39 | |||
28d719790c | |||
1522e18210 | |||
4aa453d7a6 | |||
6dc14ccd7d | |||
2bd4b554d6 | |||
8e92382784 | |||
0c38b4219a | |||
dde9fe86c3 | |||
1fc7e6a511 | |||
b30a4d51d9 | |||
606745fd3e | |||
48ef98aaea | |||
3daf14f528 | |||
54f58a8db5 | |||
1d20b9b633 | |||
244aa9ecb2 | |||
8cb00c4c5b | |||
90fc3e74e6 | |||
ac96a454c5 | |||
8d4334f893 | |||
8409e5852a | |||
0ef2778115 | |||
1fd16b09fd | |||
c96bd4fca4 | |||
6999dcbf83 | |||
e1a838933a | |||
4ca077240d | |||
0b375b4092 | |||
a999b38733 | |||
403d4be680 | |||
5b028638af | |||
d88fd862e0 | |||
7bc03b9660 | |||
32d22ae7e5 | |||
e58ca6e323 | |||
5bc0939f63 | |||
b880cbbfed | |||
a261e063f4 | |||
6c3d4e522f | |||
f5ec343738 | |||
df58f85de3 | |||
a464fa6f7b | |||
71d1f4d111 | |||
f1d3c8df11 | |||
8059d30b45 | |||
70d07e2e18 | |||
59aad770da | |||
bb70970e38 | |||
48bbfd28de | |||
b61171c21c | |||
ad310ae8d3 | |||
01f6d3a5d2 | |||
0c87d7c7ab | |||
52772ce8d1 | |||
e2765325fc | |||
9074dab74e | |||
4cc23e7acb | |||
e39863275f | |||
4ebc0b1069 | |||
0688846033 | |||
75a7f6b9b7 | |||
1ead67d10b | |||
451a992d8d | |||
37f3da0f9d |
@ -10,7 +10,7 @@ resources:
|
||||
images:
|
||||
- name: adguard/adguardhome
|
||||
newName: adguard/adguardhome
|
||||
newTag: v0.107.61
|
||||
newTag: v0.107.62
|
||||
|
||||
namespace: adguard
|
||||
|
||||
|
@ -12,4 +12,4 @@ namespace: audiobookshelf
|
||||
images:
|
||||
- name: audiobookshelf
|
||||
newName: ghcr.io/advplyr/audiobookshelf
|
||||
newTag: "2.20.0"
|
||||
newTag: "2.24.0"
|
||||
|
@ -12,4 +12,4 @@ namespace: code-server
|
||||
images:
|
||||
- name: code-server
|
||||
newName: ghcr.io/coder/code-server
|
||||
newTag: 4.99.3-fedora
|
||||
newTag: 4.100.3-fedora
|
||||
|
@ -13,4 +13,4 @@ namespace: files
|
||||
images:
|
||||
- name: ocis
|
||||
newName: owncloud/ocis
|
||||
newTag: "7.1.2"
|
||||
newTag: "7.1.3"
|
||||
|
@ -13,4 +13,4 @@ resources:
|
||||
images:
|
||||
- name: actualbudget
|
||||
newName: actualbudget/actual-server
|
||||
newTag: 25.4.0
|
||||
newTag: 25.5.0
|
||||
|
@ -17,5 +17,5 @@ helmCharts:
|
||||
- releaseName: grafana
|
||||
name: grafana
|
||||
repo: https://grafana.github.io/helm-charts
|
||||
version: 8.12.1
|
||||
version: 9.2.2
|
||||
valuesFile: grafana.values.yaml
|
||||
|
@ -15,4 +15,4 @@ resources:
|
||||
images:
|
||||
- name: homeassistant
|
||||
newName: homeassistant/home-assistant
|
||||
newTag: "2025.4"
|
||||
newTag: "2025.5"
|
||||
|
@ -15,16 +15,16 @@ namespace: immich
|
||||
helmCharts:
|
||||
- name: immich
|
||||
releaseName: immich
|
||||
version: 0.9.2
|
||||
version: 0.9.3
|
||||
valuesFile: values.yaml
|
||||
repo: https://immich-app.github.io/immich-charts
|
||||
|
||||
|
||||
images:
|
||||
- name: ghcr.io/immich-app/immich-machine-learning
|
||||
newTag: v1.130.3
|
||||
newTag: v1.132.3
|
||||
- name: ghcr.io/immich-app/immich-server
|
||||
newTag: v1.130.3
|
||||
newTag: v1.132.3
|
||||
|
||||
|
||||
patches:
|
||||
|
10
apps/immich/renovate.json
Normal file
10
apps/immich/renovate.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"packageRules": [
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"matchPackagePrefixes": ["ghcr.io/immich-app/"],
|
||||
"groupName": "Immich containers",
|
||||
"groupSlug": "immich-app-images"
|
||||
}
|
||||
]
|
||||
}
|
@ -14,4 +14,4 @@ namespace: kitchenowl
|
||||
images:
|
||||
- name: kitchenowl
|
||||
newName: tombursch/kitchenowl
|
||||
newTag: v0.6.11
|
||||
newTag: v0.6.15
|
||||
|
@ -13,4 +13,4 @@ namespace: linkding
|
||||
images:
|
||||
- name: linkding
|
||||
newName: sissbruecker/linkding
|
||||
newTag: "1.39.1"
|
||||
newTag: "1.40.0"
|
||||
|
@ -1,3 +1,11 @@
|
||||
## Setup
|
||||
Because minecraft is quite sensitive to io performance, we want the data to be stored on a local disk. But hostpath is not well supported in talos (and is not persistent), so we use an ephemeral volume instead. In order to do this, we create an emptyDir volume and mount it to the pod.
|
||||
|
||||
We use an initContaier that copies the data to the local storage. Afterwards, copying from the local storage back to the persistent storage is handled by a preStop lifecycle event.
|
||||
|
||||
This way, we can have the best of both worlds: fast local storage and persistent storage.
|
||||
|
||||
|
||||
## Sending a command
|
||||
```
|
||||
kubectl exec -it -n minecraft deploy/minecraft-server -- /bin/bash
|
||||
|
@ -9,6 +9,16 @@ spec:
|
||||
app: minecraft-server
|
||||
spec:
|
||||
restartPolicy: OnFailure
|
||||
initContainers:
|
||||
- name: copy-data-to-local
|
||||
image: alpine
|
||||
command: ["/bin/sh"]
|
||||
args: ["-c", "cp -r /data/* /local-data/"]
|
||||
volumeMounts:
|
||||
- name: local-data
|
||||
mountPath: /local-data
|
||||
- name: minecraft-data
|
||||
mountPath: /data
|
||||
containers:
|
||||
- name: minecraft-server
|
||||
image: minecraft
|
||||
@ -49,12 +59,34 @@ spec:
|
||||
value: "false"
|
||||
- name: ENABLE_AUTOSTOP
|
||||
value: "true"
|
||||
|
||||
- name: AUTOSTOP_TIMEOUT_EST
|
||||
value: "1800" # stop 30 min after last disconnect
|
||||
volumeMounts:
|
||||
- name: minecraft-data
|
||||
- name: local-data
|
||||
mountPath: /data
|
||||
|
||||
- name: copy-data-to-persistent
|
||||
image: rsync
|
||||
command: ["/bin/sh"]
|
||||
# args: ["-c", "sleep infinity"]
|
||||
args: ["/run-rsync.sh"]
|
||||
volumeMounts:
|
||||
- name: local-data
|
||||
mountPath: /local-data
|
||||
- name: minecraft-data
|
||||
mountPath: /persistent-data
|
||||
- name: rsync-config
|
||||
mountPath: /run-rsync.sh
|
||||
subPath: run-rsync.sh
|
||||
|
||||
|
||||
volumes:
|
||||
- name: minecraft-data
|
||||
persistentVolumeClaim:
|
||||
claimName: minecraft-data
|
||||
- name: local-data
|
||||
emptyDir: {}
|
||||
- name: rsync-config
|
||||
configMap:
|
||||
name: rsync-config
|
||||
defaultMode: 0777
|
||||
|
@ -8,6 +8,7 @@ resources:
|
||||
- pvc.yaml
|
||||
- job.yaml
|
||||
- service.yaml
|
||||
- rsync.configmap.yaml
|
||||
- curseforge.sealedsecret.yaml
|
||||
|
||||
|
||||
@ -15,3 +16,9 @@ images:
|
||||
- name: minecraft
|
||||
newName: itzg/minecraft-server
|
||||
newTag: java21
|
||||
- name: alpine
|
||||
newName: alpine
|
||||
newTag: "3.21"
|
||||
- name: rsync
|
||||
newName: eeacms/rsync
|
||||
newTag: "2.6"
|
||||
|
42
apps/minecraft/rsync.configmap.yaml
Normal file
42
apps/minecraft/rsync.configmap.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: rsync-config
|
||||
data:
|
||||
run-rsync.sh: |-
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
echo "Starting rsync..."
|
||||
|
||||
no_change_count=0
|
||||
|
||||
while [ "$no_change_count" -lt 3 ]; do
|
||||
# use the i flag to get per line output of each change
|
||||
rsync_output=$(rsync -avzi --delete /local-data/ /persistent-data/)
|
||||
# echo "$rsync_output"
|
||||
|
||||
# in this format rsync outputs at least 4 lines:
|
||||
# ---
|
||||
# sending incremental file list
|
||||
#
|
||||
# sent 145,483 bytes received 717 bytes 26,581.82 bytes/sec
|
||||
# total size is 708,682,765 speedup is 4,847.35
|
||||
# ---
|
||||
# even though a non-zero number of bytes is sent, no changes were made
|
||||
|
||||
line_count=$(echo "$rsync_output" | wc -l)
|
||||
|
||||
if [ "$line_count" -eq 4 ]; then
|
||||
echo "Rsync output was: $rsync_output"
|
||||
no_change_count=$((no_change_count + 1))
|
||||
echo "No changes detected. Incrementing no_change_count to $no_change_count."
|
||||
else
|
||||
no_change_count=0
|
||||
echo "Changes detected. Resetting no_change_count to 0."
|
||||
fi
|
||||
|
||||
echo "Rsync completed. Sleeping for 10 minutes..."
|
||||
sleep 600
|
||||
done
|
||||
|
||||
echo "No changes detected for 3 consecutive runs. Exiting."
|
@ -14,14 +14,14 @@ namespace: paperless
|
||||
images:
|
||||
- name: paperless
|
||||
newName: ghcr.io/paperless-ngx/paperless-ngx
|
||||
newTag: "2.15.3"
|
||||
newTag: "2.16.2"
|
||||
|
||||
|
||||
helmCharts:
|
||||
- name: redis
|
||||
releaseName: redis
|
||||
repo: https://charts.bitnami.com/bitnami
|
||||
version: 20.13.0
|
||||
version: 21.1.11
|
||||
valuesInline:
|
||||
auth:
|
||||
enabled: false
|
||||
|
48
apps/stump/deployment.yaml
Normal file
48
apps/stump/deployment.yaml
Normal file
@ -0,0 +1,48 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: stump
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: stump
|
||||
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: stump
|
||||
|
||||
spec:
|
||||
containers:
|
||||
- name: stump
|
||||
image: stump
|
||||
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
|
||||
ports:
|
||||
- containerPort: 10801
|
||||
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: stump-config
|
||||
|
||||
volumeMounts:
|
||||
- name: stump-data
|
||||
mountPath: /data
|
||||
- name: stump-config
|
||||
mountPath: /config
|
||||
|
||||
volumes:
|
||||
- name: stump-config
|
||||
persistentVolumeClaim:
|
||||
claimName: stump-config
|
||||
- name: stump-data
|
||||
persistentVolumeClaim:
|
||||
claimName: stump-data
|
17
apps/stump/ingress.yaml
Normal file
17
apps/stump/ingress.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: stump-ingressroute
|
||||
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`stump.kluster.moll.re`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: stump-web
|
||||
port: 10801
|
||||
|
||||
tls:
|
||||
certResolver: default-tls
|
17
apps/stump/kustomization.yaml
Normal file
17
apps/stump/kustomization.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- pvc.yaml
|
||||
- stump-config.configmap.yaml
|
||||
- deployment.yaml
|
||||
- service.yaml
|
||||
- ingress.yaml
|
||||
|
||||
namespace: stump
|
||||
|
||||
images:
|
||||
- name: stump
|
||||
newName: aaronleopold/stump
|
||||
newTag: "0.0.10"
|
4
apps/stump/namespace.yaml
Normal file
4
apps/stump/namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: placeholder
|
23
apps/stump/pvc.yaml
Normal file
23
apps/stump/pvc.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: stump-data
|
||||
spec:
|
||||
storageClassName: "nfs-client"
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: stump-config
|
||||
spec:
|
||||
storageClassName: "nfs-client"
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
10
apps/stump/service.yaml
Normal file
10
apps/stump/service.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: stump-web
|
||||
spec:
|
||||
selector:
|
||||
app: stump
|
||||
ports:
|
||||
- port: 10801
|
||||
targetPort: 10801
|
8
apps/stump/stump-config.configmap.yaml
Normal file
8
apps/stump/stump-config.configmap.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: stump-config
|
||||
data:
|
||||
STUMP_ENABLE_UPLOAD: "true"
|
||||
STUMP_CONFIG_DIR: /config
|
||||
ENABLE_KOREADER_SYNC: "true"
|
@ -7,4 +7,5 @@ data:
|
||||
# switch to annotation based resource tracking as per
|
||||
# https://argo-cd.readthedocs.io/en/stable/user-guide/resource_tracking/
|
||||
application.resourceTrackingMethod: annotation+label
|
||||
# disable admin user - use oidc
|
||||
admin.enabled: "false"
|
||||
|
@ -4,14 +4,12 @@ kind: Kustomization
|
||||
namespace: argocd
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.3/manifests/install.yaml
|
||||
- https://github.com/argoproj/argo-cd//manifests/cluster-install?timeout=120&ref=v2.13.3
|
||||
- ingress.yaml
|
||||
- argo-apps.application.yaml
|
||||
- bootstrap-repo.sealedsecret.yaml
|
||||
- argocd-oauth.sealedsecret.yaml
|
||||
- servicemonitor.yaml
|
||||
# DID NOT FIX RELOAD LOOPS
|
||||
# - github.com/argoproj/argo-cd/examples/k8s-rbac/argocd-server-applications?ref=master
|
||||
|
||||
|
||||
patches:
|
||||
|
@ -27,6 +27,6 @@ images:
|
||||
helmCharts:
|
||||
- name: authelia
|
||||
releaseName: authelia
|
||||
version: 0.10.4
|
||||
version: 0.10.10
|
||||
repo: https://charts.authelia.com
|
||||
valuesFile: authelia.values.yaml
|
||||
|
@ -11,7 +11,7 @@ resources:
|
||||
images:
|
||||
- name: octodns
|
||||
newName: octodns/octodns # has all plugins
|
||||
newTag: "2025.04"
|
||||
newTag: "2025.05"
|
||||
|
||||
- name: git
|
||||
newName: alpine/git
|
||||
|
@ -170,5 +170,7 @@ postgresql:
|
||||
enabled: false
|
||||
postgresql-ha:
|
||||
enabled: false
|
||||
redis-cluster:
|
||||
valkey:
|
||||
enabled: false
|
||||
valkey-cluster:
|
||||
enabled: false
|
||||
|
@ -23,6 +23,6 @@ helmCharts:
|
||||
- name: gitea
|
||||
namespace: gitea # needs to be set explicitly for svc to be referenced correctly
|
||||
releaseName: gitea
|
||||
version: 11.0.1
|
||||
version: 12.0.0
|
||||
valuesFile: gitea.values.yaml
|
||||
repo: https://dl.gitea.io/charts/
|
||||
|
@ -6,7 +6,7 @@ namespace: monitoring
|
||||
resources:
|
||||
- namespace.yaml
|
||||
# prometheus-operator crds
|
||||
- https://github.com/prometheus-operator/prometheus-operator?ref=v0.82.0
|
||||
- https://github.com/prometheus-operator/prometheus-operator?ref=v0.82.2
|
||||
# single prometheus instance with a thanos sidecar
|
||||
- prometheus.yaml
|
||||
- thanos-store.statefulset.yaml
|
||||
@ -24,10 +24,10 @@ helmCharts:
|
||||
- name: loki
|
||||
releaseName: loki
|
||||
repo: https://grafana.github.io/helm-charts
|
||||
version: 6.29.0
|
||||
version: 6.30.1
|
||||
valuesFile: loki.values.yaml
|
||||
- name: prometheus-node-exporter
|
||||
releaseName: prometheus-node-exporter
|
||||
repo: https://prometheus-community.github.io/helm-charts
|
||||
version: 4.45.2
|
||||
version: 4.46.1
|
||||
valuesFile: prometheus-node-exporter.values.yaml
|
||||
|
@ -9,6 +9,6 @@ namespace: pg-ha
|
||||
helmCharts:
|
||||
- name: cloudnative-pg
|
||||
releaseName: pg-controller
|
||||
version: 0.23.2
|
||||
version: 0.24.0
|
||||
valuesFile: values.yaml
|
||||
repo: https://cloudnative-pg.io/charts/
|
||||
|
@ -11,4 +11,4 @@ resources:
|
||||
images:
|
||||
- name: renovate/renovate
|
||||
newName: renovate/renovate
|
||||
newTag: "39"
|
||||
newTag: "40"
|
||||
|
@ -13,6 +13,6 @@ namespace: traefik-system
|
||||
helmCharts:
|
||||
- name: traefik
|
||||
releaseName: traefik
|
||||
version: 35.0.1
|
||||
version: 35.4.0
|
||||
valuesFile: values.yaml
|
||||
repo: https://traefik.github.io/charts
|
||||
|
@ -41,5 +41,6 @@ resources:
|
||||
- paperless/
|
||||
- recipes/
|
||||
- rss/
|
||||
- stump/
|
||||
- todos/
|
||||
- whoami/
|
||||
|
18
kluster-deployments/stump/application.yaml
Normal file
18
kluster-deployments/stump/application.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: stump-application
|
||||
|
||||
spec:
|
||||
project: apps
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: stump
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
sources:
|
||||
- repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
|
||||
targetRevision: main
|
||||
path: apps/stump
|
4
kluster-deployments/stump/kustomization.yaml
Normal file
4
kluster-deployments/stump/kustomization.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- application.yaml
|
@ -1,4 +1,14 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"dependencyDashboard": true
|
||||
"dependencyDashboard": true,
|
||||
"extends": [
|
||||
"local>remoll/k3s-infra//apps/immich/renovate.json"
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchUpdateTypes": ["patch"],
|
||||
"automerge": true,
|
||||
"ignoreTests": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user