From e26705c2deb776ff00a9963e8834fe26572db1f7 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 7 Jul 2020 22:08:48 +0200 Subject: git: support smart HTTP transport --- krebs/3modules/git.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'krebs/3modules/git.nix') diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index 895d9b3b6..b2d2ec6cc 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -452,6 +452,16 @@ let fastcgi_param HTTP_HOST $server_name; fastcgi_pass unix:${config.services.fcgiwrap.socketAddress}; ''; + # Smart HTTP transport. Regex based on. + # https://github.com/git/git/blob/v2.27.0/http-backend.c#L708-L721 + locations.''~ "^/[0-9A-Za-z._-]+/(HEAD|info/refs|objects/info/(alternates|http-alternates|packs)|[0-9a-f]{2}/([0-9a-f]{38}|[0-9a-f]{62})|pack/pack-([0-9a-f]{40}|[0-9a-f]{64})\.(pack|idx)|git-upload-pack|git-receive-pack)$"''.extraConfig = '' + include ${pkgs.nginx}/conf/fastcgi_params; + fastcgi_param GIT_HTTP_EXPORT_ALL ""; + fastcgi_param GIT_PROJECT_ROOT ${cfg.dataDir}; + fastcgi_param PATH_INFO $fastcgi_script_name; + fastcgi_param SCRIPT_FILENAME ${pkgs.git}/bin/git-http-backend; + fastcgi_pass unix:${config.services.fcgiwrap.socketAddress}; + ''; locations."/static/".extraConfig = '' root ${pkgs.cgit}/cgit; rewrite ^/static(/.*)$ $1 break; -- cgit v1.2.3 From 6d769b73b4954d6bd215b00e5674eb41a034f57c Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 13 Jul 2020 09:46:19 +0200 Subject: krebs git: use " instead of '' --- krebs/3modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'krebs/3modules/git.nix') diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index b2d2ec6cc..3b941b48d 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -454,7 +454,7 @@ let ''; # Smart HTTP transport. Regex based on. # https://github.com/git/git/blob/v2.27.0/http-backend.c#L708-L721 - locations.''~ "^/[0-9A-Za-z._-]+/(HEAD|info/refs|objects/info/(alternates|http-alternates|packs)|[0-9a-f]{2}/([0-9a-f]{38}|[0-9a-f]{62})|pack/pack-([0-9a-f]{40}|[0-9a-f]{64})\.(pack|idx)|git-upload-pack|git-receive-pack)$"''.extraConfig = '' + locations."~ \"^/[0-9A-Za-z._-]+/(HEAD|info/refs|objects/info/(alternates|http-alternates|packs)|[0-9a-f]{2}/([0-9a-f]{38}|[0-9a-f]{62})|pack/pack-([0-9a-f]{40}|[0-9a-f]{64})\\.(pack|idx)|git-upload-pack|git-receive-pack)$\"".extraConfig = '' include ${pkgs.nginx}/conf/fastcgi_params; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT ${cfg.dataDir}; -- cgit v1.2.3 From edc62dfabc8a55b240fe467ade1bbc650f6df6e0 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 13 Jul 2020 10:51:06 +0200 Subject: krebs.git.cgit.settings += source-filter --- krebs/3modules/git.nix | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'krebs/3modules/git.nix') diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index 3b941b48d..4eb881341 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -186,6 +186,12 @@ let type = types.nullOr types.str; default = null; }; + source-filter = mkOption { + type = types.nullOr types.absolute-pathname; + default = null; + example = literalExample + "\${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"; + }; virtual-root = mkOption { type = types.nullOr types.absolute-pathname; default = "/"; -- cgit v1.2.3