mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-23 23:49:12 +00:00
[duplicati] migrate to common (#822)
* [duplicati] migrate to common Signed-off-by: Nicholas Wilde <ncwilde43@gmail.com> * Disabled volumes Signed-off-by: Nicholas Wilde <ncwilde43@gmail.com> * Changed image tag to latest Signed-off-by: Nicholas Wilde <ncwilde43@gmail.com> Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
This commit is contained in:
parent
bcb2c84cfa
commit
d55b98d49e
@ -1,15 +1,19 @@
|
||||
apiVersion: v2
|
||||
appVersion: v2.0.5.1
|
||||
appVersion: latest
|
||||
description: Store securely encrypted backups on cloud storage services!
|
||||
name: duplicati
|
||||
version: 2.1.3
|
||||
version: 3.0.0
|
||||
keywords:
|
||||
- duplicati
|
||||
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/duplicati
|
||||
icon: https://i.imgur.com/KjnkhUJ.png
|
||||
icon: https://avatars.githubusercontent.com/u/8270231?s=200&v=4
|
||||
sources:
|
||||
- https://hub.docker.com/r/linuxserver/duplicati/
|
||||
- https://github.com/duplicati/duplicati
|
||||
maintainers:
|
||||
- name: simoncaron
|
||||
email: simon.caron@protonmail.com
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.k8s-at-home.com
|
||||
version: 2.3.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
# duplicati
|
||||
|
||||
![Version: 2.1.3](https://img.shields.io/badge/Version-2.1.3-informational?style=flat-square) ![AppVersion: v2.0.5.1](https://img.shields.io/badge/AppVersion-v2.0.5.1-informational?style=flat-square)
|
||||
![Version: 3.0.0](https://img.shields.io/badge/Version-3.0.0-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
|
||||
|
||||
Store securely encrypted backups on cloud storage services!
|
||||
|
||||
@ -17,6 +17,7 @@ Store securely encrypted backups on cloud storage services!
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://library-charts.k8s-at-home.com | common | 2.3.1 |
|
||||
|
||||
## TL;DR
|
||||
|
||||
@ -78,52 +79,22 @@ If you get `Error: rendered manifests contain a resource that already exists. Un
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| affinity | object | `{}` | Affinity settings for pod assignment |
|
||||
| cliArgs | string | `""` | Optionally specify any CLI variables you want to launch the app with |
|
||||
| deploymentAnnotations | object | `{}` | Key-value pairs to add as deployment annotations |
|
||||
| fullnameOverride | string | `""` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
|
||||
| image.repository | string | `"linuxserver/duplicati"` | Image repository |
|
||||
| image.tag | string | `"v2.0.5.1-2.0.5.1_beta_2020-01-18-ls72"` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/duplicati/tags/). |
|
||||
| ingress.annotations | object | `{}` | Ingress annotations |
|
||||
| ingress.enabled | bool | `false` | Enables Ingress |
|
||||
| ingress.hosts | list | `["chart-example.local"]` | Ingress accepted hostnames |
|
||||
| ingress.labels | object | `{}` | Custom labels |
|
||||
| ingress.path | string | `"/"` | Ingress path |
|
||||
| ingress.tls | list | `[]` | Ingress TLS configuration |
|
||||
| nameOverride | string | `""` | |
|
||||
| nodeSelector | object | `{}` | Node labels for pod assignment |
|
||||
| persistence.backups.accessMode | string | `"ReadWriteOnce"` | Use an existing PVC to persist data existingClaim: your-claim -- Persistence access mode |
|
||||
| persistence.backups.enabled | bool | `true` | Use persistent volume to store backups data |
|
||||
| persistence.backups.size | string | `"1Gi"` | Size of persistent volume claim |
|
||||
| persistence.backups.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
|
||||
| persistence.config.accessMode | string | `"ReadWriteOnce"` | Use an existing PVC to persist data existingClaim: your-claim -- Persistence access mode |
|
||||
| persistence.config.enabled | bool | `true` | Use persistent volume to store configuration data |
|
||||
| persistence.config.size | string | `"1Gi"` | Size of persistent volume claim |
|
||||
| persistence.config.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
|
||||
| persistence.extraExistingClaimMounts | list | `[]` | Optionally add multiple existing claims |
|
||||
| persistence.source.accessMode | string | `"ReadWriteOnce"` | Use an existing PVC to persist data existingClaim: your-claim -- Persistence access mode |
|
||||
| persistence.source.enabled | bool | `true` | Use persistent volume to store source data |
|
||||
| persistence.source.size | string | `"1Gi"` | Size of persistent volume claim |
|
||||
| persistence.source.skipuninstall | bool | `false` | Do not delete the pvc upon helm uninstall |
|
||||
| pgid | int | `1001` | Process groupID the duplicati instance should run as |
|
||||
| podAnnotations | object | `{}` | Key-value pairs to add as pod annotations |
|
||||
| probes.liveness.failureThreshold | int | `5` | Specify liveness `failureThreshold` parameter for the deployment |
|
||||
| probes.liveness.initialDelaySeconds | int | `60` | Specify liveness `initialDelaySeconds` parameter for the deployment |
|
||||
| probes.liveness.timeoutSeconds | int | `10` | Specify liveness `timeoutSeconds` parameter for the deployment |
|
||||
| probes.readiness.failureThreshold | int | `5` | Specify readiness `failureThreshold` parameter for the deployment |
|
||||
| probes.readiness.initialDelaySeconds | int | `60` | Specify readiness `initialDelaySeconds` parameter for the deployment |
|
||||
| probes.readiness.timeoutSeconds | int | `10` | Specify readiness `timeoutSeconds` parameter for the deployment |
|
||||
| puid | int | `1001` | Process userID the duplicati instance should run as |
|
||||
| resources | object | `{}` | CPU/Memory resource requests/limits |
|
||||
| service.annotations | object | `{}` | Service annotations for the duplicati GUI |
|
||||
| service.labels | object | `{}` | Custom labels |
|
||||
| service.loadBalancerIP | string | `nil` | Loadbalance IP for the duplicati GUI |
|
||||
| service.port | int | `8200` | Kubernetes port where the duplicati GUI is exposed |
|
||||
| service.type | string | `"ClusterIP"` | Kubernetes service type for the duplicati GUI |
|
||||
| strategyType | string | `"Recreate"` | Specifies the strategy used to replace old Pods by new ones |
|
||||
| timezone | string | `"UTC"` | Timezone the duplicati instance should run as, e.g. 'America/New_York' |
|
||||
| tolerations | list | `[]` | Toleration labels for pod assignment |
|
||||
| env | object | `{}` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"linuxserver/duplicati"` | |
|
||||
| image.tag | string | `"latest"` | |
|
||||
| ingress.enabled | bool | `false` | |
|
||||
| persistence.backups.emptyDir.enabled | bool | `false` | |
|
||||
| persistence.backups.enabled | bool | `false` | |
|
||||
| persistence.backups.mountPath | string | `"/backups"` | |
|
||||
| persistence.config.emptyDir.enabled | bool | `false` | |
|
||||
| persistence.config.enabled | bool | `false` | |
|
||||
| persistence.config.mountPath | string | `"/config"` | |
|
||||
| persistence.source.emptyDir.enabled | bool | `false` | |
|
||||
| persistence.source.enabled | bool | `false` | |
|
||||
| persistence.source.mountPath | string | `"/source"` | |
|
||||
| service.port.port | int | `8200` | |
|
||||
| strategy.type | string | `"Recreate"` | |
|
||||
|
||||
## Changelog
|
||||
|
||||
@ -131,6 +102,22 @@ All notable changes to this application Helm chart will be documented in this fi
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [3.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- **BREAKING** Migrate to the common library, a lot of configuration has changed.
|
||||
- Updated icon.
|
||||
- Changed image tag to latest
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
### [2.1.1]
|
||||
|
||||
#### Added
|
||||
@ -145,6 +132,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
|
||||
- N/A
|
||||
|
||||
[3.0.0]: #3.0.0
|
||||
[2.1.1]: #2.1.1
|
||||
|
||||
## Support
|
||||
@ -155,4 +143,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
@ -9,6 +9,22 @@ All notable changes to this application Helm chart will be documented in this fi
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### [3.0.0]
|
||||
|
||||
#### Added
|
||||
|
||||
- N/A
|
||||
|
||||
#### Changed
|
||||
|
||||
- **BREAKING** Migrate to the common library, a lot of configuration has changed.
|
||||
- Updated icon.
|
||||
- Changed image tag to latest
|
||||
|
||||
#### Removed
|
||||
|
||||
- N/A
|
||||
|
||||
### [2.1.1]
|
||||
|
||||
#### Added
|
||||
@ -23,5 +39,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
|
||||
- N/A
|
||||
|
||||
[3.0.0]: #3.0.0
|
||||
[2.1.1]: #2.1.1
|
||||
{{- end -}}
|
||||
|
@ -1,19 +1 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "duplicati.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ include "duplicati.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "duplicati.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "duplicati.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:8200
|
||||
{{- end }}
|
||||
{{- include "common.notes.defaultNotes" . -}}
|
||||
|
@ -1,32 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "duplicati.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 "duplicati.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 "duplicati.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
@ -1,29 +0,0 @@
|
||||
|
||||
{{- if and .Values.persistence.backups.enabled (not .Values.persistence.backups.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "duplicati.fullname" . }}-backups
|
||||
{{- if .Values.persistence.backups.skipuninstall }}
|
||||
annotations:
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.backups.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.backups.size | quote }}
|
||||
{{- if .Values.persistence.backups.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.backups.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.backups.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
1
charts/stable/duplicati/templates/common.yaml
Normal file
1
charts/stable/duplicati/templates/common.yaml
Normal file
@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
@ -1,29 +0,0 @@
|
||||
|
||||
{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "duplicati.fullname" . }}-config
|
||||
{{- if .Values.persistence.config.skipuninstall }}
|
||||
annotations:
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.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 -}}
|
@ -1,130 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "duplicati.fullname" . }}
|
||||
{{- if .Values.deploymentAnnotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.deploymentAnnotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.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 "duplicati.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.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: 8200
|
||||
protocol: TCP
|
||||
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 }}"
|
||||
- name: CLI_ARGS
|
||||
value: "{{ .Values.cliArgs }}"
|
||||
volumeMounts:
|
||||
- mountPath: /config
|
||||
name: config
|
||||
- mountPath: /source
|
||||
name: source
|
||||
{{- if .Values.persistence.source.subPath }}
|
||||
subPath: {{ .Values.persistence.source.subPath }}
|
||||
{{- end }}
|
||||
{{- if .Values.additionalVolumeMounts }}
|
||||
{{- toYaml .Values.additionalVolumeMounts | nindent 12}}
|
||||
{{- end }}
|
||||
- mountPath: /backups
|
||||
name: backups
|
||||
{{- if .Values.persistence.backups.subPath }}
|
||||
subPath: {{ .Values.persistence.backups.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 "duplicati.fullname" . }}-config{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
- name: source
|
||||
{{- if .Values.persistence.source.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.source.existingClaim }}{{ .Values.persistence.source.existingClaim }}{{- else }}{{ template "duplicati.fullname" . }}-source{{- end }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
{{- if .Values.additionalVolumes }}
|
||||
{{- toYaml .Values.additionalVolumes | nindent 6}}
|
||||
{{- end }}
|
||||
- name: backups
|
||||
{{- if .Values.persistence.backups.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ if .Values.persistence.backups.existingClaim }}{{ .Values.persistence.backups.existingClaim }}{{- else }}{{ template "duplicati.fullname" . }}-backups{{- 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 }}
|
@ -1,41 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "duplicati.fullname" . -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- with .Values.ingress.labels -}}
|
||||
{{ toYaml . | nindent 4 }}
|
||||
{{- end -}}
|
||||
{{- 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 }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
@ -1,52 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "duplicati.fullname" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- if .Values.service.labels }}
|
||||
{{ toYaml .Values.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if (or (eq .Values.service.type "ClusterIP") (empty .Values.service.type)) }}
|
||||
type: ClusterIP
|
||||
{{- if .Values.service.clusterIP }}
|
||||
clusterIP: {{ .Values.service.clusterIP }}
|
||||
{{end}}
|
||||
{{- else if eq .Values.service.type "LoadBalancer" }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalIPs }}
|
||||
externalIPs:
|
||||
{{ toYaml .Values.service.externalIPs | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.service.externalTrafficPolicy }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
port: {{ .Values.service.port }}
|
||||
protocol: TCP
|
||||
targetPort: http
|
||||
{{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
|
||||
nodePort: {{.Values.service.nodePort}}
|
||||
{{ end }}
|
||||
selector:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
@ -1,29 +0,0 @@
|
||||
|
||||
{{- if and .Values.persistence.source.enabled (not .Values.persistence.source.existingClaim) }}
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: {{ template "duplicati.fullname" . }}-source
|
||||
{{- if .Values.persistence.source.skipuninstall }}
|
||||
annotations:
|
||||
"helm.sh/resource-policy": keep
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ include "duplicati.name" . }}
|
||||
helm.sh/chart: {{ include "duplicati.chart" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .Values.persistence.source.accessMode | quote }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.persistence.source.size | quote }}
|
||||
{{- if .Values.persistence.source.storageClass }}
|
||||
{{- if (eq "-" .Values.persistence.source.storageClass) }}
|
||||
storageClassName: ""
|
||||
{{- else }}
|
||||
storageClassName: "{{ .Values.persistence.source.storageClass }}"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
@ -1,166 +1,43 @@
|
||||
# Default values for duplicati.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
#
|
||||
# IMPORTANT NOTE
|
||||
#
|
||||
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||
#
|
||||
|
||||
image:
|
||||
# -- Image repository
|
||||
repository: linuxserver/duplicati
|
||||
# -- Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/duplicati/tags/).
|
||||
tag: v2.0.5.1-2.0.5.1_beta_2020-01-18-ls72
|
||||
# -- Image pull policy
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Specifies the strategy used to replace old Pods by new ones
|
||||
strategyType: Recreate
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# Probes configuration
|
||||
probes:
|
||||
liveness:
|
||||
# -- Specify liveness `initialDelaySeconds` parameter for the deployment
|
||||
initialDelaySeconds: 60
|
||||
# -- Specify liveness `failureThreshold` parameter for the deployment
|
||||
failureThreshold: 5
|
||||
# -- Specify liveness `timeoutSeconds` parameter for the deployment
|
||||
timeoutSeconds: 10
|
||||
readiness:
|
||||
# -- Specify readiness `initialDelaySeconds` parameter for the deployment
|
||||
initialDelaySeconds: 60
|
||||
# -- Specify readiness `failureThreshold` parameter for the deployment
|
||||
failureThreshold: 5
|
||||
# -- Specify readiness `timeoutSeconds` parameter for the deployment
|
||||
timeoutSeconds: 10
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
# -- Timezone the duplicati instance should run as, e.g. 'America/New_York'
|
||||
timezone: UTC
|
||||
# -- Process userID the duplicati instance should run as
|
||||
puid: 1001
|
||||
# -- Process groupID the duplicati instance should run as
|
||||
pgid: 1001
|
||||
# -- Optionally specify any CLI variables you want to launch the app with
|
||||
cliArgs: ""
|
||||
# See more environment variables in the duplicati documentation
|
||||
# https://hub.docker.com/r/linuxserver/duplicati
|
||||
env: {}
|
||||
# TZ:
|
||||
|
||||
service:
|
||||
# -- Kubernetes service type for the duplicati GUI
|
||||
type: ClusterIP
|
||||
# -- Kubernetes port where the duplicati GUI is exposed
|
||||
port: 8200
|
||||
## Specify the nodePort value for the LoadBalancer and NodePort service types.
|
||||
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
|
||||
##
|
||||
# nodePort:
|
||||
|
||||
# -- Service annotations for the duplicati GUI
|
||||
annotations: {}
|
||||
# -- Custom labels
|
||||
labels: {}
|
||||
# -- Loadbalance IP for the duplicati GUI
|
||||
loadBalancerIP:
|
||||
# -- List of IP CIDRs allowed access to load balancer (if supported)
|
||||
# loadBalancerSourceRanges: []
|
||||
|
||||
## Set the externalTrafficPolicy in the Service to either Cluster or Local
|
||||
# externalTrafficPolicy: Cluster
|
||||
port:
|
||||
port: 8200
|
||||
|
||||
ingress:
|
||||
# -- Enables Ingress
|
||||
enabled: false
|
||||
# -- Ingress annotations
|
||||
annotations: {}
|
||||
# -- Custom labels
|
||||
labels: {}
|
||||
# -- Ingress path
|
||||
path: /
|
||||
# -- Ingress accepted hostnames
|
||||
hosts:
|
||||
- chart-example.local
|
||||
# -- Ingress TLS configuration
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
persistence:
|
||||
config:
|
||||
# -- Use persistent volume to store configuration data
|
||||
enabled: true
|
||||
# -- Type of persistent volume claim
|
||||
# storageClass: "-"
|
||||
|
||||
# -- Use an existing PVC to persist data
|
||||
# existingClaim: your-claim
|
||||
|
||||
# -- Persistence access mode
|
||||
accessMode: ReadWriteOnce
|
||||
# -- Size of persistent volume claim
|
||||
size: 1Gi
|
||||
# -- Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
enabled: false
|
||||
emptyDir:
|
||||
enabled: false
|
||||
mountPath: /config
|
||||
source:
|
||||
# -- Use persistent volume to store source data
|
||||
enabled: true
|
||||
# -- Type of persistent volume claim
|
||||
# storageClass: "-"
|
||||
|
||||
# -- Use an existing PVC to persist data
|
||||
# existingClaim: your-claim
|
||||
|
||||
# -- Persistence access mode
|
||||
accessMode: ReadWriteOnce
|
||||
# -- Size of persistent volume claim
|
||||
size: 1Gi
|
||||
# -- Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
enabled: false
|
||||
emptyDir:
|
||||
enabled: false
|
||||
mountPath: /source
|
||||
backups:
|
||||
# -- Use persistent volume to store backups data
|
||||
enabled: true
|
||||
# -- Type of persistent volume claim
|
||||
# storageClass: "-"
|
||||
|
||||
# -- Use an existing PVC to persist data
|
||||
# existingClaim: your-claim
|
||||
|
||||
# -- Persistence access mode
|
||||
accessMode: ReadWriteOnce
|
||||
# -- Size of persistent volume claim
|
||||
size: 1Gi
|
||||
# -- Do not delete the pvc upon helm uninstall
|
||||
skipuninstall: false
|
||||
# -- Optionally add multiple existing claims
|
||||
extraExistingClaimMounts: []
|
||||
# - name: external-mount
|
||||
# mountPath: /srv/external-mount
|
||||
## A manually managed Persistent Volume and Claim
|
||||
## If defined, PVC must be created manually before volume will be bound
|
||||
# existingClaim:
|
||||
# readOnly: true
|
||||
|
||||
# -- CPU/Memory resource requests/limits
|
||||
resources: {}
|
||||
# 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
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
# -- Node labels for pod assignment
|
||||
nodeSelector: {}
|
||||
|
||||
# -- Toleration labels for pod assignment
|
||||
tolerations: []
|
||||
|
||||
# -- Affinity settings for pod assignment
|
||||
affinity: {}
|
||||
|
||||
# -- Key-value pairs to add as pod annotations
|
||||
podAnnotations: {}
|
||||
|
||||
# -- Key-value pairs to add as deployment annotations
|
||||
deploymentAnnotations: {}
|
||||
enabled: false
|
||||
emptyDir:
|
||||
enabled: false
|
||||
mountPath: /backups
|
||||
|
Loading…
Reference in New Issue
Block a user