From 6adae780c289d6c1e645da7b6c9f24b0bcfba7cd Mon Sep 17 00:00:00 2001
From: Todd Johnson <todd@toddejohnson.net>
Date: Fri, 22 Dec 2023 17:12:55 -0600
Subject: [PATCH] Attemp to add mc-backup rsync method to helm (#182)

---
 charts/minecraft/Chart.yaml                | 2 +-
 charts/minecraft/templates/deployment.yaml | 4 +++-
 charts/minecraft/values.schema.json        | 3 ++-
 charts/minecraft/values.yaml               | 2 +-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/charts/minecraft/Chart.yaml b/charts/minecraft/Chart.yaml
index 7884bf2a..0d5e8f38 100755
--- a/charts/minecraft/Chart.yaml
+++ b/charts/minecraft/Chart.yaml
@@ -1,6 +1,6 @@
 apiVersion: v1
 name: minecraft
-version: 4.12.0
+version: 4.13.0
 appVersion: SeeValues
 home: https://minecraft.net/
 description: Minecraft server
diff --git a/charts/minecraft/templates/deployment.yaml b/charts/minecraft/templates/deployment.yaml
index 07bf1f82..b4486724 100644
--- a/charts/minecraft/templates/deployment.yaml
+++ b/charts/minecraft/templates/deployment.yaml
@@ -96,11 +96,13 @@ spec:
 {{- template "minecraft.envMap" list "RCON_RETRY_INTERVAL" .Values.mcbackup.rconRetryInterval  }}
 {{- template "minecraft.envMap" list "EXCLUDES" .Values.mcbackup.excludes  }}
 {{- template "minecraft.envMap" list "BACKUP_METHOD" .Values.mcbackup.backupMethod  }}
-        {{- if or (eq .Values.mcbackup.backupMethod "tar") (eq .Values.mcbackup.backupMethod "rclone") }}
+        {{- if or (eq .Values.mcbackup.backupMethod "tar") (eq .Values.mcbackup.backupMethod "rclone") (eq .Values.mcbackup.backupMethod "rsync") }}
 {{- template "minecraft.envMap" list "DEST_DIR" .Values.mcbackup.destDir  }}
 {{- template "minecraft.envMap" list "LINK_LATEST" .Values.mcbackup.linkLatest  }}
+        {{- if ne .Values.mcbackup.backupMethod "rsync" }}
 {{- template "minecraft.envMap" list "TAR_COMPRESS_METHOD" .Values.mcbackup.compressMethod  }}
 {{- template "minecraft.envMap" list "ZSTD_PARAMETERS" .Values.mcbackup.zstdParameters  }}
+        {{- end }}    
         {{- if eq .Values.mcbackup.backupMethod "rclone" }}
 {{- template "minecraft.envMap" list "RCLONE_REMOTE" .Values.mcbackup.rcloneRemote  }}
 {{- template "minecraft.envMap" list "RCLONE_DEST_DIR" .Values.mcbackup.rcloneDestDir  }}
diff --git a/charts/minecraft/values.schema.json b/charts/minecraft/values.schema.json
index 94307dee..514221f1 100644
--- a/charts/minecraft/values.schema.json
+++ b/charts/minecraft/values.schema.json
@@ -184,7 +184,8 @@
                     "enum": [
                         "tar",
                         "restic",
-                        "rclone"
+                        "rclone",
+                        "rsync"
                     ]
                 },
                 "resticRepository": {
diff --git a/charts/minecraft/values.yaml b/charts/minecraft/values.yaml
index fb2d99f4..0fd3f886 100644
--- a/charts/minecraft/values.yaml
+++ b/charts/minecraft/values.yaml
@@ -445,7 +445,7 @@ mcbackup:
   # logs folder and cache (used by i.e. PaperMC server).
   excludes: "*.jar,cache,logs"
 
-  # backup methods, see https://github.com/itzg/docker-mc-backup e.g. tar, rclone, restic
+  # backup methods, see https://github.com/itzg/docker-mc-backup e.g. tar, rclone, restic, rsync
   backupMethod: tar
   # tar and rclone methods
   destDir: /backups