feat(ci): implement automated deployment pipeline with deploy-rs
This commit is contained in:
parent
de1ee54b8b
commit
33fcc55bf5
17 changed files with 274 additions and 76 deletions
|
|
@ -1,10 +1,12 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.41";
|
||||
services.actions.enable = true;
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -24,7 +26,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.41";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -13,12 +13,14 @@
|
|||
};
|
||||
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.89";
|
||||
apps = {
|
||||
speedtest.enable = true;
|
||||
technitiumDNS.enable = true;
|
||||
traefik.enable = true;
|
||||
};
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -43,7 +45,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.89";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.24";
|
||||
apps.gitea.enable = true;
|
||||
virtualisation.guest.enable = true;
|
||||
|
||||
users.deploy.enable = true;
|
||||
|
||||
users.admin = {
|
||||
enable = true;
|
||||
authorizedKeys = [
|
||||
|
|
@ -28,7 +31,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.24";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
{
|
||||
config = {
|
||||
homelab.virtualisation.guest.enable = true;
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.10";
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "Ingress";
|
||||
|
|
@ -19,8 +23,8 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.10";
|
||||
prefixLength = 24;
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
@ -39,6 +43,7 @@ prefixLength = 24;
|
|||
};
|
||||
};
|
||||
|
||||
|
||||
security.acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
|
|
@ -46,7 +51,7 @@ prefixLength = 24;
|
|||
dnsPropagationCheck = true;
|
||||
dnsProvider = "cloudflare";
|
||||
dnsResolver = "1.1.1.1:53";
|
||||
email = "tibo.depeuter@telenet.be";
|
||||
email = config.sops.placeholder.acme_email or "acme-email@example.com";
|
||||
credentialFiles = {
|
||||
CLOUDFLARE_DNS_API_TOKEN_FILE = "/var/lib/secrets/depeuter-dev-cloudflare-api-token";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
];
|
||||
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.11";
|
||||
apps = {
|
||||
technitiumDNS.enable = true;
|
||||
traefik.enable = true;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.31";
|
||||
apps = {
|
||||
calibre.enable = true;
|
||||
traefik.enable = true;
|
||||
};
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -31,7 +33,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.31";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.33";
|
||||
apps = {
|
||||
arr.enable = true;
|
||||
traefik.enable = true;
|
||||
};
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -31,7 +33,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.33";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,8 +3,10 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.94";
|
||||
apps.jellyfin.enable = true;
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -28,7 +30,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.94";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.92";
|
||||
apps = {
|
||||
freshrss.enable = true;
|
||||
traefik.enable = true;
|
||||
};
|
||||
virtualisation.guest.enable = true;
|
||||
users.deploy.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
@ -32,7 +34,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.92";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
config = {
|
||||
homelab = {
|
||||
networking.hostIp = "192.168.0.22";
|
||||
apps.vaultwarden = {
|
||||
enable = true;
|
||||
domain = "https://vault.depeuter.dev";
|
||||
|
|
@ -10,11 +11,15 @@
|
|||
};
|
||||
virtualisation.guest.enable = true;
|
||||
|
||||
users.admin = {
|
||||
enable = true;
|
||||
authorizedKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJnihoyozOCnm6T9OzL2xoMeMZckBYR2w43us68ABA93"
|
||||
];
|
||||
users = {
|
||||
deploy.enable = true;
|
||||
|
||||
admin = {
|
||||
enable = true;
|
||||
authorizedKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJnihoyozOCnm6T9OzL2xoMeMZckBYR2w43us68ABA93"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -32,7 +37,7 @@
|
|||
interfaces.ens18 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.22";
|
||||
address = config.homelab.networking.hostIp;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue