krebs: merge cgit-mirror into repo-sync
This commit is contained in:
parent
657e099f4a
commit
b4ad7cd86d
krebs
|
@ -11,7 +11,6 @@ in
|
|||
<stockholm/krebs/2configs/central-stats-client.nix>
|
||||
<stockholm/krebs/2configs/save-diskspace.nix>
|
||||
|
||||
<stockholm/krebs/2configs/cgit-mirror.nix>
|
||||
<stockholm/krebs/2configs/graphite.nix>
|
||||
<stockholm/krebs/2configs/repo-sync.nix>
|
||||
<stockholm/krebs/2configs/shared-buildbot.nix>
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with import <stockholm/lib>;
|
||||
let
|
||||
rules = with git; singleton {
|
||||
user = [ wolf-repo-sync ];
|
||||
repo = [ stockholm-mirror ];
|
||||
perm = push ''refs/*'' [ non-fast-forward create delete merge ];
|
||||
};
|
||||
|
||||
stockholm-mirror = {
|
||||
public = true;
|
||||
name = "stockholm-mirror";
|
||||
cgit.desc = "mirror for all stockholm branches";
|
||||
hooks = {
|
||||
post-receive = pkgs.git-hooks.irc-announce {
|
||||
nick = config.networking.hostName;
|
||||
verbose = false;
|
||||
channel = "#retiolum";
|
||||
server = "ni.r";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wolf-repo-sync = {
|
||||
name = "wolf-repo-sync";
|
||||
mail = "spam@krebsco.de";
|
||||
# TODO put git-sync pubkey somewhere more appropriate
|
||||
pubkey = ''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwuAZB3wtAvBJFYh+gWdyGaZU4mtqM2dFXmh2rORlbXeh02msu1uv07ck1VKkQ4LgvCBcBsAOeVa1NTz99eLqutwgcqMCytvRNUCibcoEWwHObsK53KhDJj+zotwlFhnPPeK9+EpOP4ngh/tprJikttos5BwBwe2K+lfiid3fmVPZcTTYa77nCwijimMvWEx6CEjq1wiXMUc4+qcEn8Swbwomz/EEQdNE2hgoC3iMW9RqduTFdIJWnjVi0KaxenX9CvQRGbVK5SSu2gwzN59D/okQOCP6+p1gL5r3QRHSLSSRiEHctVQTkpKOifrtLZGSr5zArEmLd/cOVyssHQPCX repo-sync@wolf'';
|
||||
};
|
||||
|
||||
in {
|
||||
krebs.users.wolf-repo-sync = wolf-repo-sync;
|
||||
krebs.git = {
|
||||
enable = true;
|
||||
cgit = {
|
||||
settings = {
|
||||
root-title = "Shared Repos";
|
||||
root-desc = "keep on krebsing";
|
||||
};
|
||||
};
|
||||
inherit rules;
|
||||
repos.stockholm-mirror = stockholm-mirror;
|
||||
};
|
||||
}
|
|
@ -1,31 +1,71 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
krebs.repo-sync = let
|
||||
# TODO addMirrorURL function
|
||||
mirror = "git@wolf:stockholm-mirror";
|
||||
in {
|
||||
enable = true;
|
||||
repos.stockholm = {
|
||||
branches = {
|
||||
makefu = {
|
||||
origin.url = http://cgit.gum/stockholm ;
|
||||
mirror.url = mirror;
|
||||
with import <stockholm/lib>;
|
||||
|
||||
let
|
||||
mirror = "git@${config.networking.hostName}:";
|
||||
|
||||
defineRepo = name: announce: let
|
||||
repo = {
|
||||
public = true;
|
||||
name = mkDefault "${name}";
|
||||
cgit.desc = mkDefault "mirror for ${name}";
|
||||
cgit.section = mkDefault "mirror";
|
||||
hooks = mkIf announce (mkDefault {
|
||||
post-receive = pkgs.git-hooks.irc-announce {
|
||||
nick = config.networking.hostName;
|
||||
verbose = false;
|
||||
channel = "#retiolum";
|
||||
server = "ni.r";
|
||||
branches = [ "newest" ];
|
||||
};
|
||||
tv = {
|
||||
origin.url = http://cgit.ni.r/stockholm;
|
||||
mirror.url = mirror;
|
||||
};
|
||||
lassulus = {
|
||||
origin.url = http://cgit.prism/stockholm ;
|
||||
mirror.url = mirror;
|
||||
};
|
||||
};
|
||||
latest = {
|
||||
url = mirror;
|
||||
ref = "heads/master";
|
||||
};
|
||||
});
|
||||
};
|
||||
in {
|
||||
rules = with git; singleton {
|
||||
user = with config.krebs.users; [
|
||||
config.krebs.users."${config.networking.hostName}-repo-sync"
|
||||
];
|
||||
repo = [ repo ];
|
||||
perm = push ''refs/*'' [ non-fast-forward create delete merge ];
|
||||
};
|
||||
repos."${name}" = repo;
|
||||
};
|
||||
|
||||
sync-retiolum = name:
|
||||
{
|
||||
krebs.repo-sync.repos.${name} = {
|
||||
branches = {
|
||||
makefu = {
|
||||
origin.url = "http://cgit.gum/${name}";
|
||||
mirror.url = "${mirror}${name}";
|
||||
};
|
||||
tv = {
|
||||
origin.url = "http://cgit.ni.r/${name}";
|
||||
mirror.url = "${mirror}${name}";
|
||||
};
|
||||
nin = {
|
||||
origin.url = "http://cgit.onondaga.r/${name}";
|
||||
mirror.url = "${mirror}${name}";
|
||||
};
|
||||
lassulus = {
|
||||
origin.url = "http://cgit.lassul.us/${name}";
|
||||
mirror.url = "${mirror}${name}";
|
||||
};
|
||||
};
|
||||
latest = {
|
||||
url = "${mirror}${name}";
|
||||
ref = "heads/newest";
|
||||
};
|
||||
};
|
||||
krebs.git = defineRepo name true;
|
||||
};
|
||||
|
||||
in {
|
||||
krebs.repo-sync = {
|
||||
enable = true;
|
||||
};
|
||||
imports = [
|
||||
(sync-retiolum "stockholm")
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue