From 2d23bbfab09e863f1e0ec209497ca18f988b9621 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Radoslav=20Bod=C3=B3?= <bodik@cesnet.cz>
Date: Mon, 25 Mar 2024 13:42:14 +0100
Subject: [PATCH] restic: init

---
 rwm.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/rwm.py b/rwm.py
index bc5e06e..86bfa76 100755
--- a/rwm.py
+++ b/rwm.py
@@ -107,6 +107,17 @@ class RWM:
         }
         return subrun(["rclone"] + args, env=env, check=False).returncode
 
+    def restic_cmd(self, args):
+        env = {
+            "HOME": os.environ["HOME"],
+            "PATH": os.environ["PATH"],
+            "AWS_ACCESS_KEY_ID": self.config["S3_ACCESS_KEY"],
+            "AWS_SECRET_ACCESS_KEY": self.config["S3_SECRET_KEY"],
+            "RESTIC_PASSWORD": self.config["RES_PASSWORD"],
+            "RESTIC_REPOSITORY": f"s3:{self.config['S3_ENDPOINT_URL']}/{self.config['RES_BUCKET']}",
+        }
+        #--one-file-system
+        return subrun(["restic"] + args, env=env, check=False).returncode
 
 def main(argv=None, dict_config=None):
     """main"""
@@ -121,6 +132,8 @@ def main(argv=None, dict_config=None):
     rc_cmd_parser.add_argument("cmd_args", nargs="*")
     rcc_cmd_parser = subparsers.add_parser("rcc", help="rclone command with crypt overlay")
     rcc_cmd_parser.add_argument("cmd_args", nargs="*")
+    res_cmd_parser = subparsers.add_parser("res", help="restic command")
+    res_cmd_parser.add_argument("cmd_args", nargs="*")
 
     args = parser.parse_args(argv)
 
@@ -138,6 +151,8 @@ def main(argv=None, dict_config=None):
         return rwm.rclone_cmd(args.cmd_args)
     if args.command == "rcc":
         return rwm.rclone_crypt_cmd(args.cmd_args)
+    if args.command == "res":
+        return rwm.restic_cmd(args.cmd_args)
 
     return 0
 
-- 
GitLab