Improve helm chart PVC support

This commit is contained in:
James Munnelly
2018-01-07 17:15:20 +00:00
parent 92f73e0b7b
commit d0aaa46bb7
3 changed files with 89 additions and 11 deletions
@@ -71,11 +71,23 @@ spec:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: TRANSCODE_PVC - name: TRANSCODE_PVC
{{- if .Values.persistence.transcode.claimName }}
value: "{{ .Values.persistence.transcode.claimName }}"
{{- else }}
value: "{{ template "fullname" . }}-transcode" value: "{{ template "fullname" . }}-transcode"
{{- end }}
- name: DATA_PVC - name: DATA_PVC
{{- if .Values.persistence.data.claimName }}
value: "{{ .Values.persistence.data.claimName }}"
{{- else }}
value: "{{ template "fullname" . }}-data" value: "{{ template "fullname" . }}-data"
{{- end }}
- name: CONFIG_PVC - name: CONFIG_PVC
{{- if .Values.persistence.config.claimName }}
value: "{{ .Values.persistence.config.claimName }}"
{{- else }}
value: "{{ template "fullname" . }}-config" value: "{{ template "fullname" . }}-config"
{{- end }}
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /data mountPath: /data
@@ -94,12 +106,24 @@ spec:
volumes: volumes:
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
{{- if .Values.persistence.data.claimName }}
claimName: "{{ .Values.persistence.data.claimName }}"
{{- else }}
claimName: "{{ template "fullname" . }}-data" claimName: "{{ template "fullname" . }}-data"
{{- end }}
- name: config - name: config
persistentVolumeClaim: persistentVolumeClaim:
{{- if .Values.persistence.config.claimName }}
claimName: "{{ .Values.persistence.config.claimName }}"
{{- else }}
claimName: "{{ template "fullname" . }}-config" claimName: "{{ template "fullname" . }}-config"
{{- end }}
- name: transcode - name: transcode
persistentVolumeClaim: persistentVolumeClaim:
{{- if .Values.persistence.transcode.claimName }}
claimName: "{{ .Values.persistence.transcode.claimName }}"
{{- else }}
claimName: "{{ template "fullname" . }}-transcode" claimName: "{{ template "fullname" . }}-transcode"
{{- end }}
- name: shared - name: shared
emptyDir: {} emptyDir: {}
+22 -10
View File
@@ -1,4 +1,4 @@
## TODO: make this configurable through the helm chart {{- if not .Values.persistence.transcode.claimName }}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
@@ -8,14 +8,19 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
component: transcode
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
resources: resources:
requests: requests:
storage: 10Gi storage: {{ .Values.persistence.transcode.size | quote }}
storageClassName: "nfs" {{- if .Values.persistence.transcode.storageClass }}
storageClassName: {{ .Values.persistence.transcode.storageClass | quote }}
{{- end }}
--- ---
{{- end }}
{{- if not .Values.persistence.config.claimName }}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
@@ -25,14 +30,19 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
component: config
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
resources: resources:
requests: requests:
storage: 5Gi storage: {{ .Values.persistence.config.size | quote }}
storageClassName: "nfs" {{- if .Values.persistence.config.storageClass }}
storageClassName: {{ .Values.persistence.config.storageClass | quote }}
{{- end }}
--- ---
{{- end }}
{{- if not .Values.persistence.data.claimName }}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:
@@ -42,13 +52,15 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }} release: {{ .Release.Name }}
heritage: {{ .Release.Service }} heritage: {{ .Release.Service }}
component: data
spec: spec:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
resources: resources:
requests: requests:
storage: 5Gi storage: {{ .Values.persistence.data.size | quote }}
selector: {{- if .Values.persistence.data.storageClass }}
matchLabels: storageClassName: {{ .Values.persistence.data.storageClass | quote }}
name: pms-data {{- end }}
storageClassName: "" ---
{{- end }}
+43 -1
View File
@@ -1,19 +1,22 @@
# Default values for kube-plex. # Default values for kube-plex.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.
replicaCount: 1
image: image:
repository: plexinc/pms-docker repository: plexinc/pms-docker
tag: 1.10.1.4602-f54242b6b tag: 1.10.1.4602-f54242b6b
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
kubePlexImage: kubePlexImage:
repository: quay.io/munnerz/kube-plex repository: quay.io/munnerz/kube-plex
tag: latest tag: latest
pullPolicy: Always pullPolicy: Always
# Override this with the plex claim token from plex.tv/claim # Override this with the plex claim token from plex.tv/claim
claimToken: "" claimToken: ""
service: service:
type: ClusterIP type: ClusterIP
ingress: ingress:
enabled: false enabled: false
# Used to create an Ingress record. # Used to create an Ingress record.
@@ -27,6 +30,45 @@ ingress:
# - secretName: chart-example-tls # - secretName: chart-example-tls
# hosts: # hosts:
# - chart-example.local # - chart-example.local
persistence:
transcode:
# Optionally specify claimName to manually override the PVC to be used for
# the transcode directory. If claimName is specified, storageClass and size
# are ignored.
## claimName: "plex-transcode-pvc"
# Optionally specify a storage class to be used for the transcode directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
storageClass: ""
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 20Gi
data:
# Optionally specify claimName to manually override the PVC to be used for
# the data directory. If claimName is specified, storageClass and size are
# ignored.
## claimName: "plex-data-pvc"
# Optionally specify a storage class to be used for the data directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
storageClass: ""
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 40Gi
config:
# Optionally specify claimName to manually override the PVC to be used for
# the config directory. If claimName is specified, storageClass and size
# are ignored.
## claimName: "plex-config-pvc"
# Optionally specify a storage class to be used for the config directory.
# If not specified and claimName is not specified, the default storage
# class will be used.
storageClass: ""
# The requested size of the volume to be used when creating a
# PersistentVolumeClaim.
size: 20Gi
resources: {} resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little