};
networking.firewall.allowedTCPPorts = [ 9418 ];
+ secrets.keys = [{
+ dest = "gitolite/ldap_password";
+ user = "gitolite";
+ group = "gitolite";
+ permissions = "0400";
+ text = config.myEnv.tools.gitolite.ldap.password;
+ }];
+
services.gitDaemon = {
enable = true;
user = "gitolite";
} ''
makeWrapper "${./gitolite_ldap_groups.sh}" "$out" \
--prefix PATH : ${lib.makeBinPath deps} \
- --set LDAP_PASS ${pkgs.lib.escapeShellArg config.myEnv.tools.gitolite.ldap.password}
+ --set LDAP_PASS_PATH ${config.secrets.fullPaths."gitolite/ldap_password"}
'';
in {
deps = [ "users" ];
};
users.users.wwwrun.extraGroups = [ "gitolite" ];
+ users.users.gitolite.extraGroups = [ "keys" ];
users.users.gitolite.packages = let
python-packages = python-packages: with python-packages; [
uid_param="$1"
ldap_host="ldap.immae.eu"
ldap_binddn="cn=gitolite,ou=services,dc=immae,dc=eu"
-ldap_bindpw="$LDAP_PASS"
+ldap_bindpw="$(cat $LDAP_PASS_PATH)"
ldap_searchbase="dc=immae,dc=eu"
ldap_scope="subtree"