[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