summaryrefslogtreecommitdiff
path: root/guix/vkraus/systems/test.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/vkraus/systems/test.scm')
-rw-r--r--guix/vkraus/systems/test.scm88
1 files changed, 88 insertions, 0 deletions
diff --git a/guix/vkraus/systems/test.scm b/guix/vkraus/systems/test.scm
new file mode 100644
index 0000000..1bfc2b8
--- /dev/null
+++ b/guix/vkraus/systems/test.scm
@@ -0,0 +1,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)))