]> gitweb.fluxo.info Git - hydra.git/commitdiff
Import Borg key into nodes
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 23 May 2018 17:25:37 +0000 (14:25 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 23 May 2018 17:25:37 +0000 (14:25 -0300)
share/hydra/import-keys

index 692e5eb69fe6b3de13c9b78b62ce27c311c39276..59114bffe2114ba1d40408b24d3496bbcb96a050 100755 (executable)
@@ -122,6 +122,46 @@ EOF
   fi
 }
 
+# Import Borg key
+function hydra_import_keys_borg {
+  if [ "`facter fqdn`" != "$hostname" ]; then
+    echo "-----------------------------------------------------"
+    echo "Importing borg key at $hostname:/root/.borg/hydra/key..."
+    echo "-----------------------------------------------------"
+
+    echo "Creating folder structure at $hostname:/root/.borg..."
+    $HYDRA_CONNECT $hostname <<EOF
+    sudo mkdir -p        /root/.borg/hydra
+    sudo chown root.root /root/.borg
+    sudo chown root.root /root/.borg/hydra
+    sudo chmod 700       /root/.borg
+    sudo chmod 700       /root/.borg/hydra
+    sudo touch           /root/.borg/hydra/key
+    sudo chmod 600       /root/.borg/hydra/key
+EOF
+
+    echo "Importing borg key from keyringer to $hostname:/root/.borg/hydra/key..."
+    keyringer $HYDRA decrypt nodes/$hostname/borg/key | \
+      $HYDRA_CONNECT $hostname "cat - | sudo tee /root/.borg/hydra/key > /dev/null"
+  else
+    echo "-----------------------------------------------------"
+    echo "Importing borg key at $hostname:/root/.borg/hydra/key..."
+    echo "-----------------------------------------------------"
+
+    echo "Creating folder structure at $hostname:/root/.borg..."
+    sudo mkdir -p        /root/.borg/hydra
+    sudo chown root.root /root/.borg
+    sudo chown root.root /root/.borg/hydra
+    sudo chmod 700       /root/.borg
+    sudo chmod 700       /root/.borg/hydra
+    sudo touch           /root/.borg/hydra/key
+    sudo chmod 600       /root/.borg/hydra/key
+
+    echo "Importing borg key from keyringer to $hostname:/root/.borg/hydra/key..."
+    keyringer $HYDRA decrypt nodes/$hostname/borg/key | sudo tee /root/.borg/hydra/key > /dev/null
+  fi
+}
+
 # Command line arguments
 NODES="$*"
 
@@ -139,4 +179,7 @@ for node in $NODES; do
 
   # Import OpenSSH keypair
   hydra_import_keys_openssh
+
+  # Import Borg key
+  hydra_import_keys_borg
 done