From 51acbbd54ff1812f3f99b350098f94792bfe2a8d Mon Sep 17 00:00:00 2001 From: Danny Bessems Date: Sat, 7 Feb 2026 16:48:48 +1100 Subject: [PATCH] BedrockServerManager++;Upgrade ArgoCD --- .../_namespace-bedrockservermanager.yml | 4 ++ .../application-bedrockservermanager.yaml | 18 ++++++ .../deployment-bedrockservermanager.yaml | 38 +++++++++++++ .../ingressroute-bedrockservermanager.yaml | 17 ++++++ ...me-csismb-bedrockservermanager-config.yaml | 31 ++++++++++ ...lume-csismb-bedrockservermanager-data.yaml | 31 ++++++++++ ...im-csismb-bedrockservermanager-config.yaml | 12 ++++ ...laim-csismb-bedrockservermanager-data.yaml | 12 ++++ .../sealedsecret-smb-credentials.yaml | 14 +++++ .../service-bedrockservermanager-mc.yaml | 13 +++++ .../service-bedrockservermanager.yaml | 12 ++++ services/PVR/cronjob-RolloutRestart.yml | 57 ------------------- system/ArgoCD/application-argo-cd.yaml | 2 +- 13 files changed, 203 insertions(+), 58 deletions(-) create mode 100644 services/BedrockServerManager/_namespace-bedrockservermanager.yml create mode 100644 services/BedrockServerManager/application-bedrockservermanager.yaml create mode 100644 services/BedrockServerManager/deployment-bedrockservermanager.yaml create mode 100644 services/BedrockServerManager/ingressroute-bedrockservermanager.yaml create mode 100644 services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-config.yaml create mode 100644 services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-data.yaml create mode 100644 services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-config.yaml create mode 100644 services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-data.yaml create mode 100644 services/BedrockServerManager/sealedsecret-smb-credentials.yaml create mode 100644 services/BedrockServerManager/service-bedrockservermanager-mc.yaml create mode 100644 services/BedrockServerManager/service-bedrockservermanager.yaml delete mode 100644 services/PVR/cronjob-RolloutRestart.yml diff --git a/services/BedrockServerManager/_namespace-bedrockservermanager.yml b/services/BedrockServerManager/_namespace-bedrockservermanager.yml new file mode 100644 index 0000000..8d9b44a --- /dev/null +++ b/services/BedrockServerManager/_namespace-bedrockservermanager.yml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: bedrockservermanager diff --git a/services/BedrockServerManager/application-bedrockservermanager.yaml b/services/BedrockServerManager/application-bedrockservermanager.yaml new file mode 100644 index 0000000..3344b58 --- /dev/null +++ b/services/BedrockServerManager/application-bedrockservermanager.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: bedrockservermanager + namespace: argo-cd +spec: + destination: + namespace: bedrockservermanager + server: https://kubernetes.default.svc + project: default + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + sources: + - repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog + path: services/bedrockservermanager + targetRevision: HEAD diff --git a/services/BedrockServerManager/deployment-bedrockservermanager.yaml b/services/BedrockServerManager/deployment-bedrockservermanager.yaml new file mode 100644 index 0000000..e8d96ac --- /dev/null +++ b/services/BedrockServerManager/deployment-bedrockservermanager.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bedrockservermanager + namespace: bedrockservermanager + labels: + app: bedrockservermanager +spec: + replicas: 1 + selector: + matchLabels: + app: bedrockservermanager + template: + metadata: + labels: + app: bedrockservermanager + spec: + containers: + - name: bedrockservermanager + # image: ghcr.io/dmedina559/bedrock-server-manager:stable + image: ghcr.io/dmedina559/bedrock-server-manager:3.7.1a2 + ports: + - name: web + containerPort: 11325 + - name: mc + containerPort: 19132 + volumeMounts: + - mountPath: /root/.config/bedrock-server-manager + name: csismb-bedrockservermanager-config + - mountPath: /root/bedrock-server-manager + name: csismb-bedrockservermanager-data + volumes: + - name: csismb-bedrockservermanager-config + persistentVolumeClaim: + claimName: csismb-bedrockservermanager-config + - name: csismb-bedrockservermanager-data + persistentVolumeClaim: + claimName: csismb-bedrockservermanager-data diff --git a/services/BedrockServerManager/ingressroute-bedrockservermanager.yaml b/services/BedrockServerManager/ingressroute-bedrockservermanager.yaml new file mode 100644 index 0000000..b7e7348 --- /dev/null +++ b/services/BedrockServerManager/ingressroute-bedrockservermanager.yaml @@ -0,0 +1,17 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: bedrockservermanager + namespace: bedrockservermanager +spec: + entryPoints: + - websecure + routes: + - match: Host(`mc.spamasaurus.com`) + kind: Rule + services: + - name: bedrockservermanager + port: 11325 + middlewares: + - name: security-headers@file + # - name: compression@file diff --git a/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-config.yaml b/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-config.yaml new file mode 100644 index 0000000..d7b9ffd --- /dev/null +++ b/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-config.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: smb.csi.k8s.io + name: csismb-bedrockservermanager-config +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: csismb-bedrockservermanager-config + mountOptions: + - dir_mode=0777 + - file_mode=0777 + - nobrl + - cache=strict + - mfsymlinks + - noserverino # required to prevent data corruption + csi: + driver: smb.csi.k8s.io + # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} + # make sure this value is unique for every share in the cluster + volumeHandle: 192.168.154.195#bedrockservermanager#config + volumeAttributes: + source: //192.168.154.195/K3s.Volumes + subDir: bedrockservermanager/config + nodeStageSecretRef: + name: smb-credentials + namespace: bedrockservermanager diff --git a/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-data.yaml b/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-data.yaml new file mode 100644 index 0000000..0d87b76 --- /dev/null +++ b/services/BedrockServerManager/persistentvolume-csismb-bedrockservermanager-data.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + annotations: + pv.kubernetes.io/provisioned-by: smb.csi.k8s.io + name: csismb-bedrockservermanager-data +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + storageClassName: csismb-bedrockservermanager-data + mountOptions: + - dir_mode=0777 + - file_mode=0777 + - nobrl + - cache=strict + - mfsymlinks + - noserverino # required to prevent data corruption + csi: + driver: smb.csi.k8s.io + # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} + # make sure this value is unique for every share in the cluster + volumeHandle: 192.168.154.195#bedrockservermanager#data + volumeAttributes: + source: //192.168.154.195/K3s.Volumes + subDir: bedrockservermanager/data + nodeStageSecretRef: + name: smb-credentials + namespace: bedrockservermanager diff --git a/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-config.yaml b/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-config.yaml new file mode 100644 index 0000000..e61d443 --- /dev/null +++ b/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-config.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: csismb-bedrockservermanager-config + namespace: bedrockservermanager +spec: + accessModes: + - ReadWriteMany + storageClassName: csismb-bedrockservermanager-config + resources: + requests: + storage: 1Gi diff --git a/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-data.yaml b/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-data.yaml new file mode 100644 index 0000000..ab78102 --- /dev/null +++ b/services/BedrockServerManager/persistentvolumeclaim-csismb-bedrockservermanager-data.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: csismb-bedrockservermanager-data + namespace: bedrockservermanager +spec: + accessModes: + - ReadWriteMany + storageClassName: csismb-bedrockservermanager-data + resources: + requests: + storage: 1Gi diff --git a/services/BedrockServerManager/sealedsecret-smb-credentials.yaml b/services/BedrockServerManager/sealedsecret-smb-credentials.yaml new file mode 100644 index 0000000..7212a2c --- /dev/null +++ b/services/BedrockServerManager/sealedsecret-smb-credentials.yaml @@ -0,0 +1,14 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: smb-credentials + namespace: bedrockservermanager +spec: + encryptedData: + password: AgAUxKVMBkGZeLu1XablLg9UuP9Jj6Od7phWEhXzyEdT5UB6ZNRlmi07k0dUrT+IgVl7OGNyP1yVJQCrbWWOlNtOIUez3SNd4XqTrXg4TM7OpgewHEHTibexSZWhQ8QCOc/jpk6bVPBjaiOq02jmBocwakOhB56drojknr8CI5nD2xSgfAc4VIj1dmpzBn8a3SG7rBep0nKVifgFLaYdVSCURW/NEyG4TKMQpbFDHDL7BzN7Zpx3+kuzlrInSMRd+XfCsGOawvnLZERz5/WS1cc7iSmU4J5gV572yPcwwlw9DN3ewsANJ5oFr6gVjrPTS33bdXY2BNDTQMziLA+GyERhbmbPrz3z3bCCeqYv3hihNS6G35Z47hN1hUETHpjrS5HbbZ0e4RwThEHbt2lzjfVBGsrRCq3qZC4DFhFc+S7PP/pBO1c2UJ3YP4+Fbha72ZtZANh8xJH0HVbzuE4Ut7Lg88Iq9fCNJ6vLVuk4kHws8cvOLEEZBWaWkJcZ1RHpw/DUblHIZlg9htzeKMHFyRyT2qrqPF3XdQAYFHRTXXtn9gUefT8DhIYufsJbahg5qICoPwnS6fIPwoGCRTq03JI8MNeB/9qjRJrZT3LdgUtD2zMKEBqzvl6kJsl81dWhQZIsAuQMsC4DlUvpHj4+XL9QGkK8spQ7sV2U6yh37yCkvG+b+lOHjIANC0iXQOYwSkxApVJLgGfrQYSMf1qVL1Qe + username: AgBq8d65YBkZfjT9B0vbCJWu3D0xeA7aYCU4pj329I/0elD5OuFTrY4ZOLlbTMy6+wmhKN90DjpBWgjMkpc/NcRz8lnUE81W5OBL8bzQeOmGp/gwFBhpNcI8RxCBqaoi4616VApdKpj+qjD31ik215RvaKSIgX+mWtiqYgExhrDwWlOCW93fOwXE061FdIt4noUIbhRH7IzNX6S+irxNUEcaAPPn02hTSbwXvrHcVy7PP0lEmANGAbBmNzLZCQ0nBPDOZTceWEAQECTjI7xT94miTuYKhvdJ1afdC2TOQH2Pnq6m+OqCZABdXlsb3KRej1++mKDpIPScAwY5YdmkxYHg1Dqd818z0iaL6u62rCV9pWrjZM40BGVDaXiYKqlmS+X5hMYqFCF5dpgljaM6rBlj1ad0bvPFtgzjPXdF3bgalIR0xzfuVaxcOe7FU7wG/6XICaJ3ka3fxV0EuBBJ2zA4vvElCe/LLK0YbkgdznFh4LypE0wnvqtEoE90S8i5n6UifAaHKHkAuJ0f952bqxz4FEb3CFohlrWqZnml0j+JK/UJFG3ItFtnOJEuVq7+4YBNxS6TNrdD1KyQHqT1BFC7pGCk1r+TSM7AASwa1vFnHAMv9g0vpVpDlfT20rXewZxcg/9+E4R4o29RsuNqdL/mn7a4bm9u/+ll7IQSkwpVvkbw5HBGGebCRTJkAhAYL2j6noedeoc= + template: + metadata: + name: smb-credentials + namespace: bedrockservermanager + type: Opaque diff --git a/services/BedrockServerManager/service-bedrockservermanager-mc.yaml b/services/BedrockServerManager/service-bedrockservermanager-mc.yaml new file mode 100644 index 0000000..7303a12 --- /dev/null +++ b/services/BedrockServerManager/service-bedrockservermanager-mc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: bedrockservermanager-mc + namespace: bedrockservermanager +spec: + type: LoadBalancer + ports: + - protocol: UDP + name: mc + port: 19132 + selector: + app: bedrockservermanager diff --git a/services/BedrockServerManager/service-bedrockservermanager.yaml b/services/BedrockServerManager/service-bedrockservermanager.yaml new file mode 100644 index 0000000..9c2d32f --- /dev/null +++ b/services/BedrockServerManager/service-bedrockservermanager.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: bedrockservermanager + namespace: bedrockservermanager +spec: + ports: + - protocol: TCP + name: web + port: 11325 + selector: + app: bedrockservermanager diff --git a/services/PVR/cronjob-RolloutRestart.yml b/services/PVR/cronjob-RolloutRestart.yml deleted file mode 100644 index ea50910..0000000 --- a/services/PVR/cronjob-RolloutRestart.yml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kubectl-rolloutrestart - namespace: pvr ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: kubectl-rolloutrestart - namespace: pvr -rules: - - apiGroups: ["apps", "extensions"] - resources: ["deployments", "statefulsets"] - verbs: ["get", "list", "patch"] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: kubectl-rolloutrestart-pvr - namespace: pvr -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubectl-rolloutrestart -subjects: - - kind: ServiceAccount - name: kubectl-rolloutrestart - namespace: pvr ---- -apiVersion: batch/v1 -kind: CronJob -metadata: - name: kubectl-rolloutrestart - namespace: pvr -spec: - concurrencyPolicy: Forbid - failedJobsHistoryLimit: 1 - successfulJobsHistoryLimit: 1 - schedule: '30 2 * * *' - jobTemplate: - spec: - backoffLimit: 2 - activeDeadlineSeconds: 600 - template: - spec: - serviceAccountName: kubectl-rolloutrestart - restartPolicy: Never - containers: - - name: kubectl - image: bitnami/kubectl - command: - - '/bin/bash' - - '-c' - args: - - for workload in `kubectl get deployments -n pvr --no-headers | cut -d " " -f 1`; do kubectl rollout restart deployment -n pvr $workload; done; - for workload in `kubectl get statefulsets -n pvr --no-headers | cut -d " " -f 1`; do kubectl rollout restart statefulsets -n pvr $workload; done; diff --git a/system/ArgoCD/application-argo-cd.yaml b/system/ArgoCD/application-argo-cd.yaml index a0ce3fe..84c57ca 100644 --- a/system/ArgoCD/application-argo-cd.yaml +++ b/system/ArgoCD/application-argo-cd.yaml @@ -14,7 +14,7 @@ spec: targetRevision: HEAD - repoURL: https://argoproj.github.io/argo-helm chart: argo-cd - targetRevision: 9.1.9 + targetRevision: 9.3.7 helm: valueFiles: - $values/system/ArgoCD/values.yaml