diff options
Diffstat (limited to 'guix/vkraus/systems/test.scm')
-rw-r--r-- | guix/vkraus/systems/test.scm | 88 |
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))) |