First commit

This commit is contained in:
2025-06-09 23:32:10 -04:00
commit 863aaeabc7
92 changed files with 2992 additions and 0 deletions

View File

@@ -0,0 +1,221 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: actual-certificate
namespace: external-services
spec:
secretName: actual-skrd-fun-tls
dnsNames:
- "actual.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: haos-certificate
namespace: external-services
spec:
secretName: haos-skrd-fun-tls
dnsNames:
- "haos.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: firefly-certificate
namespace: external-services
spec:
secretName: firefly-skrd-fun-tls
dnsNames:
- "firefly.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: gametabs-certificate
namespace: external-services
spec:
secretName: gametabs-skrd-fun-tls
dnsNames:
- "gametabs.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: git-certificate
namespace: external-services
spec:
secretName: git-skrd-fun-tls
dnsNames:
- "git.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: jackett-certificate
namespace: external-services
spec:
secretName: jackett-skrd-fun-tls
dnsNames:
- "jackett.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: jelly-certificate
namespace: external-services
spec:
secretName: jelly-skrd-fun-tls
dnsNames:
- "jelly.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: navi-certificate
namespace: external-services
spec:
secretName: navi-skrd-fun-tls
dnsNames:
- "navi.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: npm-certificate
namespace: external-services
spec:
secretName: npm-skrd-fun-tls
dnsNames:
- "npm.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: omv-certificate
namespace: external-services
spec:
secretName: omv-skrd-fun-tls
dnsNames:
- "omv.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: photos-certificate
namespace: external-services
spec:
secretName: photos-skrd-fun-tls
dnsNames:
- "photos.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: pihole-certificate
namespace: external-services
spec:
secretName: pihole-skrd-fun-tls
dnsNames:
- "pihole.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: portainer-certificate
namespace: external-services
spec:
secretName: portainer-skrd-fun-tls
dnsNames:
- "portainer.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: radarr-certificate
namespace: external-services
spec:
secretName: radarr-skrd-fun-tls
dnsNames:
- "radarr.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: sonarr-certificate
namespace: external-services
spec:
secretName: sonarr-skrd-fun-tls
dnsNames:
- "sonarr.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: torrent-certificate
namespace: external-services
spec:
secretName: torrent-skrd-fun-tls
dnsNames:
- "torrent.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: notes-certificate
namespace: external-services
spec:
secretName: notes-skrd-fun-tls
dnsNames:
- "notes.skrd.fun"
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
---

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: external-services

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: firefly
namespace: external-services
spec:
type: ExternalName
ports:
- port: 8080
externalName: 192.168.103.15
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: firefly-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: firefly.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: firefly
port:
number: 8080
tls:
- secretName: firefly-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: gametabs
namespace: external-services
spec:
type: ExternalName
ports:
- port: 80
externalName: 192.168.103.6
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gametabs-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: gametabs.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: gametabs
port:
number: 80
tls:
- secretName: gametabs-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: git
namespace: external-services
spec:
type: ExternalName
ports:
- port: 80
externalName: 192.168.103.3
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: git-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: git.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: git
port:
number: 80
tls:
- secretName: git-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: hedgedoc
namespace: external-services
spec:
type: ExternalName
ports:
- port: 3000
externalName: 192.168.103.19
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hedgedoc-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: notes.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hedgedoc
port:
number: 3000
tls:
- secretName: notes-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: haos
namespace: external-services
spec:
type: ExternalName
ports:
- port: 8123
externalName: 192.168.3.6
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: haos-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: haos.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: haos
port:
number: 8123
tls:
- secretName: haos-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: jackett
namespace: external-services
spec:
type: ExternalName
ports:
- port: 9117
externalName: 192.168.103.18
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jackett-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: jackett.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jackett
port:
number: 9117
tls:
- secretName: jackett-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: jelly
namespace: external-services
spec:
type: ExternalName
ports:
- port: 8096
externalName: 192.168.103.11
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jelly-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: jelly.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jelly
port:
number: 8096
tls:
- secretName: jelly-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: navi
namespace: external-services
spec:
type: ExternalName
ports:
- port: 4533
externalName: 192.168.103.10
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: navi-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: navi.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: navi
port:
number: 4533
tls:
- secretName: navi-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: npm
namespace: external-services
spec:
type: ExternalName
ports:
- port: 81
externalName: 192.168.103.2
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: npm-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: npm.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: npm
port:
number: 81
tls:
- secretName: npm-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: omv
namespace: external-services
spec:
type: ExternalName
ports:
- port: 3000
externalName: 192.168.102.1
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: omv-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: omv.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: omv
port:
number: 3000
tls:
- secretName: omv-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: photos
namespace: external-services
spec:
type: ExternalName
ports:
- port: 2283
externalName: 192.168.103.12
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: photos-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: photos.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: photos
port:
number: 2283
tls:
- secretName: photos-skrd-fun-tls

View File

@@ -0,0 +1,43 @@
kind: Service
apiVersion: v1
metadata:
name: pihole
namespace: external-services
spec:
type: ExternalName
ports:
- port: 80
externalName: 192.168.3.5
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: pihole-rewrite
namespace: external-services
spec:
replacePathRegex:
regex: ^/$
replacement: /admin/
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pihole-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-allow-local-only@kubernetescrd, default-redirect-https@kubernetescrd, external-services-pihole-rewrite@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: pihole.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pihole
port:
number: 80
tls:
- secretName: pihole-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: portainer
namespace: external-services
spec:
type: ExternalName
ports:
- port: 9000
externalName: 192.168.102.1
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: portainer-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-allow-local-only@kubernetescrd, default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: portainer.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: portainer
port:
number: 9000
tls:
- secretName: portainer-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: radarr
namespace: external-services
spec:
type: ExternalName
ports:
- port: 7878
externalName: 192.168.103.17
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: radarr-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: radarr.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: radarr
port:
number: 7878
tls:
- secretName: radarr-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: sonarr
namespace: external-services
spec:
type: ExternalName
ports:
- port: 8989
externalName: 192.168.103.16
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sonarr-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: sonarr.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sonarr
port:
number: 8989
tls:
- secretName: sonarr-skrd-fun-tls

View File

@@ -0,0 +1,33 @@
kind: Service
apiVersion: v1
metadata:
name: torrent
namespace: external-services
spec:
type: ExternalName
ports:
- port: 80
externalName: 192.168.103.4
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: torrent-ingress
namespace: external-services
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-redirect-https@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: torrent.skrd.fun
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: torrent
port:
number: 80
tls:
- secretName: torrent-skrd-fun-tls