feat: Rollout tailscale for media stack

fix: Add default for tailscale ingress option
This commit is contained in:
Pim Kunis 2024-07-21 21:00:32 +02:00
parent 6152ce4577
commit d3d6abdde8
3 changed files with 71 additions and 82 deletions

View file

@ -15,6 +15,8 @@
}; };
}; };
}); });
default = { };
}; };
}; };

View file

@ -419,34 +419,32 @@
}; };
}; };
transmission-web.spec = { transmission.spec = {
selector = {
app = "media";
component = "transmission";
};
ports.web = {
port = 80;
targetPort = "web";
};
};
transmission-bittorrent.spec = {
type = "LoadBalancer"; type = "LoadBalancer";
loadBalancerIP = myLib.globals.bittorrentIPv4; loadBalancerIP = myLib.globals.transmissionIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "transmission"; component = "transmission";
}; };
ports.bittorrent = { ports = {
port = 31780; bittorrent = {
targetPort = "bittorrent"; port = 31780;
targetPort = "bittorrent";
};
web = {
port = 80;
targetPort = "web";
};
}; };
}; };
jellyseerr.spec = { jellyseerr.spec = {
type = "LoadBalancer";
loadBalancerIP = myLib.globals.jellyseerrIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "jellyseerr"; component = "jellyseerr";
@ -459,6 +457,9 @@
}; };
radarr.spec = { radarr.spec = {
type = "LoadBalancer";
loadBalancerIP = myLib.globals.radarrIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "radarr"; component = "radarr";
@ -471,6 +472,9 @@
}; };
prowlarr.spec = { prowlarr.spec = {
type = "LoadBalancer";
loadBalancerIP = myLib.globals.prowlarrIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "prowlarr"; component = "prowlarr";
@ -483,6 +487,9 @@
}; };
sonarr.spec = { sonarr.spec = {
type = "LoadBalancer";
loadBalancerIP = myLib.globals.sonarrIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "sonarr"; component = "sonarr";
@ -495,6 +502,9 @@
}; };
bazarr.spec = { bazarr.spec = {
type = "LoadBalancer";
loadBalancerIP = myLib.globals.bazarrIPv4;
selector = { selector = {
app = "media"; app = "media";
component = "bazarr"; component = "bazarr";
@ -523,74 +533,44 @@
}; };
lab = { lab = {
ingresses = { ingresses.jellyfin = {
jellyfin = { host = "media.kun.is";
host = "media.kun.is";
service = { service = {
name = "jellyfin"; name = "jellyfin";
portName = "web"; portName = "web";
}; };
};
tailscaleIngresses = {
tailscale-jellyseerr = {
host = "jellyseerr";
service.name = "jellyseerr";
}; };
transmission = { tailscale-radarr = {
host = "transmission.kun.is"; host = "radarr";
entrypoint = "localsecure"; service.name = "radarr";
service = {
name = "transmission-web";
portName = "web";
};
}; };
jellyseerr = { tailscale-sonarr = {
host = "jellyseerr.kun.is"; host = "sonarr";
entrypoint = "localsecure"; service.name = "sonarr";
service = {
name = "jellyseerr";
portName = "web";
};
}; };
radarr = { tailscale-bazarr = {
host = "radarr.kun.is"; host = "bazarr";
entrypoint = "localsecure"; service.name = "bazarr";
service = {
name = "radarr";
portName = "web";
};
}; };
prowlarr = { tailscale-prowlarr = {
host = "prowlarr.kun.is"; host = "prowlarr";
entrypoint = "localsecure"; service.name = "prowlarr";
service = {
name = "prowlarr";
portName = "web";
};
}; };
sonarr = { tailscale-transmission = {
host = "sonarr.kun.is"; host = "transmission";
entrypoint = "localsecure"; service.name = "transmission";
service = {
name = "sonarr";
portName = "web";
};
};
bazarr = {
host = "bazarr.kun.is";
entrypoint = "localsecure";
service = {
name = "bazarr";
portName = "web";
};
}; };
}; };

View file

@ -1,16 +1,23 @@
{ {
routerPublicIPv4 = "192.145.57.90"; routerPublicIPv4 = "192.145.57.90";
routerPublicIPv6 = "2a0d:6e00:1a77::1"; routerPublicIPv6 = "2a0d:6e00:1a77::1";
minecraftIPv4 = "192.168.30.136";
dnsmasqIPv4 = "192.168.30.135";
bind9IPv4 = "192.168.30.134";
bind9Ipv6 = "2a0d:6e00:1a77:30::134"; bind9Ipv6 = "2a0d:6e00:1a77:30::134";
bittorrentIPv4 = "192.168.30.133";
gitIPv4 = "192.168.30.132"; # Load balancer IPv4
piholeIPv4 = "192.168.30.131";
inbucketIPv4 = "192.168.30.130";
kmsIPv4 = "192.168.30.129";
traefikIPv4 = "192.168.30.128"; traefikIPv4 = "192.168.30.128";
kmsIPv4 = "192.168.30.129";
inbucketIPv4 = "192.168.30.130";
piholeIPv4 = "192.168.30.131";
gitIPv4 = "192.168.30.132";
transmissionIPv4 = "192.168.30.133";
bind9IPv4 = "192.168.30.134";
dnsmasqIPv4 = "192.168.30.135";
minecraftIPv4 = "192.168.30.136";
jellyseerrIPv4 = "192.168.30.137";
syncthingIPv4 = "192.168.30.138"; syncthingIPv4 = "192.168.30.138";
longhornIPv4 = "192.168.30.139"; longhornIPv4 = "192.168.30.139";
radarrIPv4 = "192.168.30.140";
prowlarrIPv4 = "192.168.30.141";
sonarrIPv4 = "192.168.30.142";
bazarrIPv4 = "192.168.30.143";
} }