This commit is contained in:
2022-12-11 05:20:36 -06:00
parent 728828d631
commit 71f7e2ad89
7 changed files with 199 additions and 53 deletions

View File

@@ -0,0 +1,23 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: plex
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/DeveloperDurp/homelab.git
targetRevision: main
path: plex
directory:
recurse: true
destination:
server: https://kubernetes.default.svc
namespace: plex
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true

View File

@@ -1,53 +1,54 @@
apiVersion: v1 #apiVersion: v1
kind: Service #kind: Service
metadata: #metadata:
name: plex # name: plex
spec: #spec:
ports: # ports:
- name: app # - name: app
port: 32400 # port: 32400
protocol: TCP # protocol: TCP
targetPort: 32400 # targetPort: 32400
clusterIP: None # clusterIP: None
type: ClusterIP # type: ClusterIP
#
--- #---
#
apiVersion: v1 #apiVersion: v1
kind: Endpoints #kind: Endpoints
metadata: #metadata:
name: plex # name: plex
subsets: #subsets:
- addresses: #- addresses:
- ip: 192.168.20.253 # - ip: 192.168.20.253
ports: # ports:
- name: app # - name: app
port: 32400 # port: 32400
protocol: TCP # protocol: TCP
#
--- #---
#
apiVersion: networking.k8s.io/v1 #apiVersion: networking.k8s.io/v1
kind: Ingress #kind: Ingress
metadata: #metadata:
name: plex-ingress # name: plex-ingress
annotations: # annotations:
kubernetes.io/ingress.class: nginx # kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-production # cert-manager.io/cluster-issuer: letsencrypt-production
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec: #spec:
rules: # rules:
- host: plex.durp.info # - host: plex.durp.info
http: # http:
paths: # paths:
- path: / # - path: /
pathType: Prefix # pathType: Prefix
backend: # backend:
service: # service:
name: plex # name: plex
port: # port:
number: 32400 # number: 32400
tls: # tls:
- hosts: # - hosts:
- plex.durp.info # - plex.durp.info
secretName: plex-tls # secretName: plex-tls
#

7
plex/Chart.yaml Normal file
View File

@@ -0,0 +1,7 @@
apiVersion: v2
name: plex
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"

View File

@@ -0,0 +1,24 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: plex-ingress
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-production
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
rules:
- host: plex.durp.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: plex
port:
number: 32400
tls:
- hosts:
- plex.durp.info
secretName: plex-tls

View File

@@ -0,0 +1,51 @@
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: durp.info/nfs
finalizers:
- kubernetes.io/pv-protection
name: plex-nfs-pv
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1000Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: plex-nfs-pvc
namespace: plex
nfs:
path: /mnt/user/plex
server: 192.168.20.253
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-storage
volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: durp.info/nfs
finalizers:
- kubernetes.io/pv-protection
name: plex-pv
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 10Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: plex-pvc
namespace: plex
nfs:
path: /mnt/user/plex
server: 192.168.20.253
persistentVolumeReclaimPolicy: Retain
storageClassName: longhorn
volumeMode: Filesystem

View File

@@ -0,0 +1,27 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-nfs-pvc
namespace: plex
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1000Gi
storageClassName: nfs-storage
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-pvc
namespace: plex
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: longhorn

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: service
spec:
selector:
component: plex
type: ClusterIP
ports:
- name: https
port: 32400
targetPort: 32400
protocol: TCP