commit bee9bd7f3934489c23e16e358cf90cc787a50ae6 Author: Chris Richardson Date: Fri Jan 24 10:08:29 2025 -0500 new repo diff --git a/apps/bbs/bbs-endpoint.yaml b/apps/bbs/bbs-endpoint.yaml new file mode 100644 index 0000000..32a7149 --- /dev/null +++ b/apps/bbs/bbs-endpoint.yaml @@ -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 diff --git a/apps/bbs/bbs-ingress.yaml b/apps/bbs/bbs-ingress.yaml new file mode 100644 index 0000000..456831b --- /dev/null +++ b/apps/bbs/bbs-ingress.yaml @@ -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 diff --git a/apps/bbs/bbs-service.yaml b/apps/bbs/bbs-service.yaml new file mode 100644 index 0000000..e51e016 --- /dev/null +++ b/apps/bbs/bbs-service.yaml @@ -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 diff --git a/apps/ingress/ingress.yaml b/apps/ingress/ingress.yaml new file mode 100644 index 0000000..9b2300b --- /dev/null +++ b/apps/ingress/ingress.yaml @@ -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 diff --git a/apps/overseerr/overseerr-deployment.yaml b/apps/overseerr/overseerr-deployment.yaml new file mode 100644 index 0000000..083a6b6 --- /dev/null +++ b/apps/overseerr/overseerr-deployment.yaml @@ -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 diff --git a/apps/overseerr/overseerr-ingress.yaml b/apps/overseerr/overseerr-ingress.yaml new file mode 100644 index 0000000..72befad --- /dev/null +++ b/apps/overseerr/overseerr-ingress.yaml @@ -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 diff --git a/apps/overseerr/overseerr-service.yaml b/apps/overseerr/overseerr-service.yaml new file mode 100644 index 0000000..7b442d2 --- /dev/null +++ b/apps/overseerr/overseerr-service.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: overseerr-service +spec: + ports: + - port: 5055 + targetPort: 5055 + name: http + selector: + app: overseerr diff --git a/apps/overseerr/overseerr-storage.yaml b/apps/overseerr/overseerr-storage.yaml new file mode 100644 index 0000000..fb7eeb0 --- /dev/null +++ b/apps/overseerr/overseerr-storage.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: overseerr-config + namespace: default +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi diff --git a/apps/tautulli/tautulli-deployment.yaml b/apps/tautulli/tautulli-deployment.yaml new file mode 100644 index 0000000..cac2303 --- /dev/null +++ b/apps/tautulli/tautulli-deployment.yaml @@ -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 diff --git a/apps/tautulli/tautulli-ingress.yaml b/apps/tautulli/tautulli-ingress.yaml new file mode 100644 index 0000000..9c187c4 --- /dev/null +++ b/apps/tautulli/tautulli-ingress.yaml @@ -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 diff --git a/apps/tautulli/tautulli-service.yaml b/apps/tautulli/tautulli-service.yaml new file mode 100644 index 0000000..e5966d1 --- /dev/null +++ b/apps/tautulli/tautulli-service.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: tautulli-service +spec: + ports: + - port: 8181 + targetPort: 8181 + name: http + selector: + app: tautulli diff --git a/apps/tautulli/tautulli-storage.yaml b/apps/tautulli/tautulli-storage.yaml new file mode 100644 index 0000000..4dbef67 --- /dev/null +++ b/apps/tautulli/tautulli-storage.yaml @@ -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