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

View file

@ -1,16 +1,23 @@
{
routerPublicIPv4 = "192.145.57.90";
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";
bittorrentIPv4 = "192.168.30.133";
gitIPv4 = "192.168.30.132";
piholeIPv4 = "192.168.30.131";
inbucketIPv4 = "192.168.30.130";
kmsIPv4 = "192.168.30.129";
# Load balancer IPv4
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";
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";
}