migrate woodpecker
parent
0cb9e1ac06
commit
991b93c0ae
|
@ -5,7 +5,7 @@ root = true
|
||||||
|
|
||||||
[*]
|
[*]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 2
|
||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
|
|
@ -144,6 +144,7 @@
|
||||||
};
|
};
|
||||||
"woodpecker" = {
|
"woodpecker" = {
|
||||||
ip = "10.42.42.33";
|
ip = "10.42.42.33";
|
||||||
|
ip6 = "2001:41f0:9639:1:1c24:daff:fedb:4a1a";
|
||||||
mac = "1E:24:DA:DB:4A:1A";
|
mac = "1E:24:DA:DB:4A:1A";
|
||||||
};
|
};
|
||||||
"nuc" = {
|
"nuc" = {
|
||||||
|
|
|
@ -18,53 +18,43 @@ in {
|
||||||
# Additional packages
|
# Additional packages
|
||||||
environment.systemPackages = with pkgs; [ ];
|
environment.systemPackages = with pkgs; [ ];
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ ];
|
networking.firewall.allowedTCPPorts = [ 8000 9000 ];
|
||||||
|
|
||||||
vault-secrets.secrets.woodpecker = {
|
vault-secrets.secrets.woodpecker = {
|
||||||
services = [ "podman-woodpecker-server" "podman-woodpecker-agent" ];
|
services = [ "woodpecker-server" "woodpecker-agent-docker" ];
|
||||||
quoteEnvironmentValues = false; # Needed for docker
|
quoteEnvironmentValues = false; # Needed for docker
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dockerSocket.enable = true;
|
dockerSocket.enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.create-woodpecker-pod = with config.virtualisation.oci-containers; {
|
services.woodpecker-server = {
|
||||||
serviceConfig.Type = "oneshot";
|
enable = true;
|
||||||
wantedBy = [ "${backend}-woodpecker-server.service" "${backend}-woodpecker-agent.service"];
|
environment = {
|
||||||
script = ''
|
WOODPECKER_OPEN = "true";
|
||||||
${pkgs.podman}/bin/podman pod exists woodpecker || \
|
WOODPECKER_HOST = "https://ci.0x76.dev";
|
||||||
${pkgs.podman}/bin/podman pod create -n woodpecker -p 8000:8000
|
WOODPECKER_GITEA = "true";
|
||||||
'';
|
WOODPECKER_GITEA_URL = "https://git.0x76.dev";
|
||||||
|
WOODPECKER_ADMIN = "v";
|
||||||
|
WOODPECKER_AUTHENTICATE_PUBLIC_REPOS = "true";
|
||||||
|
WOODPECKER_SERVER_ADDR = "0.0.0.0:8000";
|
||||||
|
};
|
||||||
|
environmentFile = "${vs.woodpecker}/environment";
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers = {
|
services.woodpecker-agents.agents = {
|
||||||
backend = "podman";
|
docker = {
|
||||||
containers = {
|
enable = true;
|
||||||
woodpecker-server = {
|
environment = {
|
||||||
image = "woodpeckerci/woodpecker-server:latest";
|
DOCKER_HOST = "unix:///run/podman/podman.sock";
|
||||||
volumes = [ "woodpecker-server-data:/var/lib/woodpecker/" ];
|
WOODPECKER_BACKEND = "docker";
|
||||||
environmentFiles = [ "${vs.woodpecker}/environment" ];
|
WOODPECKER_SERVER = "localhost:9000";
|
||||||
extraOptions = [ "--pod=woodpecker" ];
|
|
||||||
environment = {
|
|
||||||
WOODPECKER_OPEN = "true";
|
|
||||||
WOODPECKER_HOST = "https://ci.0x76.dev";
|
|
||||||
WOODPECKER_GITEA = "true";
|
|
||||||
WOODPECKER_GITEA_URL = "https://git.0x76.dev";
|
|
||||||
WOODPECKER_ADMIN = "v";
|
|
||||||
WOODPECKER_AUTHENTICATE_PUBLIC_REPOS = "true";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
woodpecker-agent = {
|
|
||||||
image = "woodpeckerci/woodpecker-agent:latest";
|
|
||||||
dependsOn = [ "woodpecker-server" ];
|
|
||||||
extraOptions = [ "--pod=woodpecker" ];
|
|
||||||
cmd = [ "agent" ];
|
|
||||||
volumes = [ "/var/run/docker.sock:/var/run/docker.sock" ];
|
|
||||||
environmentFiles = [ "${vs.woodpecker}/environment" ];
|
|
||||||
environment = { WOODPECKER_SERVER = "localhost:9000"; };
|
|
||||||
};
|
};
|
||||||
|
environmentFile = [ "${vs.woodpecker}/environment" ];
|
||||||
|
extraGroups = [ "podman" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue