From 7889898acbf7023081a23974ac13aafd4949498b Mon Sep 17 00:00:00 2001
From: Sébastien Dailly <sebastien@chimrod.com>
Date: Wed, 24 Mar 2021 18:26:05 +0100
Subject: Update duply script for local restore

---
 duply/scripts/duplicity/duply_common.sh       | 10 ++++-
 duply/scripts/duplicity/gen_config_restore.sh | 54 +++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100755 duply/scripts/duplicity/gen_config_restore.sh

(limited to 'duply/scripts/duplicity')

diff --git a/duply/scripts/duplicity/duply_common.sh b/duply/scripts/duplicity/duply_common.sh
index a55bfd6..9e2ef66 100644
--- a/duply/scripts/duplicity/duply_common.sh
+++ b/duply/scripts/duplicity/duply_common.sh
@@ -30,7 +30,15 @@ read() {
 . ~/.config/ovh/duplicity-$(whoami).sh
 
 #Generate the configuration
-~/scripts/duplicity/gen_config_remote.sh "${JSON_CONF}"
+case $2 in 
+    restore)
+        export COLD_PATH=$(zenity --file-selection --directory --title="Chemin des sauvegardes")
+        ~/scripts/duplicity/gen_config_restore.sh "${JSON_CONF}"
+        ;;
+    *)
+        ~/scripts/duplicity/gen_config_remote.sh "${JSON_CONF}"
+        ;;
+esac
 
 TARGET="multi:${JSON_CONF}?mode=mirror&onfail=abort"
 
diff --git a/duply/scripts/duplicity/gen_config_restore.sh b/duply/scripts/duplicity/gen_config_restore.sh
new file mode 100755
index 0000000..19e1475
--- /dev/null
+++ b/duply/scripts/duplicity/gen_config_restore.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+if test "x${PCA_OS_REGION_NAME}" = x; then
+  PCA_OS_REGION_NAME=${OS_REGION_NAME}
+fi
+
+if test "x${HOT_OS_REGION_NAME}" = x; then
+  HOT_OS_REGION_NAME=${OS_REGION_NAME}
+fi
+
+envsubst > $1 << EOF
+[
+    {
+        "description": "Cold storage",
+        "url": "file://${COLD_PATH}",
+        "prefixes": ["cold_"]
+    },
+    {
+        "description": "Hot storage",
+        "url": "swift://${STORAGE_NAME}_indexes",
+        "env": [
+            {
+                "name": "SWIFT_AUTHURL",
+                "value": "${OS_AUTH_URL}"
+            },
+            {
+                "name": "SWIFT_AUTHVERSION",
+                "value": "${OS_IDENTITY_API_VERSION}"
+            },
+            {
+                "name": "SWIFT_PROJECT_DOMAIN_NAME",
+                "value": "${OS_PROJECT_DOMAIN_NAME}"
+            },
+            {
+                "name": "SWIFT_TENANTID",
+                "value": "${OS_TENANT_ID}"
+            },
+            {
+                "name": "SWIFT_USERNAME",
+                "value": "${OS_USERNAME}"
+            },
+            {
+                "name": "SWIFT_PASSWORD",
+                "value": "${OS_PASSWORD}"
+            },
+            {
+                "name": "SWIFT_REGIONNAME",
+                "value": "${HOT_OS_REGION_NAME}"
+            }
+        ],
+        "prefixes": ["hot_"]
+    }
+]
+EOF
-- 
cgit v1.2.3