;; 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 . (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)))