summaryrefslogtreecommitdiff
path: root/guix/vkraus/systems/test.scm
blob: 1bfc2b8e5223f3e8e620129987dac543ea188eb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
;; disfluid, implementation of the Solid specification
;; Copyright (C) 2021  Vivien Kraus

;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU Affero General Public License as
;; published by the Free Software Foundation, either version 3 of the
;; License, or (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU Affero General Public License for more details.

;; You should have received a copy of the GNU Affero General Public License
;; along with this program.  If not, see <https://www.gnu.org/licenses/>.

(define-module (vkraus systems test)
  #:use-module (gnu)
  #:use-module (guix gexp)
  #:use-module (gnu packages certs)
  #:use-module (vkraus packages disfluid)
  #:use-module (vkraus services disfluid))

(operating-system
 (host-name "disfluid-test-system")
 (hosts-file
  (plain-file "hosts"
              "127.0.0.1 localhost
::1 localhost
"))
 (users %base-user-accounts)
 (packages
  `(,disfluid
    ,nss-certs
    ,@%base-packages))
 (services
  (append
   (list
    (service disfluid-service-type
             `(("alice"
                . ,(disfluid-server-configuration
                    (complete-corresponding-source "https://webid-oidc.planete-kraus.eu/complete-corresponding-source.tar.gz")
	            (server-name "http://localhost:8081")
	            (subject "http://localhost:8081/alice#me")
	            (encrypted-password-file
                     (computed-file "alice-password"
                                    #~(let ((salt "$6$.salt.for.Alice.")
                                            (password "alice"))
                                        (call-with-output-file #$output
                                          (lambda (port)
                                            (format port "~a\n"
                                                    (crypt password salt)))))))
                    (key-file "/var/lib/disfluid/alice/key.jwk")
	            (jwks-uri "http://localhost:8081/keys")
	            (authorization-endpoint-uri "http://localhost:8081/authorize")
	            (token-endpoint-uri "http://localhost:8081/token")
	            (port 8081)))
               ("bob"
                . ,(disfluid-server-configuration
                    (complete-corresponding-source "https://webid-oidc.planete-kraus.eu/complete-corresponding-source.tar.gz")
	            (server-name "http://localhost:8082")
	            (subject "http://localhost:8082/bob#me")
	            (encrypted-password-file
                     (computed-file "bob-password"
                                    #~(let ((salt "$6$And.salt.for.Bob")
                                            (password "bob"))
                                        (call-with-output-file #$output
                                          (lambda (port)
                                            (format port "~a\n"
                                                    (crypt password salt)))))))
                    (key-file "/var/lib/disfluid/bob/key.jwk")
	            (jwks-uri "http://localhost:8082/keys")
	            (authorization-endpoint-uri "http://localhost:8082/authorize")
	            (token-endpoint-uri "http://localhost:8082/token")
	            (port 8082))))))
   %base-services))
 (timezone "Europe/Paris")
 (bootloader
  (bootloader-configuration
   (bootloader grub-efi-bootloader)
   (target "/boot/efi")))
 (mapped-devices '())
 (file-systems
  `(,(file-system
      (mount-point "/")
      (device "/dev/sda")
      (type "ext4"))
    ,@%base-file-systems)))