summaryrefslogtreecommitdiff
path: root/guix/vkraus/systems
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2020-12-07 22:20:53 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2021-06-19 15:44:36 +0200
commit1cd51a1728a34aaf85b964bff7636733ef732999 (patch)
treed6d7e45c749bcac5fa12ec3fa70226ccab0af621 /guix/vkraus/systems
parentfeb186bacbf57cb1de4b933eca6f53d259bfcc9d (diff)
Create a hello world server
Diffstat (limited to 'guix/vkraus/systems')
-rw-r--r--guix/vkraus/systems/webid-oidc-issuer.scm50
-rw-r--r--guix/vkraus/systems/webid-oidc.scm80
2 files changed, 80 insertions, 50 deletions
diff --git a/guix/vkraus/systems/webid-oidc-issuer.scm b/guix/vkraus/systems/webid-oidc-issuer.scm
deleted file mode 100644
index 103f49f..0000000
--- a/guix/vkraus/systems/webid-oidc-issuer.scm
+++ /dev/null
@@ -1,50 +0,0 @@
-(define-module (vkraus systems webid-oidc-issuer)
- #:use-module (gnu)
- #:use-module (guix)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (vkraus services webid-oidc)
- #:use-module (vkraus packages webid-oidc))
-
-(operating-system
- (locale "fr_FR.utf8")
- (timezone "Europe/Paris")
- (keyboard-layout (keyboard-layout "fr"))
- (host-name "webid-oidc-issuer")
- (users (cons* (user-account
- (name "admin")
- (comment "Administrator")
- (group "users")
- (home-directory "/home/admin")
- (supplementary-groups
- '("wheel" "netdev")))
- %base-user-accounts))
- (packages
- (append
- (list (specification->package "nss-certs"))
- %base-packages))
- (services
- (append
- (cons*
- (service webid-oidc-issuer-service-type
- (webid-oidc-issuer-configuration
- (webid-oidc webid-oidc-snapshot)
- (issuer "http://localhost:8080")
- (subject "http://localhost:8080/profile/card#me")
- (password "p4ssw0rd")
- (jwks-uri "http://localhost:8080/keys")
- (authorization-endpoint-uri "http://localhost:8080/authorize")
- (token-endpoint-uri "http://localhost:8080/token")
- (port 8080)))
- %base-services)))
- (bootloader
- (bootloader-configuration
- (bootloader grub-efi-bootloader)
- (target "/boot/efi")
- (keyboard-layout keyboard-layout)))
- (file-systems
- (cons* (file-system
- (mount-point "/")
- (device "/dev/sda")
- (type "ext4"))
- %base-file-systems)))
diff --git a/guix/vkraus/systems/webid-oidc.scm b/guix/vkraus/systems/webid-oidc.scm
new file mode 100644
index 0000000..704c746
--- /dev/null
+++ b/guix/vkraus/systems/webid-oidc.scm
@@ -0,0 +1,80 @@
+(define-module (vkraus systems webid-oidc)
+ #:use-module (gnu)
+ #:use-module (guix)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (vkraus services webid-oidc)
+ #:use-module (vkraus packages webid-oidc)
+ #:use-module (gnu services web))
+
+(operating-system
+ (locale "fr_FR.utf8")
+ (timezone "Europe/Paris")
+ (keyboard-layout (keyboard-layout "fr"))
+ (host-name "webid-oidc-issuer")
+ (users %base-user-accounts)
+ (packages
+ (append
+ (list (specification->package "nss-certs"))
+ %base-packages))
+ (services
+ (append
+ (cons*
+ (service webid-oidc-issuer-service-type
+ (webid-oidc-issuer-configuration
+ (webid-oidc webid-oidc-snapshot)
+ (issuer "http://localhost:8080")
+ (subject "http://localhost:8080/profile/card#me")
+ (password "p4ssw0rd")
+ (jwks-uri "http://localhost:8080/keys")
+ (authorization-endpoint-uri "http://localhost:8080/authorize")
+ (token-endpoint-uri "http://localhost:8080/token")
+ (port 8080)))
+ (service webid-oidc-hello-service-type
+ (webid-oidc-hello-configuration
+ (webid-oidc webid-oidc-snapshot)
+ (port 8081)))
+ (service nginx-service-type
+ (nginx-configuration
+ (upstream-blocks
+ (list
+ (nginx-upstream-configuration
+ (name "issuer")
+ (servers (list "localhost:8080")))
+ (nginx-upstream-configuration
+ (name "server")
+ (servers (list "localhost:8081")))))
+ (server-blocks
+ (list
+ (nginx-server-configuration
+ (server-name '("localhost"))
+ (listen '("80"))
+ (locations
+ (list
+ (nginx-location-configuration
+ (uri "/profile/card")
+ (body (list "proxy_pass http://issuer;")))
+ (nginx-location-configuration
+ (uri "/keys")
+ (body (list "proxy_pass http://issuer;")))
+ (nginx-location-configuration
+ (uri "/authorize")
+ (body (list "proxy_pass http://issuer;")))
+ (nginx-location-configuration
+ (uri "/token")
+ (body (list "proxy_pass http://issuer;")))
+ (nginx-location-configuration
+ (uri "/")
+ (body (list "proxy_pass http://server;"))))))))))
+ %base-services)))
+ (bootloader
+ (bootloader-configuration
+ (bootloader grub-efi-bootloader)
+ (target "/boot/efi")
+ (keyboard-layout keyboard-layout)))
+ (file-systems
+ (cons* (file-system
+ (mount-point "/")
+ (device "/dev/sda")
+ (type "ext4"))
+ %base-file-systems)))