This commit is contained in:
ducoterra
2020-07-27 15:01:34 -04:00
parent cfc357b50c
commit 8a41270190
7 changed files with 219 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
spec:
selector:
matchLabels:
app: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}
spec:
containers:
- name: {{ .Release.Name }}
image: jellyfin/jellyfin:latest
volumeMounts:
- mountPath: /media
name: media
- mountPath: /config
name: config
- mountPath: /cache
name: cache
resources:
limits:
memory: "4Gi"
cpu: "4"
requests:
memory: "100Mi"
cpu: "1m"
ports:
- containerPort: 8096
- containerPort: 8920
volumes:
- name: media
persistentVolumeClaim:
claimName: media-{{ .Release.Name }}
- name: config
persistentVolumeClaim:
claimName: config-{{ .Release.Name }}
- name: cache
persistentVolumeClaim:
claimName: cache-{{ .Release.Name }}

View File

@@ -0,0 +1,79 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ .Release.Name }}-internal-tls
annotations:
kubernetes.io/ingress.class: traefik-internal
spec:
entryPoints:
- websecure
tls:
certResolver: myresolver
domains:
- main: "*.ducoterra.net"
routes:
- match: Host(`jellyfin.ducoterra.net`)
kind: Rule
services:
- name: {{ .Release.Name }}
port: 8096
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ .Release.Name }}-internal-web
annotations:
kubernetes.io/ingress.class: traefik-internal
spec:
entryPoints:
- web
routes:
- match: Host(`jellyfin.ducoterra.net`)
kind: Rule
services:
- name: {{ .Release.Name }}
port: 8096
middlewares:
- name: httpsredirect
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ .Release.Name }}-external-tls
annotations:
kubernetes.io/ingress.class: traefik-external
spec:
entryPoints:
- websecure
tls:
certResolver: myresolver
routes:
- match: Host(`jellyfin.ducoterra.net`)
kind: Rule
services:
- name: {{ .Release.Name }}
port: 8096
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ .Release.Name }}-external-web
annotations:
kubernetes.io/ingress.class: traefik-external
spec:
entryPoints:
- web
routes:
- match: Host(`jellyfin.ducoterra.net`)
kind: Rule
services:
- name: {{ .Release.Name }}
port: 8096
middlewares:
- name: httpsredirect

41
helm/templates/pvc.yaml Normal file
View File

@@ -0,0 +1,41 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: media-{{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: hdd
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cache-{{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: nvme
accessModes:
- ReadWriteMany
resources:
requests:
storage: 32Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: config-{{ .Release.Name }}
annotations:
"helm.sh/resource-policy": keep
spec:
storageClassName: nvme
accessModes:
- ReadWriteMany
resources:
requests:
storage: 32Gi

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
spec:
selector:
app: {{ .Release.Name }}
ports:
- port: 8096
targetPort: 8096