Stage separate Minecraft GitOps applications without starting game pods

This commit is contained in:
feedc0de
2026-10-21 12:57:18 +02:00
parent cebd66fc00
commit 877af8496c
5 changed files with 156 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Do not enable until the byobu server is stopped.
server:
enabled: false
nodeSelector:
kubernetes.io/hostname: arschrock
data:
hostPath: /home/feedc0de/ATM10
service:
type: LoadBalancer
annotations:
metallb.io/address-pool: default
mikrotik.brunner.ninja/router: newgw
mikrotik.brunner.ninja/forwardings: '[{"name":"tcp","servicePort":"minecraft","dstAddressList":"WANs"}]'
additionalServices:
arschrock:
spec:
type: ClusterIP
externalIPs:
- 10.12.4.170
- 192.168.0.2
+42
View File
@@ -0,0 +1,42 @@
# Stage PostgreSQL first. Enable the game and Dynmap only after the byobu
# server is stopped and a final host database dump has been restored.
server:
enabled: false
nodeSelector:
kubernetes.io/hostname: arschrock
data:
hostPath: /home/feedc0de/mcserver
service:
type: LoadBalancer
annotations:
metallb.io/address-pool: default
mikrotik.brunner.ninja/router: newgw
mikrotik.brunner.ninja/forwardings: '[{"name":"tcp","servicePort":"minecraft","dstAddressList":"WANs"}]'
additionalServices:
arschrock:
spec:
type: ClusterIP
externalIPs:
- 10.12.4.170
- 192.168.0.2
dynmap:
route:
enabled: false
host: brunner.ninja
postgresql:
enabled: true
auth:
username: minecraft
database: minecraft
existingSecret: paper-postgres
secretKeys:
adminPasswordKey: postgres-password
userPasswordKey: database-password
primary:
persistence:
storageClass: rook-ceph-block-ec
size: 8Gi
persistentVolumeClaimRetentionPolicy:
enabled: true
whenDeleted: Retain
whenScaled: Retain
+27
View File
@@ -0,0 +1,27 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: minecraft-atm10
namespace: argocd
spec:
project: minecraft
sources:
- repoURL: https://brunner.ninja/charts
chart: minecraft-atm10
targetRevision: 6.6.0-0
helm:
releaseName: atm10
valueFiles: [$values/apps/minecraft-atm10/values.yaml]
- repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
targetRevision: main
ref: values
destination:
server: https://kubernetes.default.svc
namespace: atm10
syncPolicy:
automated:
enabled: true
prune: false
selfHeal: true
syncOptions:
- CreateNamespace=true
+27
View File
@@ -0,0 +1,27 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: minecraft-paper
namespace: argocd
spec:
project: minecraft
sources:
- repoURL: https://brunner.ninja/charts
chart: minecraft-paper
targetRevision: 26.3.166-0
helm:
releaseName: paper
valueFiles: [$values/apps/minecraft-paper/values.yaml]
- repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
targetRevision: main
ref: values
destination:
server: https://kubernetes.default.svc
namespace: mcserver
syncPolicy:
automated:
enabled: true
prune: false
selfHeal: true
syncOptions:
- CreateNamespace=true
+40
View File
@@ -0,0 +1,40 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: minecraft
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "-1"
spec:
description: Separately versioned Minecraft servers and their private runtime state
sourceRepos:
- https://brunner.ninja/charts
- https://code.brunner.ninja/feedc0de/homelab-gitops.git
destinations:
- namespace: atm10
server: https://kubernetes.default.svc
- namespace: mcserver
server: https://kubernetes.default.svc
namespaceResourceWhitelist:
- group: ""
kind: ConfigMap
- group: ""
kind: PersistentVolumeClaim
- group: ""
kind: Service
- group: ""
kind: ServiceAccount
- group: apps
kind: Deployment
- group: apps
kind: StatefulSet
- group: networking.k8s.io
kind: NetworkPolicy
- group: policy
kind: PodDisruptionBudget
- group: monitoring.coreos.com
kind: ServiceMonitor
- group: traefik.io
kind: IngressRoute
- group: traefik.io
kind: Middleware