This commit is contained in:
Chris Richardson
2025-01-24 10:08:29 -05:00
commit bee9bd7f39
12 changed files with 356 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Endpoints
metadata:
name: bbs-ip
namespace: default
subsets:
- addresses:
- ip: 192.168.1.224
ports:
- name: bbs-http
port: 8888
protocol: TCP

39
apps/bbs/bbs-ingress.yaml Normal file
View File

@@ -0,0 +1,39 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
acme.cert-manager.io/http01-edit-in-place: "true"
cert-manager.io/issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
nginx.ingress.kubernetes.io/server-snippet: |
location /ws {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://192.168.1.224:1123;
keepalive_timeout 300;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
}
nginx.org/keepalive: "300"
name: bbs-ingress
namespace: default
spec:
rules:
- host: lakehouse.lilpenguins.com
http:
paths:
- backend:
service:
name: bbs-ip
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- lakehouse.lilpenguins.com
secretName: bbs-tls-prod

12
apps/bbs/bbs-service.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: bbs-ip
namespace: default
spec:
ports:
- name: bbs-http
port: 80
protocol: TCP
targetPort: 8888
sessionAffinity: None

84
apps/ingress/ingress.yaml Normal file
View File

@@ -0,0 +1,84 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: master.lan
namespace: default
spec:
ingressClassName: nginx
rules:
- http:
paths:
- backend:
service:
name: sonarr-service
port:
number: 8989
path: /sonarr
pathType: Prefix
- backend:
service:
name: radarr-service
port:
number: 7878
path: /radarr
pathType: Prefix
- backend:
service:
name: readarr-service
port:
number: 8787
path: /readarr
pathType: Prefix
- backend:
service:
name: nzbget-service
port:
number: 6789
path: /nzbget
pathType: Prefix
- backend:
service:
name: prometheus-server
port:
number: 80
path: /metric
pathType: Prefix
- backend:
service:
name: zwave-service
port:
number: 8091
path: /zwave
pathType: Prefix
- backend:
service:
name: immich-server
port:
number: 2283
path: /immich
pathType: Prefix
- backend:
service:
name: overseerr-service
port:
number: 5055
path: /overseerr
pathType: Prefix
- backend:
service:
name: tautulli-service
port:
number: 8181
path: /tautulli
pathType: Prefix
- backend:
service:
name: home-assistants-service
port:
number: 7123
path: /ha
pathType: Prefix
status:
loadBalancer:
ingress:
- ip: 192.168.2.9

View File

@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: overseerr
name: overseerr-deployment
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: overseerr
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: overseerr
spec:
containers:
- image: ghcr.io/linuxserver/overseerr
imagePullPolicy: Always
name: overseerr
ports:
- containerPort: 5055
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: config
- mountPath: /persistentvolumes
name: nfs-client-root
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: config
persistentVolumeClaim:
claimName: overseerr-config
- name: nfs-client-root
nfs:
path: /volume1/k8s
server: 192.168.1.176

View File

@@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
acme.cert-manager.io/http01-edit-in-place: "true"
cert-manager.io/issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
name: overseerr-ingress
namespace: default
spec:
rules:
- host: overseerr.lilpenguins.com
http:
paths:
- backend:
service:
name: overseerr-service
port:
number: 5055
path: /
pathType: Prefix
tls:
- hosts:
- overseerr.lilpenguins.com
secretName: overseerr-tls-prod

View File

@@ -0,0 +1,12 @@
---
apiVersion: v1
kind: Service
metadata:
name: overseerr-service
spec:
ports:
- port: 5055
targetPort: 5055
name: http
selector:
app: overseerr

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: overseerr-config
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,53 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: tautulli
name: tautulli-deployment
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: tautulli
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: tautulli
spec:
containers:
- image: lscr.io/linuxserver/tautulli:latest
imagePullPolicy: Always
name: tautulli
ports:
- containerPort: 8181
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: tautulli-config
- mountPath: /persistentvolumes
name: nfs-client-root
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: tautulli-config
persistentVolumeClaim:
claimName: 10g-tautulli-config
- name: nfs-client-root
nfs:
path: /volume1/k8s
server: 192.168.1.176

View File

@@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
acme.cert-manager.io/http01-edit-in-place: "true"
cert-manager.io/issuer: letsencrypt-prod
kubernetes.io/ingress.class: nginx
name: tautulli-ingress
namespace: default
spec:
rules:
- host: tautulli.lilpenguins.com
http:
paths:
- backend:
service:
name: tautulli-service
port:
number: 8181
path: /
pathType: Prefix
tls:
- hosts:
- tautulli.lilpenguins.com
secretName: tautulli-tls-prod

View File

@@ -0,0 +1,12 @@
---
apiVersion: v1
kind: Service
metadata:
name: tautulli-service
spec:
ports:
- port: 8181
targetPort: 8181
name: http
selector:
app: tautulli

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
name: 10g-tautulli-config
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: synology-iscsi-storage
status:
accessModes:
- ReadWriteMany
capacity:
storage: 10Gi
phase: Bound