gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-deployment] 02/03: guix


From: gnunet
Subject: [GNUnet-SVN] [taler-deployment] 02/03: guix
Date: Sat, 04 Aug 2018 10:10:38 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository deployment.

commit b0b5e7ecc7cc6e61e35bef15f46c1e688d5c70ac
Author: Nils Gillmann <address@hidden>
AuthorDate: Sat Aug 4 08:10:15 2018 +0000

    guix
    
    Signed-off-by: Nils Gillmann <address@hidden>
---
 guix/config.scm | 110 +++++++++++++++++++++++---------------------------------
 1 file changed, 44 insertions(+), 66 deletions(-)

diff --git a/guix/config.scm b/guix/config.scm
index baef731..eb3eafa 100644
--- a/guix/config.scm
+++ b/guix/config.scm
@@ -2,10 +2,11 @@
 
 (use-modules (gnu)
              (guix)
-             (sysadmin people))
+             (sysadmin people)
+             (sysadmin services))
 (use-service-modules base networking mcron ssh mail
                      version-control databases admin
-                     web certbot)
+                     web certbot cgit)
 (use-package-modules admin linux ssh tls vim zile wget
                      ntp version-control)
 
@@ -13,39 +14,55 @@
 ;; FIXME: Create jobs.
 
 (define %sysadmins
-  ;; The sys-admins. TODO: More.
   (list (sysadmin (name "gillmann")
                   (full-name "Nils Gillmann")
                   (ssh-public-key (local-file "keys/ssh/ng0.pub")))
+        (sysadmin (name "dold")
+                  (ssh-public-key (local-file "keys/ssh/dold.pub")))
+        (sysadmin (name "stanisci")
+                  (ssh-public-key (local-file "keys/ssh/stanisci.pub")))
         (sysadmin (name "grothoff")
                   (full-name "Christian Grothoff")
                   (ssh-public-key (local-file "keys/ssh/grothoff.pub")))))
 
 ;;; /etc/aliases
-;; this takes the local (repository!) aliases file and copies it to 
/etc/aliases
-;; in the resulting OS.
+;; Takes the local aliases file contained in this repository (../etc/aliases)
+;; and copy it to "/etc/aliases" in the OS resulting from this config.
 (define %aliases-etc-service
   (simple-service 'etc-/etc/aliases-init
+                  activation-service-type
                   (with-imported-modules '((guix build utils))
                     #~(begin
                         (use-modules (guix build utils))
                         (copy-file #$(local-file "../etc/aliases")
                                    "/etc/aliases")))))
 
+;; TODO: Do we need more than this hook?
+(define %nginx-deploy-hook
+  (program-file "nginx-deploy-hook"
+                #~(let ((pid (call-with-input-file "/var/run/nginx/pid" read)))
+                    (kill pid SIGHUP))))
+
 ;;;
 ;;; The OS definition
 ;;;
 
 (operating-system
-  (host-name "bfh.taler.net")
+  ;; TODO: Hostname should be loaded from external file and be substituted,
+  ;; same for some other basic values.
+  (host-name "bfh.taler.net")  
   (timezone "Europe/Berlin")
   (locale "en_US.UTF-8")
 
   ;; bootloader
-  (bootloader (grub-configuration (target "/dev/sda")
-                                  (terminal-outputs '(console))))
+  (bootloader (bootloader-configuration
+               (bootloader grub-bootloader)
+               (target "/dev/sda")
+               (terminal-outputs '(console))))
   
   ;; file-systems
+  ;; TODO: Write functions for Hardware RAID
+  ;; TODO: /home should be on luks encrypted device
   ;; single-disk configuration.
   (file-systems (cons* (file-system
                          (device "my-root")
@@ -58,51 +75,41 @@
                          (mount-point "/home")
                          (type "ext4"))
                        %base-file-systems))
-  ;; FIXME: RAID? -> mapped-devices
-  ;; FIXME: RAID? -> Add kernel module!
-  ;; FIXME: /home should be on luks encrypted device
-
-  ;; Local admin account
-  ;; FIXME: Do we really need this?
-  ;; (users (cons (user-account
-  ;;               (name "local-admin")
-  ;;               (comment "Local admin")
-  ;;               (group "users")
-  ;;               (supplementary-groups '("wheel"))
-  ;;               (home-directory "/home/local-admin"))
-  ;;              %base-user-accounts))
-
-  (packages (append (map specification->package '("nvi" "mg" ;editors
+
+  (packages (append (map specification->package '("nvi" "mg" "emacs-no-x"
                                                   "openssh"
-                                                  ;; GNUnet core dependencies
-                                                  ;; FIXME: better would be to 
read gnunet-inputs and -native-inputs.
-                                                  "curl" "libmicrohttpd" 
"gnutls/dane"
+                                                  "curl" "libmicrohttpd" 
"gnutls-dane"
                                                   "sqlite" "jansson" "nss" 
"gmp"
                                                   "bluez" "glib" "libogg" 
"python2"
-                                                  "perl" "doxygen" ; FIXME: is 
perl necessary?
-                                                  "opus" "pulseaudio" ;PA on 
server, for building?
+                                                  "perl" "doxygen"
+                                                  "opus" "pulseaudio"
                                                   "libunistring" "libltdl" 
"zlib" "libgcrypt" "libextractor"
                                                   "gstreamer" 
"gst-plugins-base" "libidn" "glpk"
-                                                  ;; -- end GNUnet core 
dependencies.
                                                   "gitolite"
                                                   "nss-certs"
                                                   "wget" "openssl"
-                                                  "postgres"
+                                                  "postgresql"
                                                   "certbot"))
                     %base-packages))
 
   (services (cons*
+             (ntp-service)
              (service sysadmin-service-type %sysadmins)
 
              ;; Log rotation
              (service rottlog-service-type (rottlog-configuration))
 
-             ;; CERTIFICATES
+             ;; certificates
              (service certbot-service-type
                       (certbot-configuration
-                       ;; TODO: Any other (sub)domains?
-                       (hosts '(("taler.net")
-                                ("git.taler.net")))))
+                       (email "address@hidden")
+                       (certificates
+                        (list
+                         (certificate-configuration
+                          (domains '("taler.net" "git.taler.net"))
+                          (deploy-hook %nginx-deploy-hook))
+                         (certificate-configuration
+                          (domains '("2.taler.net")))))))
 
              ;; MAIL
              ;; FIXME: Policy is to just RECEIVE mail.
@@ -144,25 +151,14 @@
              ;;   ;; Default portnumber, must be a NUMBER not a string.
              ;;   (port 3306)))
              ;;  TODO: PostgreSQL -> exact config: ???
-             (swervice postgresql-service-type)
+             (service postgresql-service-type)
 
              ;; WEBSERVER
              ;;(service nginx-service-type)
              (service nginx-service-type
                       (nginx-configuration
-                       (server-blocks
-                        (list
-                         (nginx-server-configuration
-                          (listen '("443 ssl"))
-                          (server-name "git.taler.net")
-                          (ssl-certificate
-                           "/etc/letsencrypt/live/git.taler.net/fullchain.pem")
-                          (ssl-certificate-key
-                           "/etc/letsencrypt/live/git.taler.net/privkey.pem")
-                          (locations
-                           (list
-                            (git-http-nginx-location-configuration
-                             (git-http-configuration (uri-path "/"))))))))))
+                       (file
+                        (file-append %nginx-config "/bhf.conf"))))
              ;;(service fcgiwrap-service-type)
              ;; FIXME: Check cgit-service-type + gitolite options.
              ;; FIXME: Extend cgit service.
@@ -182,24 +178,6 @@
               #:config (git-daemon-configuration
                         (user-path "git")))
 
-             ;; SERVE GIT OVER HTTP:
-             ;; FIXME: FAILING BUILD, USE WORKAROUND.
-             ;; (service nginx-service-type
-             ;;          (nginx-configuration
-             ;;           (server-blocks
-             ;;            (list
-             ;;             (nginx-server-configuration
-             ;;              (http-port #f)
-             ;;              (server-name "git.gnunet.org")
-             ;;              (ssl-certificate
-             ;;               
"/etc/letsencrypt/live/git.gnunet.org/fullchain.pem")
-             ;;              (ssl-certificate-key
-             ;;               
"/etc/letsencrypt/live/git.gnunet.org/privkey.pem")
-             ;;              (locations
-             ;;               (list
-             ;;                (git-http-nginx-location-configuration
-             ;;                 (git-http-configuration (uri-path "/"))))))))))
-
              ;; Networking
              ;; FIXME: Complete this
              (static-networking-service

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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