about summary refs log tree commit diff
path: root/gn/services
diff options
context:
space:
mode:
Diffstat (limited to 'gn/services')
-rw-r--r--gn/services/bnw-container.scm2
-rw-r--r--gn/services/databases.scm5
-rw-r--r--gn/services/discourse.scm5
-rw-r--r--gn/services/genecup-container.scm3
-rw-r--r--gn/services/gitea-container.scm2
-rw-r--r--gn/services/monitoring.scm49
-rw-r--r--gn/services/pluto.scm3
7 files changed, 62 insertions, 7 deletions
diff --git a/gn/services/bnw-container.scm b/gn/services/bnw-container.scm
index 4309f75..723e063 100644
--- a/gn/services/bnw-container.scm
+++ b/gn/services/bnw-container.scm
@@ -84,7 +84,7 @@
   ;; We don't need any packages inside the container.
   (packages (list coreutils))
 
-  (services (list (service dhcp-client-service-type)
+  (services (list (service dhcp-service-type)
                   (service bnw-service-type
                            ;; The following is for testing:
                            ;(bnw-configuration
diff --git a/gn/services/databases.scm b/gn/services/databases.scm
index 4cbbb5e..fbdf39e 100644
--- a/gn/services/databases.scm
+++ b/gn/services/databases.scm
@@ -54,6 +54,8 @@
                  (default "/var/lib/virtuoso/virtuoso.lck"))
   (transaction-file virtuoso-configuration-transaction-file
                     (default "/var/lib/virtuoso/virtuoso.trx"))
+  (error-log-file virtuoso-configuration-error-log-file
+                  (default "/var/lib/virtuoso/virtuoso-errors.log"))
   (syslog virtuoso-configuration-syslog
           (default "0")))
 
@@ -116,10 +118,11 @@
                                       #$(virtuoso-configuration-http-server-ip config)
                                       #$(virtuoso-configuration-http-server-port config)))
                             (format port
-                                    "[Database]~%DatabaseFile = ~a~%LockFile = ~a~%TransactionFile = ~a~%Syslog = ~a~%"
+                                    "[Database]~%DatabaseFile = ~a~%LockFile = ~a~%TransactionFile = ~a~%ErrorLogFile = ~a~%Syslog = ~a~%"
                                     #$(virtuoso-configuration-database-file config)
                                     #$(virtuoso-configuration-lock-file config)
                                     #$(virtuoso-configuration-transaction-file config)
+                                    #$(virtuoso-configuration-error-log-file config)
                                     #$(virtuoso-configuration-syslog config))))))
              #:directory #$(virtuoso-configuration-state-directory config)
              #:user "virtuoso"
diff --git a/gn/services/discourse.scm b/gn/services/discourse.scm
index 0074c7b..feebb98 100644
--- a/gn/services/discourse.scm
+++ b/gn/services/discourse.scm
@@ -4,7 +4,8 @@
              (gn packages ruby)
              (guix modules)
              (guix records)
-             (ice-9 match))
+             (ice-9 match)
+             (gnu packages ruby-check))
 (use-service-modules networking shepherd web)
 (use-package-modules node ruby)
 
@@ -120,7 +121,7 @@
               (list node)
               %base-packages))
 
-  (services (list (service dhcp-client-service-type)
+  (services (list (service dhcp-service-type)
                   (service discourse-service-type
                            ;; The following is for testing:
                            ;(discourse-configuration
diff --git a/gn/services/genecup-container.scm b/gn/services/genecup-container.scm
index 42ad097..d61ed80 100644
--- a/gn/services/genecup-container.scm
+++ b/gn/services/genecup-container.scm
@@ -6,7 +6,8 @@
              (guix modules)
              (guix packages)
              (guix records)
-             (ice-9 match))
+             (ice-9 match)
+             ((gnu packages nss) #:select (nss-certs)))
 (use-service-modules shepherd)
 (use-package-modules certs compression)
 
diff --git a/gn/services/gitea-container.scm b/gn/services/gitea-container.scm
index 5e707ec..397e6fb 100644
--- a/gn/services/gitea-container.scm
+++ b/gn/services/gitea-container.scm
@@ -90,5 +90,5 @@
                   (id 998))
                 %base-groups))
 
-  (services (list (service dhcp-client-service-type)
+  (services (list (service dhcp-service-type)
                   (service gitea-service-type))))
diff --git a/gn/services/monitoring.scm b/gn/services/monitoring.scm
new file mode 100644
index 0000000..9475d31
--- /dev/null
+++ b/gn/services/monitoring.scm
@@ -0,0 +1,49 @@
+(define-module (gn services monitoring)
+  #:use-module (gnu)
+  #:use-module (gnu services shepherd)
+  #:use-module (gnu services databases)
+  #:use-module ((gn packages guile) #:select (guile-sheepdog))
+  #:use-module (guix gexp)
+  #:use-module (guix records)
+  #:use-module (ice-9 match)
+  #:export (guile-sheepdog-configuration
+	    guile-sheepdog-configuration?
+	    guile-sheepdog-configuration-settings-file
+	    guile-sheepdog-configuration-package
+	    guile-sheepdog-service-type))
+
+(define-record-type* <guile-sheepdog-configuration>
+  guile-sheepdog-configuration
+  make-guile-sheepdog-configuration
+  guile-sheepdog-configuration?
+  (settings-file guile-sheepdog-configuration-settings-file
+		 (default "/etc/conn.scm"))
+  (package guile-sheepdog-configuration-package (default guile-sheepdog)))
+
+(define (guile-sheepdog-gexp config)
+  (match-record config <guile-sheepdog-configuration> (settings-file package)
+    (program-file
+     "guile-sheepdog"
+     (with-imported-modules '((guix build utils))
+       #~(begin
+	   (use-modules (guix build utils))
+	   (invoke #$(file-append package "/bin/guile-sheepdog") #$settings-file))))))
+
+(define (guile-sheepdog-shepherd-service config)
+  (shepherd-service
+      (documentation "Run Sheepdog")
+      (provision '(guile-sheepdog))
+      (requirement '(networking redis))
+      (start #~(make-forkexec-constructor
+		(list #$(guile-sheepdog-gexp config))
+		#:log-file "/var/log/sheepdog.log"))
+      (stop #~(make-kill-destructor))))
+
+(define guile-sheepdog-service-type
+  (service-type
+   (name 'guile-sheepdog)
+   (description "Run sheepdog monitor")
+   (extensions
+    (list (service-extension shepherd-root-service-type
+                             (compose list guile-sheepdog-shepherd-service))))
+   (default-value (guile-sheepdog-configuration))))
diff --git a/gn/services/pluto.scm b/gn/services/pluto.scm
index 420e2cf..c6dc40f 100644
--- a/gn/services/pluto.scm
+++ b/gn/services/pluto.scm
@@ -4,7 +4,8 @@
              (gn packages julia)
              (guix modules)
              (guix records)
-             (ice-9 match))
+             (ice-9 match)
+             ((gnu packages nss) #:select (nss-certs)))
 (use-service-modules shepherd)
 (use-package-modules
   admin