guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: hydra: berlin: Run rsync in daemon mode.


From: Ludovic Courtès
Subject: 02/02: hydra: berlin: Run rsync in daemon mode.
Date: Tue, 21 Dec 2021 10:38:29 -0500 (EST)

civodul pushed a commit to branch master
in repository maintenance.

commit 8ed8a5c32fc0cc7812ff713011bb4bd0b731e121
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Tue Dec 21 16:33:09 2021 +0100

    hydra: berlin: Run rsync in daemon mode.
    
    * hydra/berlin.scm (%rsync-modules-for-backup): New variable.
    <services>: Add 'rsync-service-type' instance.
    * hydra/website.scm (website-services): Add comment about the Cuirass
    and GWL web sites.
---
 hydra/berlin.scm  | 36 +++++++++++++++++++++++++++++++++++-
 hydra/website.scm |  2 ++
 2 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/hydra/berlin.scm b/hydra/berlin.scm
index 16fb42c..3281f19 100644
--- a/hydra/berlin.scm
+++ b/hydra/berlin.scm
@@ -16,7 +16,7 @@
              (srfi srfi-1)
              (ice-9 match))
 (use-service-modules avahi base databases dns monitoring networking admin
-                     shepherd ssh vpn)
+                     rsync shepherd ssh vpn)
 (use-package-modules admin base certs databases emacs linux mail monitoring
                      ssh tls tor vim package-management
                      version-control
@@ -139,6 +139,33 @@ Happy hacking!\n"))
        (find-files %build-node-key-directory "\\.pub$")))
 
 
+;;;
+;;; Backups.
+;;;
+
+(define %rsync-modules-for-backup
+  ;; Directories exported so they can be backed up on another machine on the
+  ;; project's VPN.
+  (list (rsync-module
+         (name "web-pdf")
+         (file-name "/srv/guix-pdfs"))
+        (rsync-module
+         (name "web-video")
+         (file-name "/srv/videos"))
+        (rsync-module
+         (name "web-audio")
+         (file-name "/srv/audio"))
+        (rsync-module
+         (name "web-cuirass")
+         (file-name "/src/cuirass-releases"))
+        (rsync-module
+         (name "disarchive")
+         (file-name "/gnu/disarchive"))
+        (rsync-module
+         (name "substitutes")
+         (file-name "/var/cache/guix/publish"))))
+
+
 (operating-system
   (host-name "berlin.guix.gnu.org")
   (timezone "Europe/Berlin")
@@ -255,6 +282,13 @@ Happy hacking!\n"))
                        (directory "/gnu/disarchive")
                        (cuirass-url "http://localhost:8081";)))
 
+             ;; Rsync service for backup purposes.  Listen only the VPN
+             ;; address.
+             (service rsync-service-type
+                      (rsync-configuration
+                       (address "10.0.0.1")
+                       (modules %rsync-modules-for-backup)))
+
              ;; DNS
              (service knot-service-type
                       (knot-configuration
diff --git a/hydra/website.scm b/hydra/website.scm
index 51136b8..5a42a86 100644
--- a/hydra/website.scm
+++ b/hydra/website.scm
@@ -53,6 +53,8 @@
               '(("GUIX_MANUAL" . "guix-cookbook")
                 ("GUIX_WEB_SITE_URL" . "/")))))
 
+   ;; TODO: Add the manuals of Cuirass and GWL.
+
    ;; The bootstrappable.org web site.
    (service static-web-site-service-type
             (static-web-site-configuration



reply via email to

[Prev in Thread] Current Thread [Next in Thread]