summaryrefslogtreecommitdiff
path: root/systems
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2024-10-08 18:36:44 +0200
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2024-10-08 18:36:44 +0200
commita654ab657fb9e8599016fbad24e4ba9ba2314d5f (patch)
tree388ae59c02b82d3507af64851fc016249bf1d1b6 /systems
parentc86d017aa9243971f7a5a73d319a7196a0a0ef10 (diff)
refactor(izumi): isolate cgit service
Diffstat (limited to 'systems')
-rw-r--r--systems/izumi/izumi.scm91
1 files changed, 47 insertions, 44 deletions
diff --git a/systems/izumi/izumi.scm b/systems/izumi/izumi.scm
index a693cad..685f28c 100644
--- a/systems/izumi/izumi.scm
+++ b/systems/izumi/izumi.scm
@@ -54,6 +54,52 @@
;;;???????????????????????????????????????????????????????????????????
+(define cgit
+ (service (service-type (inherit cgit-service-type)
+ (extensions (map (lambda (extension)
+ (if (eq? (service-extension-target extension)
+ nginx-service-type)
+ (service-extension nginx-service-type*
+ cgit-configuration-nginx-config)
+ extension))
+ (service-type-extensions cgit-service-type))))
+ (cgit-configuration
+ (nginx
+ (list
+ (nginx-server-configuration
+ (locations
+ (list
+ (git-http-nginx-location-configuration
+ (git-http-configuration
+ (git-root "/var/lib/gitolite/repositories")
+ (uri-path "/git")))
+ (nginx-location-configuration
+ (body
+ (list
+ "fastcgi_param HTTP_HOST $server_name ;"
+ "fastcgi_param PATH_INFO $uri ;"
+ "fastcgi_param QUERY_STRING $args ;"
+ "fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi ;"
+ "fastcgi_pass 127.0.0.1:9000 ;"))
+ (uri "@cgit"))
+ (nginx-location-configuration
+ (body (list "root /srv/www/marek/marekpasnikowski.pl/ ;"))
+ (uri "/.well-known"))))
+ (listen (list "192.168.10.2:443 ssl"))
+ (root cgit)
+ (server-name (list "git.marekpasnikowski.pl"))
+ (ssl-certificate
+ "/etc/letsencrypt/live/marekpasnikowski.pl/fullchain.pem")
+ (ssl-certificate-key
+ "/etc/letsencrypt/live/marekpasnikowski.pl/privkey.pem")
+ (try-files (list "$uri" "@cgit")))))
+ (repositories
+ (list
+ (repository-cgit-configuration
+ (hide? #t)
+ (path "/srv/git/marek/packages"))))
+ (repository-directory "/var/lib/gitolite/repositories"))))
+
(define (etc-mailname)
(simple-service 'etc-files
etc-service-type
@@ -401,50 +447,7 @@
"radicale.marekpasnikowski.pl" ) ) ) ) )
( email "marek@marekpasnikowski.pl" )
( webroot "/srv/www/marek/marekpasnikowski.pl" ) ) )
- (service (service-type (inherit cgit-service-type)
- (extensions (map (lambda (extension)
- (if (eq? (service-extension-target extension)
- nginx-service-type)
- (service-extension nginx-service-type*
- cgit-configuration-nginx-config)
- extension))
- (service-type-extensions cgit-service-type))))
- ( cgit-configuration
- ( nginx
- ( list
- ( nginx-server-configuration
- ( locations
- ( list
- ( git-http-nginx-location-configuration
- ( git-http-configuration
- ( git-root "/var/lib/gitolite/repositories" )
- ( uri-path "/git" ) ) )
- ( nginx-location-configuration
- ( body
- ( list
- "fastcgi_param HTTP_HOST $server_name ;"
- "fastcgi_param PATH_INFO $uri ;"
- "fastcgi_param QUERY_STRING $args ;"
- "fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi ;"
- "fastcgi_pass 127.0.0.1:9000 ;" ) )
- ( uri "@cgit" ) )
- ( nginx-location-configuration
- ( body ( list "root /srv/www/marek/marekpasnikowski.pl/ ;" ) )
- ( uri "/.well-known" ) ) ) )
- ( listen ( list "192.168.10.2:443 ssl" ) )
- ( root cgit )
- ( server-name ( list "git.marekpasnikowski.pl" ) )
- ( ssl-certificate
- "/etc/letsencrypt/live/marekpasnikowski.pl/fullchain.pem" )
- ( ssl-certificate-key
- "/etc/letsencrypt/live/marekpasnikowski.pl/privkey.pem" )
- ( try-files ( list "$uri" "@cgit" ) ) ) ) )
- ( repositories
- ( list
- ( repository-cgit-configuration
- ( hide? #t )
- ( path "/srv/git/marek/packages" ) ) ) )
- ( repository-directory "/var/lib/gitolite/repositories" ) ) )
+ cgit
(etc-mailname)
(fcgiwrap)
(gitolite)