Move charts into correct folders

This commit is contained in:
2020-04-29 08:19:29 +01:00
parent bcac7514af
commit 81fc336fbd
25 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "deluge.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "deluge.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "deluge.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@@ -0,0 +1,60 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "deluge.fullname" . }}-bttcp
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.btservice.labels }}
{{ toYaml .Values.btservice.labels | indent 4 }}
{{- end }}
{{- with .Values.btservice.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if (or (eq .Values.btservice.type "ClusterIP") (empty .Values.btservice.type)) }}
type: ClusterIP
{{- if .Values.btservice.clusterIP }}
clusterIP: {{ .Values.btservice.clusterIP }}
{{end}}
{{- else if eq .Values.btservice.type "LoadBalancer" }}
type: {{ .Values.btservice.type }}
{{- if .Values.btservice.loadBalancerIP }}
loadBalancerIP: {{ .Values.btservice.loadBalancerIP }}
{{- end }}
{{- if .Values.btservice.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.btservice.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- else }}
type: {{ .Values.btservice.type }}
{{- end }}
{{- if .Values.btservice.externalIPs }}
externalIPs:
{{ toYaml .Values.btservice.externalIPs | indent 4 }}
{{- end }}
{{- if .Values.btservice.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.btservice.externalTrafficPolicy }}
{{- end }}
ports:
- name: daemon
port: 58846
protocol: TCP
targetPort: daemon
{{ if (eq .Values.btservice.type "NodePort") }}
nodePort: 58846
{{ end }}
- name: bt-tcp
port: 58946
protocol: TCP
targetPort: bt-tcp
{{ if (eq .Values.btservice.type "NodePort") }}
nodePort: 58946
{{ end }}
selector:
app.kubernetes.io/name: {{ include "deluge.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -0,0 +1,53 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "deluge.fullname" . }}-btudp
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.btservice.labels }}
{{ toYaml .Values.btservice.labels | indent 4 }}
{{- end }}
{{- with .Values.btservice.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if (or (eq .Values.btservice.type "ClusterIP") (empty .Values.btservice.type)) }}
type: ClusterIP
{{- if .Values.btservice.clusterIP }}
clusterIP: {{ .Values.btservice.clusterIP }}
{{end}}
{{- else if eq .Values.btservice.type "LoadBalancer" }}
type: {{ .Values.btservice.type }}
{{- if .Values.btservice.loadBalancerIP }}
loadBalancerIP: {{ .Values.btservice.loadBalancerIP }}
{{- end }}
{{- if .Values.btservice.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.btservice.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- else }}
type: {{ .Values.btservice.type }}
{{- end }}
{{- if .Values.btservice.externalIPs }}
externalIPs:
{{ toYaml .Values.btservice.externalIPs | indent 4 }}
{{- end }}
{{- if .Values.btservice.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.btservice.externalTrafficPolicy }}
{{- end }}
ports:
- name: bt-udp
port: 58946
protocol: UDP
targetPort: bt-udp
{{ if (eq .Values.btservice.type "NodePort") }}
nodePort: 58946
{{ end }}
selector:
app.kubernetes.io/name: {{ include "deluge.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -0,0 +1,29 @@
{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "deluge.fullname" . }}-config
{{- if .Values.persistence.config.skipuninstall }}
annotations:
"helm.sh/resource-policy": keep
{{- end }}
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
accessModes:
- {{ .Values.persistence.config.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.config.size | quote }}
{{- if .Values.persistence.config.storageClass }}
{{- if (eq "-" .Values.persistence.config.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.config.storageClass }}"
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -0,0 +1,122 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "deluge.fullname" . }}
{{- if .Values.deploymentAnnotations }}
annotations:
{{- range $key, $value := .Values.deploymentAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: 1
revisionHistoryLimit: 3
strategy:
type: {{ .Values.strategyType }}
selector:
matchLabels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Values.podAnnotations }}
annotations:
{{- range $key, $value := .Values.podAnnotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
spec:
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 8112
protocol: TCP
- name: daemon
containerPort: 58846
protocol: TCP
- name: bt-tcp
containerPort: 58946
protocol: TCP
- name: bt-udp
containerPort: 58946
protocol: UDP
livenessProbe:
tcpSocket:
port: http
initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
timeoutSeconds: {{ .Values.probes.liveness.timeoutSeconds }}
readinessProbe:
tcpSocket:
port: http
initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
timeoutSeconds: {{ .Values.probes.readiness.timeoutSeconds }}
env:
- name: TZ
value: "{{ .Values.timezone }}"
- name: PUID
value: "{{ .Values.puid }}"
- name: PGID
value: "{{ .Values.pgid }}"
volumeMounts:
- mountPath: /config
name: config
{{- if .Values.persistence.config.subPath }}
subPath: "{{ .Values.persistence.config.subPath }}"
{{- end }}
- mountPath: /downloads
name: downloads
{{- if .Values.persistence.downloads.subPath }}
subPath: {{ .Values.persistence.downloads.subPath }}
{{- end }}
{{- range .Values.persistence.extraExistingClaimMounts }}
- name: {{ .name }}
mountPath: {{ .mountPath }}
readOnly: {{ .readOnly }}
{{- end }}
resources:
{{ toYaml .Values.resources | indent 12 }}
volumes:
- name: config
{{- if .Values.persistence.config.enabled }}
persistentVolumeClaim:
claimName: {{ if .Values.persistence.config.existingClaim }}{{ .Values.persistence.config.existingClaim }}{{- else }}{{ template "deluge.fullname" . }}-config{{- end }}
{{- else }}
emptyDir: {}
{{ end }}
- name: downloads
{{- if .Values.persistence.downloads.enabled }}
persistentVolumeClaim:
claimName: {{ if .Values.persistence.downloads.existingClaim }}{{ .Values.persistence.downloads.existingClaim }}{{- else }}{{ template "deluge.fullname" . }}-downloads{{- end }}
{{- else }}
emptyDir: {}
{{- end }}
{{- range .Values.persistence.extraExistingClaimMounts }}
- name: {{ .name }}
persistentVolumeClaim:
claimName: {{ .existingClaim }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}

View File

@@ -0,0 +1,28 @@
{{- if and .Values.persistence.downloads.enabled (not .Values.persistence.downloads.existingClaim) }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "deluge.fullname" . }}-downloads
{{- if .Values.persistence.downloads.skipuninstall }}
annotations:
"helm.sh/resource-policy": keep
{{- end }}
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
accessModes:
- {{ .Values.persistence.downloads.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.downloads.size | quote }}
{{- if .Values.persistence.downloads.storageClass }}
{{- if (eq "-" .Values.persistence.downloads.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.downloads.storageClass }}"
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -0,0 +1,38 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "deluge.fullname" . -}}
{{- $ingressPath := .Values.ingress.path -}}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ . | quote }}
http:
paths:
- path: {{ $ingressPath }}
backend:
serviceName: {{ $fullName }}-webui
servicePort: http
{{- end }}
{{- end }}

View File

@@ -0,0 +1,53 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "deluge.fullname" . }}-webui
labels:
app.kubernetes.io/name: {{ include "deluge.name" . }}
helm.sh/chart: {{ include "deluge.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.webuiservice.labels }}
{{ toYaml .Values.webuiservice.labels | indent 4 }}
{{- end }}
{{- with .Values.webuiservice.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if (or (eq .Values.webuiservice.type "ClusterIP") (empty .Values.webuiservice.type)) }}
type: ClusterIP
{{- if .Values.webuiservice.clusterIP }}
clusterIP: {{ .Values.webuiservice.clusterIP }}
{{end}}
{{- else if eq .Values.webuiservice.type "LoadBalancer" }}
type: {{ .Values.webuiservice.type }}
{{- if .Values.webuiservice.loadBalancerIP }}
loadBalancerIP: {{ .Values.webuiservice.loadBalancerIP }}
{{- end }}
{{- if .Values.webuiservice.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.webuiservice.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- else }}
type: {{ .Values.webuiservice.type }}
{{- end }}
{{- if .Values.webuiservice.externalIPs }}
externalIPs:
{{ toYaml .Values.webuiservice.externalIPs | indent 4 }}
{{- end }}
{{- if .Values.webuiservice.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.webuiservice.externalTrafficPolicy }}
{{- end }}
ports:
- name: http
port: {{ .Values.webuiservice.port }}
protocol: TCP
targetPort: http
{{ if (and (eq .Values.webuiservice.type "NodePort") (not (empty .Values.webuiservice.nodePort))) }}
nodePort: {{.Values.webuiservice.nodePort}}
{{ end }}
selector:
app.kubernetes.io/name: {{ include "deluge.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}