]> gitweb.fluxo.info Git - hydra.git/commitdiff
Adding backup-restore-master
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 8 Mar 2014 21:41:23 +0000 (18:41 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 8 Mar 2014 21:41:23 +0000 (18:41 -0300)
TODO.md
share/hydractl/backup-restore-master [new file with mode: 0755]

diff --git a/TODO.md b/TODO.md
index a593e26cff0e649f828c552bec2d461f56231fb8..409f5246a7aa889fe451b5a1e3ef39c64a037677 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -6,10 +6,10 @@ Hydra
 
   - bootless: properly support `$subdevice` in parted or always use first device (like `/dev/sdb1`).
   - puppet-setup-stored: configure storeconfigs database.
+  - import-key: optional argument to import a non-default key (useful for backup restoration).
 
 Hydractl
 --------
 
   - provision: config parser using a custom function with `include` directive, avoiding `source`.
   - backup-restore-site: fix parameters
-  - puppet-initialize: initialize a master node from a backup
diff --git a/share/hydractl/backup-restore-master b/share/hydractl/backup-restore-master
new file mode 100755 (executable)
index 0000000..ecbb64c
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+# Restore master configuration and data into a master node.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public
+# License along with this program.  If not, see
+# <http://www.gnu.org/licenses/>.
+
+# Load
+source $APP_BASE/lib/hydra/functions || exit 1
+hydra_config_load
+
+# Command line arguments
+BASENAME="`basename $0`"
+
+# Parameters.
+HOST="$1"
+DOMAIN="`facter domain`"
+
+# TODO: check if keys and files exist
+
+hydractl backup-restore          $HOST rsync
+hydractl backup-restore-git      $HOST
+hydractl backup-restore-database $HOST puppet
+hydractl backup-restore-site     $HOST rsync admin
+hydractl backup-restore-puppet   $HOST
+hydractl backup-restore-nagios   $HOST
+hydractl backup-restore-munin    $HOST
+
+# Teardown
+echo "Now check the restoration process and cleanup keys and files by running:"
+echo "rm -rf /var/backups/remote/$BACKUP.$DOMAIN/restore/"
+echo "gpg --delete-secret-and-public-keys root@$BACKUO.$DOMAIN"