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)))
|