···
-subj '/CN=machine.${domain}'
install -D -t $out key.pem cert.pem
13
+
# Git repositories paths in Gitolite.
14
+
# Here only their baseNameOf is used for configuring public-inbox inboxes.
···
26
-
inherit (config.services) gitolite public-inbox;
27
-
# Git repositories paths in Gitolite.
28
-
# Only their baseNameOf is used for configuring public-inbox.
33
+
inherit (config.services) public-inbox;
virtualisation.diskSize = 1 * 1024;
···
83
-
(lib.genAttrs (map baseNameOf repositories) (repo: {
84
+
(lib.genAttrs (map baseNameOf gitRepositories) (repo: {
# Routed to the "public-inbox:" transport in services.postfix.transport
···
settings.coderepo = lib.listToAttrs (
108
-
lib.nameValuePair (baseNameOf path) {
109
-
dir = "/var/lib/gitolite/repositories/${path}.git";
110
-
cgitUrl = "https://git.${domain}/${path}.git";
109
+
lib.nameValuePair (baseNameOf repositoryName) {
110
+
dir = "/var/lib/public-inbox/repositories/${repositoryName}.git";
111
+
cgitUrl = "https://git.${domain}/${repositoryName}.git";
116
-
# Use gitolite to store Git repositories listed in coderepo entries
117
-
services.gitolite = {
119
-
adminPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmoTOQnGqX+//us5oye8UuE+tQBx9QEM7PN13jrwgqY root@localhost";
121
-
systemd.services.public-inbox-httpd = {
122
-
serviceConfig.SupplementaryGroups = [ gitolite.group ];
# Use nginx as a reverse proxy for public-inbox-httpd
···
environment.systemPackages = [
···
machine.wait_for_unit("multi-user.target")
machine.wait_for_unit("public-inbox-init.service")
195
-
# Very basic check that Gitolite can work;
196
-
# Gitolite is not needed for the rest of this testScript
197
-
machine.wait_for_unit("gitolite-init.service")
190
+
${lib.concatMapStrings (repositoryName: ''
191
+
"sudo -u public-inbox git init --bare -b main /var/lib/public-inbox/repositories/${repositoryName}.git",
192
+
'') gitRepositories}
# List inboxes through public-inbox-httpd
machine.wait_for_unit("nginx.service")