From 3070528d2fffc4d4b987c99743c26fca8761ee9f Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 21:45:52 -0500 Subject: [PATCH 01/14] replace radarr --- charts/media-common/radarr/Chart.yaml | 20 --- charts/media-common/radarr/values.yaml | 11 -- charts/radarr/.helmignore | 23 --- charts/radarr/Chart.yaml | 23 +-- charts/radarr/OWNERS | 4 - charts/radarr/README.md | 131 --------------- charts/radarr/templates/NOTES.txt | 19 --- charts/radarr/templates/_helpers.tpl | 32 ---- charts/radarr/templates/config-pvc.yaml | 29 ---- charts/radarr/templates/deployment.yaml | 149 ----------------- charts/radarr/templates/ingress.yaml | 41 ----- charts/radarr/templates/media-pvc.yaml | 29 ---- charts/radarr/templates/service-exporter.yaml | 20 --- charts/radarr/templates/service.yaml | 52 ------ charts/radarr/templates/servicemonitor.yaml | 24 --- charts/radarr/values.yaml | 154 +----------------- 16 files changed, 20 insertions(+), 741 deletions(-) delete mode 100644 charts/media-common/radarr/Chart.yaml delete mode 100644 charts/media-common/radarr/values.yaml delete mode 100644 charts/radarr/.helmignore delete mode 100644 charts/radarr/OWNERS delete mode 100644 charts/radarr/README.md delete mode 100644 charts/radarr/templates/NOTES.txt delete mode 100644 charts/radarr/templates/_helpers.tpl delete mode 100644 charts/radarr/templates/config-pvc.yaml delete mode 100644 charts/radarr/templates/deployment.yaml delete mode 100644 charts/radarr/templates/ingress.yaml delete mode 100644 charts/radarr/templates/media-pvc.yaml delete mode 100644 charts/radarr/templates/service-exporter.yaml delete mode 100644 charts/radarr/templates/service.yaml delete mode 100644 charts/radarr/templates/servicemonitor.yaml diff --git a/charts/media-common/radarr/Chart.yaml b/charts/media-common/radarr/Chart.yaml deleted file mode 100644 index b153002a..00000000 --- a/charts/media-common/radarr/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v2 -name: radarr -description: Radarr Chart -type: application -version: 1.0.0 -appVersion: 3.0.0.3591 -keywords: - - radarr -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/radarr -sources: - - https://github.com/Radarr/Radarr - - https://hub.docker.com/r/itscontained/radarr -maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro -dependencies: - - name: media-common - repository: https://k8s-at-home.com/charts/ - version: 1.0.0 - alias: radarr diff --git a/charts/media-common/radarr/values.yaml b/charts/media-common/radarr/values.yaml deleted file mode 100644 index 80109677..00000000 --- a/charts/media-common/radarr/values.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# Default values for radarr. - -radarr: - image: - organization: itscontained - repository: radarr - pullPolicy: IfNotPresent - tag: "" - service: - port: 7878 - configPath: /var/lib/radarr diff --git a/charts/radarr/.helmignore b/charts/radarr/.helmignore deleted file mode 100644 index 46fd8996..00000000 --- a/charts/radarr/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# OWNERS file for Kubernetes -OWNERS diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index 8452ec22..4a1eeb31 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -1,17 +1,20 @@ apiVersion: v2 -appVersion: 3.0.0.3543 -description: Radarr is a movie downloading client name: radarr -version: 5.0.1 +description: Radarr Chart +type: application +version: 6.0.0 +appVersion: 3.0.0.3591 keywords: - radarr - - usenet - - bittorrent home: https://github.com/k8s-at-home/charts/tree/master/charts/radarr -icon: https://avatars3.githubusercontent.com/u/25025331?s=400&v=4 sources: - - https://hub.docker.com/r/linuxserver/radarr/ - - https://github.com/Radarr/Radarr/ + - https://github.com/Radarr/Radarr + - https://hub.docker.com/r/itscontained/radarr maintainers: - - name: billimek - email: jeff@billimek.com + - name: DirtyCajunRice + email: nick@cajun.pro +dependencies: + - name: media-common + repository: https://k8s-at-home.com/charts/ + version: 1.0.0 + alias: radarr diff --git a/charts/radarr/OWNERS b/charts/radarr/OWNERS deleted file mode 100644 index 51f88652..00000000 --- a/charts/radarr/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- billimek -reviewers: -- billimek \ No newline at end of file diff --git a/charts/radarr/README.md b/charts/radarr/README.md deleted file mode 100644 index c3b70cad..00000000 --- a/charts/radarr/README.md +++ /dev/null @@ -1,131 +0,0 @@ -# radarr movie download client - -This is a helm chart for [radarr](https://github.com/Radarr/Radarr/) leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/radarr/) - -## TL;DR; - -```shell -$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ -$ helm install k8s-at-home/radarr -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install --name my-release k8s-at-home/radarr -``` - -## Upgrading - -Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Movies. This presented an issue where Radarr would be unable to hard-link files between the /downloads and /movies directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Radarr copying files rather than linking; using additional storage without the user's knowledge. - -This chart now uses a single PVC for Downloads and Movies. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from v1 of the chart, do the following: - -1. [Uninstall](#uninstalling-the-chart) your current release -2. On your backing store, organize your media, ie. media/movies, media/downloads -3. If using a pre-existing PVC, create a single new PVC for all of your media -4. Refer to the [configuration](#configuration) for updates to the chart values -5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Radarr's `Movie Editor` under the `Movies` tab. Simply select all movies in your library, and use the editor to change the `Root Folder` and hit save. - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -helm delete my-release --purge -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the Sentry chart and their default values. - -| Parameter | Description | Default | -| ------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------- | -| `image.repository` | Image repository | `linuxserver/radarr` | -| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/radarr/tags/). | `v0.2.0.1480-ls58` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` | -| `timezone` | Timezone the instance should run as, e.g. 'America/New_York' | `UTC` | -| `puid` | process userID the instance should run as | `1001` | -| `pgid` | process groupID the instance should run as | `1001` | -| `exportarr.enabled` | Enable Prometheus monitoring with [Exportarr](https://github.com/onedr0p/exportarr) | `false` | -| `exportarr.image.repository` | Exportarr image repository | `onedr0p/exportarr` | -| `exportarr.image.tag` | Exportarr image tag | `v0.3.0` | -| `exportarr.image.pullPolicy` | Exportarr image pullPolicy | `IfNotPresent` | -| `exportarr.port` | Prometheus scrape port | `9708` | -| `exportarr.url` | Radarr's URL | `http://radarr.default.svc.cluster.local:7878` | -| `exportarr.apikey` | Radarr's API Key | | -| `exportarr.serviceMonitor.enabled` | Enable Prometheus Operator ServiceMonitor monitoring | `false` | -| `exportarr.serviceMonitor.namespace` | Define namespace where to deploy the ServiceMonitor resource | (namespace where you are deploying) | -| `exportarr.serviceMonitor.path` | Prometheus scrape path | `/metrics` | -| `exportarr.serviceMonitor.interval` | Prometheus scrape interval | `4m` | -| `exportarr.serviceMonitor.scrapeTimeout` | Prometheus scrape timeout | `90s` | -| `exportarr.serviceMonitor.additionalLabels` | Add custom labels to ServiceMonitor | `{}` | -| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` | -| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` | -| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` | -| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` | -| `service.type` | Kubernetes service type for the GUI | `ClusterIP` | -| `service.port` | Kubernetes port where the GUI is exposed | `7878` | -| `service.annotations` | Service annotations for the GUI | `{}` | -| `service.labels` | Custom labels | `{}` | -| `service.loadBalancerIP` | Loadbalancer IP for the GUI | `{}` | -| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None | -| `ingress.enabled` | Enables Ingress | `false` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.labels` | Custom labels | `{}` | -| `ingress.path` | Ingress path | `/` | -| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` | -| `ingress.tls` | Ingress TLS configuration | `[]` | -| `persistence.config.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.config.size` | Size of persistent volume claim | `1Gi` | -| `persistence.config.existingClaim` | Use an existing PVC to persist data | `nil` | -| `persistence.config.storageClass` | Type of persistent volume claim | `-` | -| `persistence.config.subPath` | Mount a sub directory if set | `nil ` | -| `persistence.config.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.config.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.media.enabled` | Use persistent volume to store media | `true` | -| `persistence.media.size` | Size of persistent volume claim | `10Gi` | -| `persistence.media.existingClaim` | Use an existing PVC to persist data | `nil` | -| `persistence.media.storageClass` | Type of persistent volume claim | `-` | -| `persistence.media.subPath` | Mount a sub directory if set | `nil ` | -| `persistence.media.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.media.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.extraExistingClaimMounts` | Optionally add multiple existing claims | `[]` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `affinity` | Affinity settings for pod assignment | `{}` | -| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` | -| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install --name my-release \ - --set timezone="America/New York" \ - k8s-at-home/radarr -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install --name my-release -f values.yaml stable/radarr -``` - ---- - -**NOTE** - -If you get `Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. - ---- - -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/radarr/values.yaml) file. It has several commented out suggested values. diff --git a/charts/radarr/templates/NOTES.txt b/charts/radarr/templates/NOTES.txt deleted file mode 100644 index dbb868aa..00000000 --- a/charts/radarr/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -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 "radarr.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 "radarr.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "radarr.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 "radarr.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:80 -{{- end }} diff --git a/charts/radarr/templates/_helpers.tpl b/charts/radarr/templates/_helpers.tpl deleted file mode 100644 index e4151c6d..00000000 --- a/charts/radarr/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "radarr.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 "radarr.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 "radarr.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/radarr/templates/config-pvc.yaml b/charts/radarr/templates/config-pvc.yaml deleted file mode 100644 index f65dbdcc..00000000 --- a/charts/radarr/templates/config-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "radarr.fullname" . }}-config - {{- if .Values.persistence.config.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.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 -}} \ No newline at end of file diff --git a/charts/radarr/templates/deployment.yaml b/charts/radarr/templates/deployment.yaml deleted file mode 100644 index 4237b907..00000000 --- a/charts/radarr/templates/deployment.yaml +++ /dev/null @@ -1,149 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "radarr.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.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 "radarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "radarr.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: 7878 - 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 }}" - volumeMounts: - - mountPath: /config - name: config - {{- if .Values.persistence.config.subPath }} - subPath: {{ .Values.persistence.config.subPath }} - {{- end }} - - mountPath: /media - name: media - {{- if .Values.persistence.media.subPath }} - subPath: {{ .Values.persistence.media.subPath }} - {{- end }} - {{- range .Values.persistence.extraExistingClaimMounts }} - - name: {{ .name }} - mountPath: {{ .mountPath }} - readOnly: {{ .readOnly }} - {{- end }} - resources: -{{ toYaml .Values.resources | indent 12 }} -{{- if .Values.exportarr.enabled }} - - name: radarr-exporter - image: "{{ .Values.exportarr.image.repository }}:{{ .Values.exportarr.image.tag }}" - imagePullPolicy: {{ .Values.exportarr.image.pullPolicy }} - command: ["exportarr"] - args: ["radarr"] - env: - - name: PORT - value: "{{ .Values.exportarr.port }}" - - name: URL - value: "{{ .Values.exportarr.url }}" - - name: APIKEY - value: "{{ .Values.exportarr.apikey }}" - ports: - - name: monitoring - containerPort: {{ .Values.exportarr.port }} - livenessProbe: - httpGet: - path: /healthz - port: monitoring - failureThreshold: 5 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /healthz - port: monitoring - failureThreshold: 5 - periodSeconds: 10 - resources: - requests: - cpu: 100m - memory: 64Mi - limits: - cpu: 500m - memory: 256Mi -{{- end }} - volumes: - - name: config - {{- if .Values.persistence.config.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.config.existingClaim }}{{ .Values.persistence.config.existingClaim }}{{- else }}{{ template "radarr.fullname" . }}-config{{- end }} - {{- else }} - emptyDir: {} - {{- end }} - - name: media - {{- if .Values.persistence.media.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.media.existingClaim }}{{ .Values.persistence.media.existingClaim }}{{- else }}{{ template "radarr.fullname" . }}-media{{- 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 }} diff --git a/charts/radarr/templates/ingress.yaml b/charts/radarr/templates/ingress.yaml deleted file mode 100644 index bee49cc1..00000000 --- a/charts/radarr/templates/ingress.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "radarr.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.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 }} diff --git a/charts/radarr/templates/media-pvc.yaml b/charts/radarr/templates/media-pvc.yaml deleted file mode 100644 index 9b9cffb1..00000000 --- a/charts/radarr/templates/media-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.media.enabled (not .Values.persistence.media.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "radarr.fullname" . }}-media - {{- if .Values.persistence.media.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.media.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.media.size | quote }} -{{- if .Values.persistence.media.storageClass }} -{{- if (eq "-" .Values.persistence.media.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.media.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} \ No newline at end of file diff --git a/charts/radarr/templates/service-exporter.yaml b/charts/radarr/templates/service-exporter.yaml deleted file mode 100644 index fb773317..00000000 --- a/charts/radarr/templates/service-exporter.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if .Values.exportarr.enabled }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "radarr.fullname" . }}-exporter - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - clusterIP: None - ports: - - name: monitoring - port: {{ .Values.exportarr.port }} - targetPort: monitoring - selector: - app.kubernetes.io/name: {{ include "radarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/radarr/templates/service.yaml b/charts/radarr/templates/service.yaml deleted file mode 100644 index 4ca7c3c3..00000000 --- a/charts/radarr/templates/service.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "radarr.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - helm.sh/chart: {{ include "radarr.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 "radarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} \ No newline at end of file diff --git a/charts/radarr/templates/servicemonitor.yaml b/charts/radarr/templates/servicemonitor.yaml deleted file mode 100644 index 5f8c3bcc..00000000 --- a/charts/radarr/templates/servicemonitor.yaml +++ /dev/null @@ -1,24 +0,0 @@ -{{- if .Values.exportarr.serviceMonitor.enabled }} -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: {{ include "radarr.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - helm.sh/chart: {{ include "radarr.chart" . }} - {{- with .Values.exportarr.serviceMonitor.additionalLabels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - app.kubernetes.io/name: {{ include "radarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - endpoints: - - port: monitoring - interval: {{ .Values.exportarr.serviceMonitor.interval }} - scrapeTimeout: {{ .Values.exportarr.serviceMonitor.scrapeTimeout }} - path: {{ .Values.exportarr.serviceMonitor.path }} -{{- end }} diff --git a/charts/radarr/values.yaml b/charts/radarr/values.yaml index 6f6131fc..80109677 100644 --- a/charts/radarr/values.yaml +++ b/charts/radarr/values.yaml @@ -1,151 +1,11 @@ # Default values for radarr. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -image: - repository: linuxserver/radarr - tag: 3.0.0.3543-ls21 - pullPolicy: IfNotPresent - -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -# Prometheus Metrics -exportarr: - enabled: false +radarr: image: - repository: onedr0p/exportarr - tag: v0.3.0 + organization: itscontained + repository: radarr pullPolicy: IfNotPresent - url: "http://radarr.default.svc.cluster.local:7878" - apikey: - port: 9708 - serviceMonitor: - enabled: false - namespace: default - path: /metrics - interval: 4m - scrapeTimeout: 90s - additionalLabels: {} - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1001 -pgid: 1001 - -service: - type: ClusterIP - port: 7878 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - config: - enabled: true - ## radarr configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 1Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - media: - enabled: true - ## radarr media volume configuration - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 10Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - 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 - -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 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} + tag: "" + service: + port: 7878 + configPath: /var/lib/radarr From b94814d3d708ce4cf46bb0aafde9178cb5976092 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 21:58:48 -0500 Subject: [PATCH 02/14] move the rest and replace --- charts/lidarr/.helmignore | 23 --- charts/lidarr/Chart.yaml | 23 +-- charts/lidarr/OWNERS | 4 - charts/lidarr/README.md | 115 ------------- charts/lidarr/templates/NOTES.txt | 19 --- charts/lidarr/templates/_helpers.tpl | 32 ---- charts/lidarr/templates/config-pvc.yaml | 29 ---- charts/lidarr/templates/deployment.yaml | 110 ------------ charts/lidarr/templates/ingress.yaml | 41 ----- charts/lidarr/templates/media-pvc.yaml | 29 ---- charts/lidarr/templates/service.yaml | 52 ------ charts/lidarr/values.yaml | 138 +--------------- charts/media-common/lidarr/Chart.yaml | 20 --- charts/media-common/lidarr/values.yaml | 10 -- charts/media-common/ombi/Chart.yaml | 20 --- charts/media-common/ombi/values.yaml | 11 -- charts/media-common/sonarr/Chart.yaml | 20 --- charts/media-common/sonarr/values.yaml | 11 -- charts/media-common/tautulli/Chart.yaml | 20 --- charts/media-common/tautulli/values.yaml | 10 -- charts/ombi/.helmignore | 23 --- charts/ombi/Chart.yaml | 22 ++- charts/ombi/OWNERS | 4 - charts/ombi/README.md | 97 ----------- charts/ombi/templates/NOTES.txt | 19 --- charts/ombi/templates/_helpers.tpl | 32 ---- charts/ombi/templates/config-pvc.yaml | 29 ---- charts/ombi/templates/deployment.yaml | 95 ----------- charts/ombi/templates/ingress.yaml | 41 ----- charts/ombi/templates/service.yaml | 53 ------ charts/ombi/values.yaml | 126 ++------------ charts/{media-common => }/organizr/Chart.yaml | 6 +- .../{media-common => }/organizr/values.yaml | 0 charts/radarr/Chart.yaml | 2 +- charts/sonarr/.helmignore | 23 --- charts/sonarr/Chart.yaml | 25 +-- charts/sonarr/OWNERS | 4 - charts/sonarr/README.md | 132 --------------- charts/sonarr/templates/NOTES.txt | 19 --- charts/sonarr/templates/_helpers.tpl | 32 ---- charts/sonarr/templates/config-pvc.yaml | 29 ---- charts/sonarr/templates/deployment.yaml | 151 ----------------- charts/sonarr/templates/ingress.yaml | 41 ----- charts/sonarr/templates/media-pvc.yaml | 29 ---- charts/sonarr/templates/service-exporter.yaml | 20 --- charts/sonarr/templates/service.yaml | 52 ------ charts/sonarr/templates/servicemonitor.yaml | 24 --- charts/sonarr/values.yaml | 156 +----------------- charts/tautulli/.helmignore | 23 --- charts/tautulli/Chart.yaml | 22 ++- charts/tautulli/OWNERS | 4 - charts/tautulli/README.md | 96 ----------- charts/tautulli/templates/NOTES.txt | 19 --- charts/tautulli/templates/_helpers.tpl | 32 ---- charts/tautulli/templates/config-pvc.yaml | 29 ---- charts/tautulli/templates/deployment.yaml | 101 ------------ charts/tautulli/templates/ingress.yaml | 41 ----- charts/tautulli/templates/service.yaml | 53 ------ charts/tautulli/values.yaml | 123 +------------- 59 files changed, 90 insertions(+), 2476 deletions(-) delete mode 100644 charts/lidarr/.helmignore delete mode 100644 charts/lidarr/OWNERS delete mode 100644 charts/lidarr/README.md delete mode 100644 charts/lidarr/templates/NOTES.txt delete mode 100644 charts/lidarr/templates/_helpers.tpl delete mode 100644 charts/lidarr/templates/config-pvc.yaml delete mode 100644 charts/lidarr/templates/deployment.yaml delete mode 100644 charts/lidarr/templates/ingress.yaml delete mode 100644 charts/lidarr/templates/media-pvc.yaml delete mode 100644 charts/lidarr/templates/service.yaml delete mode 100644 charts/media-common/lidarr/Chart.yaml delete mode 100644 charts/media-common/lidarr/values.yaml delete mode 100644 charts/media-common/ombi/Chart.yaml delete mode 100644 charts/media-common/ombi/values.yaml delete mode 100644 charts/media-common/sonarr/Chart.yaml delete mode 100644 charts/media-common/sonarr/values.yaml delete mode 100644 charts/media-common/tautulli/Chart.yaml delete mode 100644 charts/media-common/tautulli/values.yaml delete mode 100644 charts/ombi/.helmignore delete mode 100644 charts/ombi/OWNERS delete mode 100644 charts/ombi/README.md delete mode 100644 charts/ombi/templates/NOTES.txt delete mode 100644 charts/ombi/templates/_helpers.tpl delete mode 100644 charts/ombi/templates/config-pvc.yaml delete mode 100644 charts/ombi/templates/deployment.yaml delete mode 100644 charts/ombi/templates/ingress.yaml delete mode 100644 charts/ombi/templates/service.yaml rename charts/{media-common => }/organizr/Chart.yaml (69%) rename charts/{media-common => }/organizr/values.yaml (100%) delete mode 100644 charts/sonarr/.helmignore delete mode 100644 charts/sonarr/OWNERS delete mode 100644 charts/sonarr/README.md delete mode 100644 charts/sonarr/templates/NOTES.txt delete mode 100644 charts/sonarr/templates/_helpers.tpl delete mode 100644 charts/sonarr/templates/config-pvc.yaml delete mode 100644 charts/sonarr/templates/deployment.yaml delete mode 100644 charts/sonarr/templates/ingress.yaml delete mode 100644 charts/sonarr/templates/media-pvc.yaml delete mode 100644 charts/sonarr/templates/service-exporter.yaml delete mode 100644 charts/sonarr/templates/service.yaml delete mode 100644 charts/sonarr/templates/servicemonitor.yaml delete mode 100644 charts/tautulli/.helmignore delete mode 100644 charts/tautulli/OWNERS delete mode 100644 charts/tautulli/README.md delete mode 100644 charts/tautulli/templates/NOTES.txt delete mode 100644 charts/tautulli/templates/_helpers.tpl delete mode 100644 charts/tautulli/templates/config-pvc.yaml delete mode 100644 charts/tautulli/templates/deployment.yaml delete mode 100644 charts/tautulli/templates/ingress.yaml delete mode 100644 charts/tautulli/templates/service.yaml diff --git a/charts/lidarr/.helmignore b/charts/lidarr/.helmignore deleted file mode 100644 index 46fd8996..00000000 --- a/charts/lidarr/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# OWNERS file for Kubernetes -OWNERS diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index e0c686f9..c4e39f08 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -1,17 +1,20 @@ apiVersion: v2 -appVersion: 0.7.1.1784 -description: Looks and smells like Sonarr but made for music. name: lidarr -version: 3.0.1 +description: Lidarr Chart +type: application +version: 4.0.0 +appVersion: 0.7.1.1785 keywords: - lidarr - - usenet - - bittorrent home: https://github.com/k8s-at-home/charts/tree/master/charts/lidarr -icon: https://lidarr.audio/img/logo.png sources: - - https://hub.docker.com/r/linuxserver/lidarr/ - - https://github.com/lidarr/Lidarr/ + - https://github.com/Lidarr/Lidarr + - https://hub.docker.com/r/linuxserver/lidarr maintainers: - - name: billimek - email: jeff@billimek.com + - name: DirtyCajunRice + email: nick@cajun.pro +dependencies: + - name: media-common + repository: https://k8s-at-home.com/charts/ + version: ~1.0.0 + alias: lidarr diff --git a/charts/lidarr/OWNERS b/charts/lidarr/OWNERS deleted file mode 100644 index 51f88652..00000000 --- a/charts/lidarr/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- billimek -reviewers: -- billimek \ No newline at end of file diff --git a/charts/lidarr/README.md b/charts/lidarr/README.md deleted file mode 100644 index f2587e43..00000000 --- a/charts/lidarr/README.md +++ /dev/null @@ -1,115 +0,0 @@ -# lidarr music download client - -This is a helm chart for [lidarr](https://github.com/lidarr/Lidarr) leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/lidarr/) - -## TL;DR; - -```shell -$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ -$ helm install k8s-at-home/lidarr -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install --name my-release k8s-at-home/lidarr -``` - -## Upgrading - -Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Lidarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Lidarr copying files rather than linking; using additional storage without the user's knowledge. - -This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: - -1. [Uninstall](#uninstalling-the-chart) your current release -2. On your backing store, organize your media, ie. media/music, media/downloads -3. If using a pre-existing PVC, create a single new PVC for all of your media -4. Refer to the [configuration](#configuration) for updates to the chart values -5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Lidarr's `Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -helm delete my-release --purge -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the Sentry chart and their default values. - -| Parameter | Description | Default | -|----------------------------|-------------------------------------|---------------------------------------------------------| -| `image.repository` | Image repository | `linuxserver/lidarr` | -| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/lidarr/tags/).| `0.7.1.1381-ls7`| -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` | -| `timezone` | Timezone the lidarr instance should run as, e.g. 'America/New_York' | `UTC` | -| `puid` | process userID the lidarr instance should run as | `1001` | -| `pgid` | process groupID the lidarr instance should run as | `1001` | -| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` | -| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` | -| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` | -| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` | -| `Service.type` | Kubernetes service type for the lidarr GUI | `ClusterIP` | -| `Service.port` | Kubernetes port where the lidarr GUI is exposed| `8686` | -| `Service.annotations` | Service annotations for the lidarr GUI | `{}` | -| `Service.labels` | Custom labels | `{}` | -| `Service.loadBalancerIP` | Loadbalance IP for the lidarr GUI | `{}` | -| `Service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None -| `ingress.enabled` | Enables Ingress | `false` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.labels` | Custom labels | `{}` -| `ingress.path` | Ingress path | `/` | -| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` | -| `ingress.tls` | Ingress TLS configuration | `[]` | -| `persistence.config.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.config.size` | Size of persistent volume claim | `1Gi` | -| `persistence.config.existingClaim`| Use an existing PVC to persist data | `nil` | -| `persistence.config.storageClass` | Type of persistent volume claim | `-` | -| `persistence.config.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.config.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.media.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.media.size` | Size of persistent volume claim | `10Gi` | -| `persistence.media.existingClaim`| Use an existing PVC to persist data | `nil` | -| `persistence.media.storageClass` | Type of persistent volume claim | `-` | -| `persistence.media.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.media.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.extraExistingClaimMounts` | Optionally add multiple existing claims | `[]` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `affinity` | Affinity settings for pod assignment | `{}` | -| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` | -| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install --name my-release \ - --set timezone="America/New York" \ - k8s-at-home/lidarr -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install --name my-release -f values.yaml stable/lidarr -``` - ---- -**NOTE** - -If you get `Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. - ---- - -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/lidarr/values.yaml) file. It has several commented out suggested values. diff --git a/charts/lidarr/templates/NOTES.txt b/charts/lidarr/templates/NOTES.txt deleted file mode 100644 index c678f21d..00000000 --- a/charts/lidarr/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -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 "lidarr.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 "lidarr.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "lidarr.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 "lidarr.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:80 -{{- end }} diff --git a/charts/lidarr/templates/_helpers.tpl b/charts/lidarr/templates/_helpers.tpl deleted file mode 100644 index 3e8814dc..00000000 --- a/charts/lidarr/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "lidarr.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 "lidarr.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 "lidarr.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/lidarr/templates/config-pvc.yaml b/charts/lidarr/templates/config-pvc.yaml deleted file mode 100644 index c55c7b54..00000000 --- a/charts/lidarr/templates/config-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "lidarr.fullname" . }}-config - {{- if .Values.persistence.config.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "lidarr.name" . }} - helm.sh/chart: {{ include "lidarr.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 -}} \ No newline at end of file diff --git a/charts/lidarr/templates/deployment.yaml b/charts/lidarr/templates/deployment.yaml deleted file mode 100644 index 83ee0bcb..00000000 --- a/charts/lidarr/templates/deployment.yaml +++ /dev/null @@ -1,110 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "lidarr.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "lidarr.name" . }} - helm.sh/chart: {{ include "lidarr.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 "lidarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "lidarr.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: 8686 - 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 }}" - volumeMounts: - - mountPath: /config - name: config - - mountPath: /media - name: media - {{- if .Values.persistence.media.subPath }} - subPath: {{ .Values.persistence.media.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 "lidarr.fullname" . }}-config{{- end }} - {{- else }} - emptyDir: {} - {{- end }} - - name: media - {{- if .Values.persistence.media.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.media.existingClaim }}{{ .Values.persistence.media.existingClaim }}{{- else }}{{ template "lidarr.fullname" . }}-media{{- 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 }} diff --git a/charts/lidarr/templates/ingress.yaml b/charts/lidarr/templates/ingress.yaml deleted file mode 100644 index 55f664f9..00000000 --- a/charts/lidarr/templates/ingress.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "lidarr.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "lidarr.name" . }} - helm.sh/chart: {{ include "lidarr.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 }} diff --git a/charts/lidarr/templates/media-pvc.yaml b/charts/lidarr/templates/media-pvc.yaml deleted file mode 100644 index 17dc7d03..00000000 --- a/charts/lidarr/templates/media-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.media.enabled (not .Values.persistence.media.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "lidarr.fullname" . }}-media - {{- if .Values.persistence.media.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "lidarr.name" . }} - helm.sh/chart: {{ include "lidarr.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.media.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.media.size | quote }} -{{- if .Values.persistence.media.storageClass }} -{{- if (eq "-" .Values.persistence.media.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.media.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} \ No newline at end of file diff --git a/charts/lidarr/templates/service.yaml b/charts/lidarr/templates/service.yaml deleted file mode 100644 index a9683edf..00000000 --- a/charts/lidarr/templates/service.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "lidarr.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "lidarr.name" . }} - helm.sh/chart: {{ include "lidarr.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 "lidarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} \ No newline at end of file diff --git a/charts/lidarr/values.yaml b/charts/lidarr/values.yaml index b266b4fb..db7a7369 100644 --- a/charts/lidarr/values.yaml +++ b/charts/lidarr/values.yaml @@ -1,132 +1,10 @@ # Default values for lidarr. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -image: - repository: linuxserver/lidarr - tag: 0.7.1.1784-ls18 - pullPolicy: IfNotPresent - -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1001 -pgid: 1001 - -service: - type: ClusterIP - port: 8686 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - config: - enabled: true - ## lidarr configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - media: - enabled: true - ## lidarr media volume configuration - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 10Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - 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 - -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 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} +lidarr: + image: + organization: linuxserver + repository: lidarr + pullPolicy: IfNotPresent + tag: "" + service: + port: 8686 diff --git a/charts/media-common/lidarr/Chart.yaml b/charts/media-common/lidarr/Chart.yaml deleted file mode 100644 index fd740a68..00000000 --- a/charts/media-common/lidarr/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v2 -name: lidarr -description: Lidarr Chart -type: application -version: 1.0.0 -appVersion: 0.7.1.1785 -keywords: - - lidarr -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/lidarr -sources: - - https://github.com/Lidarr/Lidarr - - https://hub.docker.com/r/itscontained/lidarr -maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro -dependencies: - - name: media-common - repository: https://k8s-at-home.com/charts/ - version: 1.0.0 - alias: lidarr diff --git a/charts/media-common/lidarr/values.yaml b/charts/media-common/lidarr/values.yaml deleted file mode 100644 index db7a7369..00000000 --- a/charts/media-common/lidarr/values.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Default values for lidarr. - -lidarr: - image: - organization: linuxserver - repository: lidarr - pullPolicy: IfNotPresent - tag: "" - service: - port: 8686 diff --git a/charts/media-common/ombi/Chart.yaml b/charts/media-common/ombi/Chart.yaml deleted file mode 100644 index c1ca2ad4..00000000 --- a/charts/media-common/ombi/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v2 -name: ombi -description: Ombi Chart -type: application -version: 1.0.0 -appVersion: 4.0.471 -keywords: - - ombi -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/ombi -sources: - - https://github.com/tidusjar/Ombi - - https://hub.docker.com/r/itscontained/ombi -maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro -dependencies: - - name: media-common - repository: https://k8s-at-home.com/charts/ - version: 1.0.0 - alias: ombi diff --git a/charts/media-common/ombi/values.yaml b/charts/media-common/ombi/values.yaml deleted file mode 100644 index 287f5bdd..00000000 --- a/charts/media-common/ombi/values.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# Default values for ombi. - -ombi: - image: - organization: itscontained - repository: ombi - pullPolicy: IfNotPresent - tag: "" - service: - port: 5000 - configPath: /var/lib/ombi diff --git a/charts/media-common/sonarr/Chart.yaml b/charts/media-common/sonarr/Chart.yaml deleted file mode 100644 index a52ff2d1..00000000 --- a/charts/media-common/sonarr/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v2 -name: sonarr -description: Sonarr Chart -type: application -version: 1.0.0 -appVersion: 3.0.3.913 -keywords: - - sonarr -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/sonarr -sources: - - https://github.com/Sonarr/Sonarr - - https://hub.docker.com/r/itscontained/sonarr -maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro -dependencies: - - name: media-common - repository: https://k8s-at-home.com/charts/ - version: 1.0.0 - alias: sonarr diff --git a/charts/media-common/sonarr/values.yaml b/charts/media-common/sonarr/values.yaml deleted file mode 100644 index 35ca7483..00000000 --- a/charts/media-common/sonarr/values.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# Default values for sonarr. - -sonarr: - image: - organization: itscontained - repository: sonarr - pullPolicy: IfNotPresent - tag: "" - service: - port: 8989 - configPath: /var/lib/radarr diff --git a/charts/media-common/tautulli/Chart.yaml b/charts/media-common/tautulli/Chart.yaml deleted file mode 100644 index cc7f5cdf..00000000 --- a/charts/media-common/tautulli/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v2 -name: tautulli -description: Tautulli Chart -type: application -version: 1.0.0 -appVersion: v2.5.4 -keywords: - - tautulli -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/tautulli -sources: - - https://github.com/Tautulli/Tautulli - - https://hub.docker.com/r/tautulli/tautulli -maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro -dependencies: - - name: media-common - repository: https://k8s-at-home.com/charts/ - version: 1.0.0 - alias: tautulli diff --git a/charts/media-common/tautulli/values.yaml b/charts/media-common/tautulli/values.yaml deleted file mode 100644 index 5bd7142d..00000000 --- a/charts/media-common/tautulli/values.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# Default values for tautulli. - -tautulli: - image: - organization: tautulli - repository: tautulli - pullPolicy: IfNotPresent - tag: "" - service: - port: 8181 diff --git a/charts/ombi/.helmignore b/charts/ombi/.helmignore deleted file mode 100644 index 46fd8996..00000000 --- a/charts/ombi/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# OWNERS file for Kubernetes -OWNERS diff --git a/charts/ombi/Chart.yaml b/charts/ombi/Chart.yaml index 3fb41e30..0e64c8b4 100644 --- a/charts/ombi/Chart.yaml +++ b/charts/ombi/Chart.yaml @@ -1,16 +1,20 @@ apiVersion: v2 -appVersion: v4.0.464 -description: Want a Movie or TV Show on Plex or Emby? Use Ombi! name: ombi -version: 3.0.1 +description: Ombi Chart +type: application +version: 4.0.0 +appVersion: 4.0.471 keywords: - ombi - - plex home: https://github.com/k8s-at-home/charts/tree/master/charts/ombi -icon: https://ombi.io/img/logo-orange-small.png sources: - - https://hub.docker.com/r/linuxserver/ombi/ - - https://ombi.io/ + - https://github.com/tidusjar/Ombi + - https://hub.docker.com/r/itscontained/ombi maintainers: - - name: billimek - email: jeff@billimek.com + - name: DirtyCajunRice + email: nick@cajun.pro +dependencies: + - name: media-common + repository: https://k8s-at-home.com/charts/ + version: ~1.0.0 + alias: ombi diff --git a/charts/ombi/OWNERS b/charts/ombi/OWNERS deleted file mode 100644 index 51f88652..00000000 --- a/charts/ombi/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- billimek -reviewers: -- billimek \ No newline at end of file diff --git a/charts/ombi/README.md b/charts/ombi/README.md deleted file mode 100644 index 81af4538..00000000 --- a/charts/ombi/README.md +++ /dev/null @@ -1,97 +0,0 @@ -# Ombi - -This is a helm chart for [Ombi](https://ombi.io/) leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/ombi/) - -## TL;DR; - -```shell -$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ -$ helm install k8s-at-home/ombi -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install --name my-release k8s-at-home/ombi -``` - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -helm delete my-release --purge -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the Sentry chart and their default values. - -| Parameter | Description | Default | -|----------------------------|-------------------------------------|---------------------------------------------------------| -| `image.repository` | Image repository | `linuxserver/ombi` | -| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/ombi/tags/).| `3.0.4914-ls72`| -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` | -| `timezone` | Timezone the Ombi instance should run as, e.g. 'America/New_York' | `UTC` | -| `puid` | process userID the Ombi instance should run as | `1001` | -| `pgid` | process groupID the Ombi instance should run as | `1001` | -| `baseUrl` | adjust baseUrl if behind a reverse proxy | null | -| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` | -| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` | -| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` | -| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` | -| `Service.type` | Kubernetes service type for the Ombi GUI | `ClusterIP` | -| `Service.port` | Kubernetes port where the Ombi GUI is exposed| `3579` | -| `Service.annotations` | Service annotations for the Ombi GUI | `{}` | -| `Service.labels` | Custom labels | `{}` | -| `Service.loadBalancerIP` | Loadbalance IP for the Ombi GUI | `{}` | -| `Service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None -| `ingress.enabled` | Enables Ingress | `false` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.labels` | Custom labels | `{}` -| `ingress.path` | Ingress path | `/` | -| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` | -| `ingress.tls` | Ingress TLS configuration | `[]` | -| `persistence.config.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.config.size` | Size of persistent volume claim | `1Gi` | -| `persistence.config.existingClaim`| Use an existing PVC to persist data | `nil` | -| `persistence.config.subPath` | Mount a sub directory of the persistent volume if set | `""` | -| `persistence.config.storageClass` | Type of persistent volume claim | `-` | -| `persistence.config.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.config.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `affinity` | Affinity settings for pod assignment | `{}` | -| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` | -| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install --name my-release \ - --set timezone="America/New York" \ - k8s-at-home/ombi -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install --name my-release -f values.yaml k8s-at-home/ombi -``` - ---- -**NOTE** - -If you get `Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. - ---- - -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/ombi/values.yaml) file. It has several commented out suggested values. diff --git a/charts/ombi/templates/NOTES.txt b/charts/ombi/templates/NOTES.txt deleted file mode 100644 index a43c8ce8..00000000 --- a/charts/ombi/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -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 "ombi.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 "ombi.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "ombi.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 "ombi.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:3579 to use your application" - kubectl port-forward $POD_NAME 3579:80 -{{- end }} \ No newline at end of file diff --git a/charts/ombi/templates/_helpers.tpl b/charts/ombi/templates/_helpers.tpl deleted file mode 100644 index cc7c230f..00000000 --- a/charts/ombi/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "ombi.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 "ombi.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 "ombi.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/ombi/templates/config-pvc.yaml b/charts/ombi/templates/config-pvc.yaml deleted file mode 100644 index 0994d761..00000000 --- a/charts/ombi/templates/config-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "ombi.fullname" . }}-config - {{- if .Values.persistence.config.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "ombi.name" . }} - helm.sh/chart: {{ include "ombi.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 -}} \ No newline at end of file diff --git a/charts/ombi/templates/deployment.yaml b/charts/ombi/templates/deployment.yaml deleted file mode 100644 index 24ebe730..00000000 --- a/charts/ombi/templates/deployment.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "ombi.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "ombi.name" . }} - helm.sh/chart: {{ include "ombi.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 "ombi.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "ombi.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: 3579 - 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 }}" - {{- if .Values.baseUrl }} - - name: BASE_URL - value: "{{ .Values.baseUrl }}" - {{ end }} - volumeMounts: - - mountPath: /config - name: config - {{- if .Values.persistence.config.subPath }} - subPath: "{{ .Values.persistence.config.subPath }}" - {{- 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 "ombi.fullname" . }}-config{{- end }} - {{- else }} - emptyDir: {} - {{ 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 }} diff --git a/charts/ombi/templates/ingress.yaml b/charts/ombi/templates/ingress.yaml deleted file mode 100644 index 1a0b454d..00000000 --- a/charts/ombi/templates/ingress.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "ombi.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "ombi.name" . }} - helm.sh/chart: {{ include "ombi.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 }} diff --git a/charts/ombi/templates/service.yaml b/charts/ombi/templates/service.yaml deleted file mode 100644 index a1c00550..00000000 --- a/charts/ombi/templates/service.yaml +++ /dev/null @@ -1,53 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "ombi.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "ombi.name" . }} - helm.sh/chart: {{ include "ombi.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 "ombi.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - \ No newline at end of file diff --git a/charts/ombi/values.yaml b/charts/ombi/values.yaml index a99ef95e..287f5bdd 100644 --- a/charts/ombi/values.yaml +++ b/charts/ombi/values.yaml @@ -1,117 +1,11 @@ -# Default values for Ombi. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. +# Default values for ombi. -image: - repository: linuxserver/ombi - tag: v4.0.464-ls10 - pullPolicy: IfNotPresent - -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1001 -pgid: 1001 - -# Subfolder can optionally be defined as an env variable for reverse proxies. Keep -# in mind that once this value is defined, the gui setting for base url no longer -# works. To use the gui setting, remove this env variable. -# -# baseUrl: /ombi - -service: - type: ClusterIP - port: 3579 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - config: - enabled: true - ## Ombi configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - - ## If subPath is set mount a sub folder of a volume instead of the root of the volume. - ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). - ## - subPath: "" - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - -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 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} +ombi: + image: + organization: itscontained + repository: ombi + pullPolicy: IfNotPresent + tag: "" + service: + port: 5000 + configPath: /var/lib/ombi diff --git a/charts/media-common/organizr/Chart.yaml b/charts/organizr/Chart.yaml similarity index 69% rename from charts/media-common/organizr/Chart.yaml rename to charts/organizr/Chart.yaml index 42d9e64b..bfc26fb4 100644 --- a/charts/media-common/organizr/Chart.yaml +++ b/charts/organizr/Chart.yaml @@ -6,15 +6,15 @@ version: 1.0.0 appVersion: latest keywords: - organizr -home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/organizr +home: https://github.com/k8s-at-home/charts/tree/master/charts/organizr sources: - https://github.com/causefx/Organizr - - https://hub.docker.com/r/itscontained/ombi + - https://hub.docker.com/r/organizr/organizr maintainers: - name: DirtyCajunRice email: nick@cajun.pro dependencies: - name: media-common repository: https://k8s-at-home.com/charts/ - version: 1.0.0 + version: ~1.0.0 alias: organizr diff --git a/charts/media-common/organizr/values.yaml b/charts/organizr/values.yaml similarity index 100% rename from charts/media-common/organizr/values.yaml rename to charts/organizr/values.yaml diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index 4a1eeb31..6d26469f 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -16,5 +16,5 @@ maintainers: dependencies: - name: media-common repository: https://k8s-at-home.com/charts/ - version: 1.0.0 + version: ~1.0.0 alias: radarr diff --git a/charts/sonarr/.helmignore b/charts/sonarr/.helmignore deleted file mode 100644 index 46fd8996..00000000 --- a/charts/sonarr/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# OWNERS file for Kubernetes -OWNERS diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index 11d2b755..7eb9ac5a 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -1,17 +1,20 @@ apiVersion: v2 -appVersion: 3.0.3.911 -description: Sonarr is a television show downloading client name: sonarr -version: 5.0.1 +description: Sonarr Chart +type: application +version: 6.0.0 +appVersion: 3.0.3.913 keywords: - sonarr - - usenet - - bittorrent -home: https://github.com/k8s-at-home/charts/tree/master/charts/sonarr -icon: https://avatars1.githubusercontent.com/u/1082903?s=400&v=4 +home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/sonarr sources: - - https://hub.docker.com/r/linuxserver/sonarr/ - - https://sonarr.tv/ + - https://github.com/Sonarr/Sonarr + - https://hub.docker.com/r/itscontained/sonarr maintainers: - - name: billimek - email: jeff@billimek.com + - name: DirtyCajunRice + email: nick@cajun.pro +dependencies: + - name: media-common + repository: https://k8s-at-home.com/charts/ + version: ~1.0.0 + alias: sonarr diff --git a/charts/sonarr/OWNERS b/charts/sonarr/OWNERS deleted file mode 100644 index 51f88652..00000000 --- a/charts/sonarr/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- billimek -reviewers: -- billimek \ No newline at end of file diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md deleted file mode 100644 index 87d06d21..00000000 --- a/charts/sonarr/README.md +++ /dev/null @@ -1,132 +0,0 @@ -# sonarr televsion show download client - -This is a helm chart for [sonarr](https://github.com/sonarr/sonarr/) leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/sonarr/) - -## TL;DR; - -```shell -$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ -$ helm install k8s-at-home/sonarr -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install --name my-release k8s-at-home/sonarr -``` - -## Upgrading - -Chart versions 3.2.0 and earlier used separate PVCs for Downloads and TV. This presented an issue where Sonarr would be unable to hard-link files between the /downloads and /tv directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Sonarr copying files rather than linking; using additional storage without the user's knowledge. - -This chart now uses a single PVC for Downloads and TV. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from v1 of the chart, do the following: - -1. [Uninstall](#uninstalling-the-chart) your current release -2. On your backing store, organize your media, ie. media/tv, media/downloads -3. If using a pre-existing PVC, create a single new PVC for all of your media -4. Refer to the [configuration](#configuration) for updates to the chart values -5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Sonarr's `Series Editor` under the `Series` tab. Simply select all series in your library, and use the editor to change the `Root Folder` and hit save. - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -helm delete my-release --purge -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the Sentry chart and their default values. - -| Parameter | Description | Default | -| ------------------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------------------- | -| `image.repository` | Image repository | `linuxserver/sonarr` | -| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/sonarr/tags/). | `2.0.0.5344-ls60` | -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` | -| `timezone` | Timezone the instance should run as, e.g. 'America/New_York' | `UTC` | -| `puid` | process userID the instance should run as | `1001` | -| `pgid` | process groupID the instance should run as | `1001` | -| `exportarr.enabled` | Enable Prometheus monitoring with [Exportarr](https://github.com/onedr0p/exportarr) | `false` | -| `exportarr.image.repository` | Exportarr image repository | `onedr0p/exportarr` | -| `exportarr.image.tag` | Exportarr image tag | `v0.3.0` | -| `exportarr.image.pullPolicy` | Exportarr image pullPolicy | `IfNotPresent` | -| `exportarr.port` | Prometheus scrape port | `9707` | -| `exportarr.url` | Sonarr's URL | `http://sonarr.default.svc.cluster.local:8989` | -| `exportarr.apikey` | Sonarr's API Key | | -| `exportarr.enableEpisodeQualityMetrics` | Enable episode quality metrics gathering | `false` | -| `exportarr.serviceMonitor.enabled` | Enable Prometheus Operator ServiceMonitor monitoring | `false` | -| `exportarr.serviceMonitor.namespace` | Define namespace where to deploy the ServiceMonitor resource | (namespace where you are deploying) | -| `exportarr.serviceMonitor.path` | Prometheus scrape path | `/metrics` | -| `exportarr.serviceMonitor.interval` | Prometheus scrape interval | `4m` | -| `exportarr.serviceMonitor.scrapeTimeout` | Prometheus scrape timeout | `90s` | -| `exportarr.serviceMonitor.additionalLabels` | Add custom labels to ServiceMonitor | {} | -| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` | -| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` | -| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` | -| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` | -| `service.type` | Kubernetes service type for the GUI | `ClusterIP` | -| `service.port` | Kubernetes port where the GUI is exposed | `8989` | -| `service.annotations` | Service annotations for the GUI | `{}` | -| `service.labels` | Custom labels | `{}` | -| `service.loadBalancerIP` | Loadbalancer IP for the GUI | `{}` | -| `service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None | -| `ingress.enabled` | Enables Ingress | `false` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.labels` | Custom labels | `{}` | -| `ingress.path` | Ingress path | `/` | -| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` | -| `ingress.tls` | Ingress TLS configuration | `[]` | -| `persistence.config.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.config.size` | Size of persistent volume claim | `1Gi` | -| `persistence.config.existingClaim` | Use an existing PVC to persist data | `nil` | -| `persistence.config.storageClass` | Type of persistent volume claim | `-` | -| `persistence.config.subPath` | Mount a sub directory if set | `nil ` | -| `persistence.config.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.config.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.media.enabled` | Use persistent volume for media | `true` | -| `persistence.media.size` | Size of persistent volume claim | `10Gi` | -| `persistence.media.existingClaim` | Use an existing PVC to persist data | `nil` | -| `persistence.media.storageClass` | Type of persistent volume claim | `-` | -| `persistence.media.subPath` | Mount a sub directory if set | `nil ` | -| `persistence.media.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.media.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `persistence.extraExistingClaimMounts` | Optionally add multiple existing claims | `[]` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `affinity` | Affinity settings for pod assignment | `{}` | -| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` | -| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install --name my-release \ - --set timezone="America/New York" \ - k8s-at-home/sonarr -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install --name my-release -f values.yaml stable/sonarr -``` - ---- - -**NOTE** - -If you get `Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. - ---- - -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/sonarr/values.yaml) file. It has several commented out suggested values. diff --git a/charts/sonarr/templates/NOTES.txt b/charts/sonarr/templates/NOTES.txt deleted file mode 100644 index cc2f778b..00000000 --- a/charts/sonarr/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -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 "sonarr.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 "sonarr.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "sonarr.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 "sonarr.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:80 -{{- end }} diff --git a/charts/sonarr/templates/_helpers.tpl b/charts/sonarr/templates/_helpers.tpl deleted file mode 100644 index 8b611ec5..00000000 --- a/charts/sonarr/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "sonarr.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 "sonarr.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 "sonarr.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/sonarr/templates/config-pvc.yaml b/charts/sonarr/templates/config-pvc.yaml deleted file mode 100644 index 731ff3b1..00000000 --- a/charts/sonarr/templates/config-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "sonarr.fullname" . }}-config - {{- if .Values.persistence.config.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.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 -}} \ No newline at end of file diff --git a/charts/sonarr/templates/deployment.yaml b/charts/sonarr/templates/deployment.yaml deleted file mode 100644 index eb62a612..00000000 --- a/charts/sonarr/templates/deployment.yaml +++ /dev/null @@ -1,151 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "sonarr.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.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 "sonarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "sonarr.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: 8989 - 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 }}" - volumeMounts: - - mountPath: /config - name: config - {{- if .Values.persistence.config.subPath }} - subPath: "{{ .Values.persistence.config.subPath }}" - {{- end }} - - mountPath: /media - name: media - {{- if .Values.persistence.media.subPath }} - subPath: {{ .Values.persistence.media.subPath }} - {{- end }} - {{- range .Values.persistence.extraExistingClaimMounts }} - - name: {{ .name }} - mountPath: {{ .mountPath }} - readOnly: {{ .readOnly }} - {{- end }} - resources: -{{ toYaml .Values.resources | indent 12 }} -{{- if .Values.exportarr.enabled }} - - name: sonarr-exporter - image: "{{ .Values.exportarr.image.repository }}:{{ .Values.exportarr.image.tag }}" - imagePullPolicy: {{ .Values.exportarr.image.pullPolicy }} - command: ["exportarr"] - args: ["sonarr"] - env: - - name: PORT - value: "{{ .Values.exportarr.port }}" - - name: URL - value: "{{ .Values.exportarr.url }}" - - name: APIKEY - value: "{{ .Values.exportarr.apikey }}" - - name: ENABLE_EPISODE_QUALITY_METRICS - value: "{{ .Values.exportarr.enableEpisodeQualityMetrics }}" - ports: - - name: monitoring - containerPort: {{ .Values.exportarr.port }} - livenessProbe: - httpGet: - path: /healthz - port: monitoring - failureThreshold: 5 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /healthz - port: monitoring - failureThreshold: 5 - periodSeconds: 10 - resources: - requests: - cpu: 100m - memory: 64Mi - limits: - cpu: 500m - memory: 256Mi -{{- end }} - volumes: - - name: config - {{- if .Values.persistence.config.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.config.existingClaim }}{{ .Values.persistence.config.existingClaim }}{{- else }}{{ template "sonarr.fullname" . }}-config{{- end }} - {{- else }} - emptyDir: {} - {{- end }} - - name: media - {{- if .Values.persistence.media.enabled }} - persistentVolumeClaim: - claimName: {{ if .Values.persistence.media.existingClaim }}{{ .Values.persistence.media.existingClaim }}{{- else }}{{ template "sonarr.fullname" . }}-media{{- 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 }} diff --git a/charts/sonarr/templates/ingress.yaml b/charts/sonarr/templates/ingress.yaml deleted file mode 100644 index 28c53382..00000000 --- a/charts/sonarr/templates/ingress.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "sonarr.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.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 }} diff --git a/charts/sonarr/templates/media-pvc.yaml b/charts/sonarr/templates/media-pvc.yaml deleted file mode 100644 index 026cf3a7..00000000 --- a/charts/sonarr/templates/media-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.media.enabled (not .Values.persistence.media.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "sonarr.fullname" . }}-media - {{- if .Values.persistence.media.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - accessModes: - - {{ .Values.persistence.media.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.media.size | quote }} -{{- if .Values.persistence.media.storageClass }} -{{- if (eq "-" .Values.persistence.media.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.media.storageClass }}" -{{- end }} -{{- end }} -{{- end -}} \ No newline at end of file diff --git a/charts/sonarr/templates/service-exporter.yaml b/charts/sonarr/templates/service-exporter.yaml deleted file mode 100644 index 76d2c31f..00000000 --- a/charts/sonarr/templates/service-exporter.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if .Values.exportarr.enabled }} -apiVersion: v1 -kind: Service -metadata: - name: {{ include "sonarr.fullname" . }}-exporter - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} -spec: - clusterIP: None - ports: - - name: monitoring - port: {{ .Values.exportarr.port }} - targetPort: monitoring - selector: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/sonarr/templates/service.yaml b/charts/sonarr/templates/service.yaml deleted file mode 100644 index 5d2a5b26..00000000 --- a/charts/sonarr/templates/service.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "sonarr.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - helm.sh/chart: {{ include "sonarr.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 "sonarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} \ No newline at end of file diff --git a/charts/sonarr/templates/servicemonitor.yaml b/charts/sonarr/templates/servicemonitor.yaml deleted file mode 100644 index b23a1b84..00000000 --- a/charts/sonarr/templates/servicemonitor.yaml +++ /dev/null @@ -1,24 +0,0 @@ -{{- if .Values.exportarr.serviceMonitor.enabled }} -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: {{ include "sonarr.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - helm.sh/chart: {{ include "sonarr.chart" . }} - {{- with .Values.exportarr.serviceMonitor.additionalLabels }} - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - selector: - matchLabels: - app.kubernetes.io/name: {{ include "sonarr.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - endpoints: - - port: monitoring - interval: {{ .Values.exportarr.serviceMonitor.interval }} - scrapeTimeout: {{ .Values.exportarr.serviceMonitor.scrapeTimeout }} - path: {{ .Values.exportarr.serviceMonitor.path }} -{{- end }} diff --git a/charts/sonarr/values.yaml b/charts/sonarr/values.yaml index 643699c0..35ca7483 100644 --- a/charts/sonarr/values.yaml +++ b/charts/sonarr/values.yaml @@ -1,153 +1,11 @@ # Default values for sonarr. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -image: - repository: linuxserver/sonarr - tag: 3.0.3.911-ls39 - pullPolicy: IfNotPresent - -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -# Prometheus Metrics -exportarr: - enabled: false +sonarr: image: - repository: onedr0p/exportarr - tag: v0.3.0 + organization: itscontained + repository: sonarr pullPolicy: IfNotPresent - url: "http://sonarr.default.svc.cluster.local:8989" - apikey: - port: 9707 - # Enable to gather episode quality metrics, if enabled slows down scrape timing due to more API calls - enableEpisodeQualityMetrics: false - serviceMonitor: - enabled: false - namespace: default - path: /metrics - interval: 4m - scrapeTimeout: 90s - additionalLabels: {} - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1001 -pgid: 1001 - -service: - type: ClusterIP - port: 8989 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - config: - enabled: true - ## sonarr configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 1Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - media: - enabled: true - ## sonarr media volume configuration - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - # subPath: some-subpath - accessMode: ReadWriteOnce - size: 10Gi - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - 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 - -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 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} + tag: "" + service: + port: 8989 + configPath: /var/lib/radarr diff --git a/charts/tautulli/.helmignore b/charts/tautulli/.helmignore deleted file mode 100644 index 46fd8996..00000000 --- a/charts/tautulli/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# OWNERS file for Kubernetes -OWNERS diff --git a/charts/tautulli/Chart.yaml b/charts/tautulli/Chart.yaml index a9c53338..eaadf6ae 100644 --- a/charts/tautulli/Chart.yaml +++ b/charts/tautulli/Chart.yaml @@ -1,16 +1,20 @@ apiVersion: v2 -appVersion: v2.5.4 -description: A Python based monitoring and tracking tool for Plex Media Server. name: tautulli -version: 3.0.1 +description: Tautulli Chart +type: application +version: 4.0.0 +appVersion: v2.5.4 keywords: - tautulli - - plex home: https://github.com/k8s-at-home/charts/tree/master/charts/tautulli -icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/tautulli-icon.png sources: - - https://hub.docker.com/r/linuxserver/tautulli/ - - https://tautulli.com/ + - https://github.com/Tautulli/Tautulli + - https://hub.docker.com/r/tautulli/tautulli maintainers: - - name: billimek - email: jeff@billimek.com + - name: DirtyCajunRice + email: nick@cajun.pro +dependencies: + - name: media-common + repository: https://k8s-at-home.com/charts/ + version: ~1.0.0 + alias: tautulli diff --git a/charts/tautulli/OWNERS b/charts/tautulli/OWNERS deleted file mode 100644 index 51f88652..00000000 --- a/charts/tautulli/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -approvers: -- billimek -reviewers: -- billimek \ No newline at end of file diff --git a/charts/tautulli/README.md b/charts/tautulli/README.md deleted file mode 100644 index b1e5c164..00000000 --- a/charts/tautulli/README.md +++ /dev/null @@ -1,96 +0,0 @@ -# Tautulli - -This is a helm chart for [Tautulli](https://tautulli.com/) leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/tautulli/) - -## TL;DR; - -```shell -$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ -$ helm install k8s-at-home/tautulli -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install --name my-release k8s-at-home/tautulli -``` - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -helm delete my-release --purge -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the Sentry chart and their default values. - -| Parameter | Description | Default | -|----------------------------|-------------------------------------|---------------------------------------------------------| -| `image.repository` | Image repository | `linuxserver/tautulli` | -| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/linuxserver/tautulli/tags/).| `v2.1.39-ls32`| -| `image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` | -| `timezone` | Timezone the Tautulli instance should run as, e.g. 'America/New_York' | `UTC` | -| `puid` | process userID the Tautulli instance should run as | `1001` | -| `pgid` | process groupID the Tautulli instance should run as | `1001` | -| `probes.liveness.initialDelaySeconds` | Specify liveness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.liveness.failureThreshold` | Specify liveness `failureThreshold` parameter for the deployment | `5` | -| `probes.liveness.timeoutSeconds` | Specify liveness `timeoutSeconds` parameter for the deployment | `10` | -| `probes.readiness.initialDelaySeconds` | Specify readiness `initialDelaySeconds` parameter for the deployment | `60` | -| `probes.readiness.failureThreshold` | Specify readiness `failureThreshold` parameter for the deployment | `5` | -| `probes.readiness.timeoutSeconds` | Specify readiness `timeoutSeconds` parameter for the deployment | `10` | -| `Service.type` | Kubernetes service type for the Tautulli GUI | `ClusterIP` | -| `Service.port` | Kubernetes port where the Tautulli GUI is exposed| `8181` | -| `Service.annotations` | Service annotations for the Tautulli GUI | `{}` | -| `Service.labels` | Custom labels | `{}` | -| `Service.loadBalancerIP` | Loadbalance IP for the Tautulli GUI | `{}` | -| `Service.loadBalancerSourceRanges` | List of IP CIDRs allowed access to load balancer (if supported) | None -| `ingress.enabled` | Enables Ingress | `false` | -| `ingress.annotations` | Ingress annotations | `{}` | -| `ingress.labels` | Custom labels | `{}` -| `ingress.path` | Ingress path | `/` | -| `ingress.hosts` | Ingress accepted hostnames | `chart-example.local` | -| `ingress.tls` | Ingress TLS configuration | `[]` | -| `persistence.config.enabled` | Use persistent volume to store configuration data | `true` | -| `persistence.config.size` | Size of persistent volume claim | `1Gi` | -| `persistence.config.existingClaim`| Use an existing PVC to persist data | `nil` | -| `persistence.config.subPath` | Mount a sub directory of the persistent volume if set | `""` | -| `persistence.config.storageClass` | Type of persistent volume claim | `-` | -| `persistence.config.accessMode` | Persistence access mode | `ReadWriteOnce` | -| `persistence.config.skipuninstall` | Do not delete the pvc upon helm uninstall | `false` | -| `resources` | CPU/Memory resource requests/limits | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Toleration labels for pod assignment | `[]` | -| `affinity` | Affinity settings for pod assignment | `{}` | -| `podAnnotations` | Key-value pairs to add as pod annotations | `{}` | -| `deploymentAnnotations` | Key-value pairs to add as deployment annotations | `{}` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install --name my-release \ - --set timezone="America/New York" \ - k8s-at-home/tautulli -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install --name my-release -f values.yaml k8s-at-home/tautulli -``` - ---- -**NOTE** - -If you get `Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. - ---- - -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/tautulli/values.yaml) file. It has several commented out suggested values. diff --git a/charts/tautulli/templates/NOTES.txt b/charts/tautulli/templates/NOTES.txt deleted file mode 100644 index 71123b83..00000000 --- a/charts/tautulli/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -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 "tautulli.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 "tautulli.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "tautulli.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 "tautulli.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8181 to use your application" - kubectl port-forward $POD_NAME 8181:80 -{{- end }} \ No newline at end of file diff --git a/charts/tautulli/templates/_helpers.tpl b/charts/tautulli/templates/_helpers.tpl deleted file mode 100644 index b7a2c950..00000000 --- a/charts/tautulli/templates/_helpers.tpl +++ /dev/null @@ -1,32 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "tautulli.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 "tautulli.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 "tautulli.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/charts/tautulli/templates/config-pvc.yaml b/charts/tautulli/templates/config-pvc.yaml deleted file mode 100644 index e6342bcc..00000000 --- a/charts/tautulli/templates/config-pvc.yaml +++ /dev/null @@ -1,29 +0,0 @@ - -{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "tautulli.fullname" . }}-config - {{- if .Values.persistence.config.skipuninstall }} - annotations: - "helm.sh/resource-policy": keep - {{- end }} - labels: - app.kubernetes.io/name: {{ include "tautulli.name" . }} - helm.sh/chart: {{ include "tautulli.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 -}} \ No newline at end of file diff --git a/charts/tautulli/templates/deployment.yaml b/charts/tautulli/templates/deployment.yaml deleted file mode 100644 index ff482681..00000000 --- a/charts/tautulli/templates/deployment.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "tautulli.fullname" . }} - {{- if .Values.deploymentAnnotations }} - annotations: - {{- range $key, $value := .Values.deploymentAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - labels: - app.kubernetes.io/name: {{ include "tautulli.name" . }} - helm.sh/chart: {{ include "tautulli.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 "tautulli.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "tautulli.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: 8181 - 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 }}" - volumeMounts: - - mountPath: /config - name: config - {{- if .Values.persistence.config.subPath }} - subPath: "{{ .Values.persistence.config.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 "tautulli.fullname" . }}-config{{- 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 }} diff --git a/charts/tautulli/templates/ingress.yaml b/charts/tautulli/templates/ingress.yaml deleted file mode 100644 index 3d3f3911..00000000 --- a/charts/tautulli/templates/ingress.yaml +++ /dev/null @@ -1,41 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "tautulli.fullname" . -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app.kubernetes.io/name: {{ include "tautulli.name" . }} - helm.sh/chart: {{ include "tautulli.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 }} diff --git a/charts/tautulli/templates/service.yaml b/charts/tautulli/templates/service.yaml deleted file mode 100644 index 2e1f27d9..00000000 --- a/charts/tautulli/templates/service.yaml +++ /dev/null @@ -1,53 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "tautulli.fullname" . }} - labels: - app.kubernetes.io/name: {{ include "tautulli.name" . }} - helm.sh/chart: {{ include "tautulli.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 "tautulli.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - \ No newline at end of file diff --git a/charts/tautulli/values.yaml b/charts/tautulli/values.yaml index 888e4f24..5bd7142d 100644 --- a/charts/tautulli/values.yaml +++ b/charts/tautulli/values.yaml @@ -1,117 +1,10 @@ # Default values for tautulli. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -image: - repository: linuxserver/tautulli - tag: v2.5.4-ls12 - pullPolicy: IfNotPresent - -# upgrade strategy type (e.g. Recreate or RollingUpdate) -strategyType: Recreate - -# Probes configuration -probes: - liveness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - readiness: - initialDelaySeconds: 60 - failureThreshold: 5 - timeoutSeconds: 10 - -nameOverride: "" -fullnameOverride: "" - -timezone: UTC -puid: 1001 -pgid: 1001 - -service: - type: ClusterIP - port: 8181 - ## Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## - # nodePort: - ## Provide any additional annotations which may be required. This can be used to - ## set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - labels: {} - ## Use loadBalancerIP to request a specific static IP, - ## otherwise leave blank - ## - loadBalancerIP: - # loadBalancerSourceRanges: [] - ## Set the externalTrafficPolicy in the Service to either Cluster or Local - # externalTrafficPolicy: Cluster - -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - labels: {} - path: / - hosts: - - chart-example.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -persistence: - config: - enabled: true - ## tautulli configuration data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - ## - ## If you want to reuse an existing claim, you can pass the name of the PVC using - ## the existingClaim variable - # existingClaim: your-claim - accessMode: ReadWriteOnce - size: 1Gi - ## If subPath is set mount a sub folder of a volume instead of the root of the volume. - ## This is especially handy for volume plugins that don't natively support sub mounting (like glusterfs). - ## - subPath: "" - ## Do not delete the pvc upon helm uninstall - skipuninstall: false - 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 - -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 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -podAnnotations: {} - -deploymentAnnotations: {} +tautulli: + image: + organization: tautulli + repository: tautulli + pullPolicy: IfNotPresent + tag: "" + service: + port: 8181 From db24d009cceb9333b7485ba553dab0683624ab6d Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 22:17:16 -0500 Subject: [PATCH 03/14] add readme for media-common --- charts/media-common/README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 charts/media-common/README.md diff --git a/charts/media-common/README.md b/charts/media-common/README.md new file mode 100644 index 00000000..54d98cb7 --- /dev/null +++ b/charts/media-common/README.md @@ -0,0 +1,24 @@ +# Shared base chart for k8s@home media charts + +Many containers have no environmentally configurable settings. This chart allows a single maintainable +base with umbrella charts for container-specific differences. This chart does not have a default +repository or tag, and not designed to be deployed directly. + +## Known Parent Charts + +* [k8s-at-home/radarr](https://github.com/k8s-at-home/charts/tree/master/charts/radarr) +* [k8s-at-home/sonarr](https://github.com/k8s-at-home/charts/tree/master/charts/sonarr) +* [k8s-at-home/lidarr](https://github.com/k8s-at-home/charts/tree/master/charts/lidarr) +* [k8s-at-home/tautulli](https://github.com/k8s-at-home/charts/tree/master/charts/tautulli) +* [k8s-at-home/ombi](https://github.com/k8s-at-home/charts/tree/master/charts/ombi) +* [k8s-at-home/organizr](https://github.com/k8s-at-home/charts/tree/master/charts/organizr) + +## Configuration + +Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will normally be nested as it is a dependency, for example: +```yaml +radarr: + +``` \ No newline at end of file From d3406d1f39a4e364c0fcddb069a2ee129e9a3f50 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 22:28:34 -0500 Subject: [PATCH 04/14] add owners and readmes --- charts/lidarr/OWNERS | 4 ++++ charts/lidarr/README.md | 15 +++++++++++++++ charts/ombi/OWNERS | 4 ++++ charts/ombi/README.md | 15 +++++++++++++++ charts/organizr/OWNERS | 4 ++++ charts/organizr/README.md | 15 +++++++++++++++ charts/radarr/OWNERS | 4 ++++ charts/radarr/README.md | 15 +++++++++++++++ charts/sonarr/OWNERS | 4 ++++ charts/sonarr/README.md | 15 +++++++++++++++ charts/tautulli/OWNERS | 4 ++++ charts/tautulli/README.md | 15 +++++++++++++++ 12 files changed, 114 insertions(+) create mode 100644 charts/lidarr/OWNERS create mode 100644 charts/lidarr/README.md create mode 100644 charts/ombi/OWNERS create mode 100644 charts/ombi/README.md create mode 100644 charts/organizr/OWNERS create mode 100644 charts/organizr/README.md create mode 100644 charts/radarr/OWNERS create mode 100644 charts/radarr/README.md create mode 100644 charts/sonarr/OWNERS create mode 100644 charts/sonarr/README.md create mode 100644 charts/tautulli/OWNERS create mode 100644 charts/tautulli/README.md diff --git a/charts/lidarr/OWNERS b/charts/lidarr/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/lidarr/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/lidarr/README.md b/charts/lidarr/README.md new file mode 100644 index 00000000..d18e5bda --- /dev/null +++ b/charts/lidarr/README.md @@ -0,0 +1,15 @@ +# lidarr umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +lidarr: + image: + tag: ... +``` \ No newline at end of file diff --git a/charts/ombi/OWNERS b/charts/ombi/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/ombi/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/ombi/README.md b/charts/ombi/README.md new file mode 100644 index 00000000..dfce2ff2 --- /dev/null +++ b/charts/ombi/README.md @@ -0,0 +1,15 @@ +# ombi umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +ombi: + image: + tag: ... +``` \ No newline at end of file diff --git a/charts/organizr/OWNERS b/charts/organizr/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/organizr/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/organizr/README.md b/charts/organizr/README.md new file mode 100644 index 00000000..877ad400 --- /dev/null +++ b/charts/organizr/README.md @@ -0,0 +1,15 @@ +# organizr umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +organizr: + image: + tag: ... +``` \ No newline at end of file diff --git a/charts/radarr/OWNERS b/charts/radarr/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/radarr/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/radarr/README.md b/charts/radarr/README.md new file mode 100644 index 00000000..7c392760 --- /dev/null +++ b/charts/radarr/README.md @@ -0,0 +1,15 @@ +# radarr umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +radarr: + image: + tag: ... +``` \ No newline at end of file diff --git a/charts/sonarr/OWNERS b/charts/sonarr/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/sonarr/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md new file mode 100644 index 00000000..347dfa99 --- /dev/null +++ b/charts/sonarr/README.md @@ -0,0 +1,15 @@ +# sonarr umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +sonarr: + image: + tag: ... +``` \ No newline at end of file diff --git a/charts/tautulli/OWNERS b/charts/tautulli/OWNERS new file mode 100644 index 00000000..2eb39f10 --- /dev/null +++ b/charts/tautulli/OWNERS @@ -0,0 +1,4 @@ +approvers: +- DirtyCajunRice +reviewers: +- DirtyCajunRice diff --git a/charts/tautulli/README.md b/charts/tautulli/README.md new file mode 100644 index 00000000..084556cd --- /dev/null +++ b/charts/tautulli/README.md @@ -0,0 +1,15 @@ +# tautulli umbrella chart + +Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds +image information. + +## Configuration + +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. + +These values will be nested as it is a dependency, for example: +```yaml +tautulli: + image: + tag: ... +``` \ No newline at end of file From 3a40f65b469152f3827a23b6b627d63670f8cc59 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 22:36:08 -0500 Subject: [PATCH 05/14] version bump to appease chart releaser --- charts/media-common/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/media-common/Chart.yaml b/charts/media-common/Chart.yaml index e384d00b..6f724c57 100644 --- a/charts/media-common/Chart.yaml +++ b/charts/media-common/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: media-common description: Common dependancy chart for media ecosystem containers type: application -version: 1.0.0 +version: 1.0.1 keywords: - media-common home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common From b899548da98bd546b631e6e3692995fbf8331fdf Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sat, 5 Sep 2020 23:56:45 -0500 Subject: [PATCH 06/14] use ls version for now --- charts/lidarr/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index c4e39f08..63a6dab0 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -3,7 +3,7 @@ name: lidarr description: Lidarr Chart type: application version: 4.0.0 -appVersion: 0.7.1.1785 +appVersion: 0.7.1.1785-ls18 keywords: - lidarr home: https://github.com/k8s-at-home/charts/tree/master/charts/lidarr From 3b06c431b053ce39429a70144e590764a2babbb1 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 01:08:47 -0500 Subject: [PATCH 07/14] add tag. .Chart.appVersion cannot be passed to dependency until https://github.com/helm/helm/pull/6876 is merged --- charts/lidarr/values.yaml | 2 +- charts/ombi/values.yaml | 2 +- charts/organizr/values.yaml | 2 +- charts/radarr/values.yaml | 2 +- charts/sonarr/values.yaml | 2 +- charts/tautulli/values.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/lidarr/values.yaml b/charts/lidarr/values.yaml index db7a7369..cc2122ff 100644 --- a/charts/lidarr/values.yaml +++ b/charts/lidarr/values.yaml @@ -5,6 +5,6 @@ lidarr: organization: linuxserver repository: lidarr pullPolicy: IfNotPresent - tag: "" + tag: 0.7.1.1785-ls18 service: port: 8686 diff --git a/charts/ombi/values.yaml b/charts/ombi/values.yaml index 287f5bdd..656b0a09 100644 --- a/charts/ombi/values.yaml +++ b/charts/ombi/values.yaml @@ -5,7 +5,7 @@ ombi: organization: itscontained repository: ombi pullPolicy: IfNotPresent - tag: "" + tag: 4.0.471 service: port: 5000 configPath: /var/lib/ombi diff --git a/charts/organizr/values.yaml b/charts/organizr/values.yaml index 5aa49831..03207b3b 100644 --- a/charts/organizr/values.yaml +++ b/charts/organizr/values.yaml @@ -5,6 +5,6 @@ organizr: organization: organizr repository: organizr pullPolicy: IfNotPresent - tag: "" + tag: latest service: port: 80 diff --git a/charts/radarr/values.yaml b/charts/radarr/values.yaml index 80109677..c79d52c8 100644 --- a/charts/radarr/values.yaml +++ b/charts/radarr/values.yaml @@ -5,7 +5,7 @@ radarr: organization: itscontained repository: radarr pullPolicy: IfNotPresent - tag: "" + tag: 3.0.0.3591 service: port: 7878 configPath: /var/lib/radarr diff --git a/charts/sonarr/values.yaml b/charts/sonarr/values.yaml index 35ca7483..6ce34ca2 100644 --- a/charts/sonarr/values.yaml +++ b/charts/sonarr/values.yaml @@ -5,7 +5,7 @@ sonarr: organization: itscontained repository: sonarr pullPolicy: IfNotPresent - tag: "" + tag: 3.0.3.913 service: port: 8989 configPath: /var/lib/radarr diff --git a/charts/tautulli/values.yaml b/charts/tautulli/values.yaml index 5bd7142d..86ebed96 100644 --- a/charts/tautulli/values.yaml +++ b/charts/tautulli/values.yaml @@ -5,6 +5,6 @@ tautulli: organization: tautulli repository: tautulli pullPolicy: IfNotPresent - tag: "" + tag: v2.5.4 service: port: 8181 From da9bea90b3d3c9de9b58acd663b9450b9d198a11 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 15:23:15 -0500 Subject: [PATCH 08/14] fix descriptions to projects taglines --- charts/lidarr/Chart.yaml | 2 +- charts/ombi/Chart.yaml | 2 +- charts/organizr/Chart.yaml | 2 +- charts/radarr/Chart.yaml | 2 +- charts/sonarr/Chart.yaml | 2 +- charts/tautulli/Chart.yaml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index 63a6dab0..fa6d7124 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: lidarr -description: Lidarr Chart +description: Looks and smells like Sonarr but made for music type: application version: 4.0.0 appVersion: 0.7.1.1785-ls18 diff --git a/charts/ombi/Chart.yaml b/charts/ombi/Chart.yaml index 0e64c8b4..65ad958a 100644 --- a/charts/ombi/Chart.yaml +++ b/charts/ombi/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: ombi -description: Ombi Chart +description: Want a Movie or TV Show on Plex or Emby? Use Ombi! type: application version: 4.0.0 appVersion: 4.0.471 diff --git a/charts/organizr/Chart.yaml b/charts/organizr/Chart.yaml index bfc26fb4..52463209 100644 --- a/charts/organizr/Chart.yaml +++ b/charts/organizr/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: organizr -description: Organizr Chart +description: HTPC/Homelab Services Organizer - Written in PHP type: application version: 1.0.0 appVersion: latest diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index 6d26469f..75644c14 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: radarr -description: Radarr Chart +description: A fork of Sonarr to work with movies à la Couchpotato type: application version: 6.0.0 appVersion: 3.0.0.3591 diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index 7eb9ac5a..dcb705b4 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: sonarr -description: Sonarr Chart +description: Smart PVR for newsgroup and bittorrent users type: application version: 6.0.0 appVersion: 3.0.3.913 diff --git a/charts/tautulli/Chart.yaml b/charts/tautulli/Chart.yaml index eaadf6ae..382252cb 100644 --- a/charts/tautulli/Chart.yaml +++ b/charts/tautulli/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: tautulli -description: Tautulli Chart +description: A Python based monitoring and tracking tool for Plex Media Server type: application version: 4.0.0 appVersion: v2.5.4 From 75fd9f4e6d3fe79c13aaf4d6377d8e24d3486b79 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 15:34:41 -0500 Subject: [PATCH 09/14] add back icons sourced from project owner repos --- charts/lidarr/Chart.yaml | 1 + charts/ombi/Chart.yaml | 1 + charts/organizr/Chart.yaml | 1 + charts/radarr/Chart.yaml | 1 + charts/sonarr/Chart.yaml | 1 + charts/tautulli/Chart.yaml | 1 + 6 files changed, 6 insertions(+) diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index fa6d7124..2ea5fc4e 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -7,6 +7,7 @@ appVersion: 0.7.1.1785-ls18 keywords: - lidarr home: https://github.com/k8s-at-home/charts/tree/master/charts/lidarr +icon: https://github.com/lidarr/Lidarr/blob/develop/Logo/512.png?raw=true sources: - https://github.com/Lidarr/Lidarr - https://hub.docker.com/r/linuxserver/lidarr diff --git a/charts/ombi/Chart.yaml b/charts/ombi/Chart.yaml index 65ad958a..fd5ae271 100644 --- a/charts/ombi/Chart.yaml +++ b/charts/ombi/Chart.yaml @@ -7,6 +7,7 @@ appVersion: 4.0.471 keywords: - ombi home: https://github.com/k8s-at-home/charts/tree/master/charts/ombi +icon: https://github.com/tidusjar/Ombi/blob/feature/v4/src/Ombi/wwwroot/images/ms-icon-310x310.png?raw=true sources: - https://github.com/tidusjar/Ombi - https://hub.docker.com/r/itscontained/ombi diff --git a/charts/organizr/Chart.yaml b/charts/organizr/Chart.yaml index 52463209..777a2540 100644 --- a/charts/organizr/Chart.yaml +++ b/charts/organizr/Chart.yaml @@ -7,6 +7,7 @@ appVersion: latest keywords: - organizr home: https://github.com/k8s-at-home/charts/tree/master/charts/organizr +icon: https://github.com/causefx/Organizr/blob/v2-master/plugins/images/organizr/logo.png?raw=true sources: - https://github.com/causefx/Organizr - https://hub.docker.com/r/organizr/organizr diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index 75644c14..27353d80 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -7,6 +7,7 @@ appVersion: 3.0.0.3591 keywords: - radarr home: https://github.com/k8s-at-home/charts/tree/master/charts/radarr +icon: https://github.com/Radarr/Radarr/blob/aphrodite/Logo/512.png?raw=true sources: - https://github.com/Radarr/Radarr - https://hub.docker.com/r/itscontained/radarr diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index dcb705b4..b81efc34 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -7,6 +7,7 @@ appVersion: 3.0.3.913 keywords: - sonarr home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/sonarr +icon: https://github.com/Sonarr/Sonarr/blob/phantom-develop/Logo/512.png?raw=true sources: - https://github.com/Sonarr/Sonarr - https://hub.docker.com/r/itscontained/sonarr diff --git a/charts/tautulli/Chart.yaml b/charts/tautulli/Chart.yaml index 382252cb..0e11fffe 100644 --- a/charts/tautulli/Chart.yaml +++ b/charts/tautulli/Chart.yaml @@ -7,6 +7,7 @@ appVersion: v2.5.4 keywords: - tautulli home: https://github.com/k8s-at-home/charts/tree/master/charts/tautulli +icon: https://github.com/Tautulli/Tautulli/blob/master/data/interfaces/default/images/logo.png?raw=true sources: - https://github.com/Tautulli/Tautulli - https://hub.docker.com/r/tautulli/tautulli From 6d5c992852a708fbb8e4d1167078b9a5a08bb08f Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 15:40:16 -0500 Subject: [PATCH 10/14] switch organization back to linuxserver until itscontained supports multiarch --- charts/ombi/values.yaml | 7 +++---- charts/radarr/values.yaml | 5 ++--- charts/sonarr/values.yaml | 5 ++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/charts/ombi/values.yaml b/charts/ombi/values.yaml index 656b0a09..3e630cc9 100644 --- a/charts/ombi/values.yaml +++ b/charts/ombi/values.yaml @@ -2,10 +2,9 @@ ombi: image: - organization: itscontained + organization: linuxserver repository: ombi pullPolicy: IfNotPresent - tag: 4.0.471 + tag: v4.0.471-ls10 service: - port: 5000 - configPath: /var/lib/ombi + port: 3579 diff --git a/charts/radarr/values.yaml b/charts/radarr/values.yaml index c79d52c8..74bce92a 100644 --- a/charts/radarr/values.yaml +++ b/charts/radarr/values.yaml @@ -2,10 +2,9 @@ radarr: image: - organization: itscontained + organization: linuxserver repository: radarr pullPolicy: IfNotPresent - tag: 3.0.0.3591 + tag: 3.0.0.3624-ls21 service: port: 7878 - configPath: /var/lib/radarr diff --git a/charts/sonarr/values.yaml b/charts/sonarr/values.yaml index 6ce34ca2..6d6baeb2 100644 --- a/charts/sonarr/values.yaml +++ b/charts/sonarr/values.yaml @@ -2,10 +2,9 @@ sonarr: image: - organization: itscontained + organization: linuxserver repository: sonarr pullPolicy: IfNotPresent - tag: 3.0.3.913 + tag: 3.0.3.913-ls40 service: port: 8989 - configPath: /var/lib/radarr From 4f99bc67fb77ade94a7679288498b52fc733becb Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 16:22:54 -0500 Subject: [PATCH 11/14] update readmes to original verbosity and address in separate pr --- charts/lidarr/README.md | 68 +++++++++++++++++++++++++++++++++++---- charts/ombi/README.md | 68 +++++++++++++++++++++++++++++++++++---- charts/organizr/README.md | 53 ++++++++++++++++++++++++++---- charts/radarr/README.md | 68 +++++++++++++++++++++++++++++++++++---- charts/sonarr/README.md | 68 +++++++++++++++++++++++++++++++++++---- charts/tautulli/README.md | 57 ++++++++++++++++++++++++++++---- 6 files changed, 346 insertions(+), 36 deletions(-) diff --git a/charts/lidarr/README.md b/charts/lidarr/README.md index d18e5bda..9912ba73 100644 --- a/charts/lidarr/README.md +++ b/charts/lidarr/README.md @@ -1,15 +1,71 @@ -# lidarr umbrella chart +# Lidarr | Looks and smells like Sonarr but made for music +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/lidarr/) +* Deploys [Lidarr](https://github.com/lidarr/Lidarr) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/lidarr +``` + +## Installing the Chart +To install the chart with the release name `lidarr`: +```console +helm install lidarr k8s-at-home/lidarr +``` + +## Upgrading +Chart versions before 4.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under +a top-level `lidarr:` key. + +Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Lidarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Lidarr copying files rather than linking; using additional storage without the user's knowledge. + +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: + +1. [Uninstall](#uninstalling-the-chart) your current release +2. On your backing store, organize your media, ie. media/music, media/downloads +3. If using a pre-existing PVC, create a single new PVC for all of your media +4. Refer to the [configuration](#configuration) for updates to the chart values +5. Re-install the chart +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Lidarr's `Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. + +## Uninstalling the Chart +To uninstall the `lidarr` deployment: +```console +helm uninstall lidarr +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install lidarr \ + --set lidarr.env.TZ="America/New York" \ + k8s-at-home/lidarr +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install lidarr k8s-at-home/lidarr --values values.yaml +``` + +These values will be nested as it is a dependency, for example ```yaml lidarr: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- diff --git a/charts/ombi/README.md b/charts/ombi/README.md index dfce2ff2..f9b878f7 100644 --- a/charts/ombi/README.md +++ b/charts/ombi/README.md @@ -1,15 +1,71 @@ -# ombi umbrella chart +# Ombi | Want a Movie or TV Show on Plex or Emby? Use Ombi! +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/ombi/) +* Deploys [Ombi](https://github.com/tidusjar/Ombi) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/ombi +``` + +## Installing the Chart +To install the chart with the release name `ombi`: +```console +helm install ombi k8s-at-home/ombi +``` + +## Upgrading +Chart versions before 4.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under +a top-level `ombi:` key. + +Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Ombi would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Ombi copying files rather than linking; using additional storage without the user's knowledge. + +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: + +1. [Uninstall](#uninstalling-the-chart) your current release +2. On your backing store, organize your media, ie. media/music, media/downloads +3. If using a pre-existing PVC, create a single new PVC for all of your media +4. Refer to the [configuration](#configuration) for updates to the chart values +5. Re-install the chart +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Ombi's `Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. + +## Uninstalling the Chart +To uninstall the `ombi` deployment: +```console +helm uninstall ombi +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install ombi \ + --set ombi.env.TZ="America/New York" \ + k8s-at-home/ombi +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install ombi k8s-at-home/ombi --values values.yaml +``` + +These values will be nested as it is a dependency, for example ```yaml ombi: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- diff --git a/charts/organizr/README.md b/charts/organizr/README.md index 877ad400..93302cc3 100644 --- a/charts/organizr/README.md +++ b/charts/organizr/README.md @@ -1,15 +1,56 @@ -# organizr umbrella chart +# Organizr | HTPC/Homelab Services Organizer - Written in PHP +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [official image](https://hub.docker.com/r/organizr/organizr/) +* Deploys [Organizr](https://github.com/causefx/Organizr) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/organizr +``` + +## Installing the Chart +To install the chart with the release name `organizr`: +```console +helm install organizr k8s-at-home/organizr +``` + +## Uninstalling the Chart +To uninstall the `organizr` deployment: +```console +helm uninstall organizr +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install organizr \ + --set organizr.env.TZ="America/New York" \ + k8s-at-home/organizr +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install organizr k8s-at-home/organizr --values values.yaml +``` + +These values will be nested as it is a dependency, for example ```yaml organizr: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- diff --git a/charts/radarr/README.md b/charts/radarr/README.md index 7c392760..77f5c441 100644 --- a/charts/radarr/README.md +++ b/charts/radarr/README.md @@ -1,15 +1,71 @@ -# radarr umbrella chart +# Radarr | A fork of Sonarr to work with movies à la Couchpotato +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/radarr/) +* Deploys [Radarr](https://github.com/Radarr/Radarr) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/radarr +``` + +## Installing the Chart +To install the chart with the release name `radarr`: +```console +helm install radarr k8s-at-home/radarr +``` + +## Upgrading +Chart versions before 6.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under +a top-level `radarr:` key. + +Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Music. This presented an issue where Radarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Radarr copying files rather than linking; using additional storage without the user's knowledge. + +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: + +1. [Uninstall](#uninstalling-the-chart) your current release +2. On your backing store, organize your media, ie. media/movies, media/downloads +3. If using a pre-existing PVC, create a single new PVC for all of your media +4. Refer to the [configuration](#configuration) for updates to the chart values +5. Re-install the chart +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Radarr's `Movie Editor` under the `Movies` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. + +## Uninstalling the Chart +To uninstall the `radarr` deployment: +```console +helm uninstall radarr +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install radarr \ + --set radarr.env.TZ="America/New York" \ + k8s-at-home/radarr +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install radarr k8s-at-home/radarr --values values.yaml +``` + +These values will be nested as it is a dependency, for example ```yaml radarr: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md index 347dfa99..c80e8df3 100644 --- a/charts/sonarr/README.md +++ b/charts/sonarr/README.md @@ -1,15 +1,71 @@ -# sonarr umbrella chart +# Sonarr | Smart PVR for newsgroup and bittorrent users +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [Linuxserver.io image](https://hub.docker.com/r/linuxserver/sonarr/) +* Deploys [Sonarr](https://github.com/sonarr/Sonarr) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/sonarr +``` + +## Installing the Chart +To install the chart with the release name `sonarr`: +```console +helm install sonarr k8s-at-home/sonarr +``` + +## Upgrading +Chart versions before 6.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under +a top-level `sonarr:` key. + +Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Music. This presented an issue where Sonarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Sonarr copying files rather than linking; using additional storage without the user's knowledge. + +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: + +1. [Uninstall](#uninstalling-the-chart) your current release +2. On your backing store, organize your media, ie. media/tv, media/downloads +3. If using a pre-existing PVC, create a single new PVC for all of your media +4. Refer to the [configuration](#configuration) for updates to the chart values +5. Re-install the chart +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Sonarr's `Series Editor` under the `Series` tab. Simply select all series in your library, and use the editor to change the `Root Folder` and hit save. + +## Uninstalling the Chart +To uninstall the `sonarr` deployment: +```console +helm uninstall sonarr +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install sonarr \ + --set sonarr.env.TZ="America/New York" \ + k8s-at-home/sonarr +``` + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install sonarr k8s-at-home/sonarr --values values.yaml +``` +These values will be nested as it is a dependency, for example ```yaml sonarr: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- diff --git a/charts/tautulli/README.md b/charts/tautulli/README.md index 084556cd..f035b6dd 100644 --- a/charts/tautulli/README.md +++ b/charts/tautulli/README.md @@ -1,15 +1,60 @@ -# tautulli umbrella chart +# Tautulli | A Python based monitoring and tracking tool for Plex Media Server +Umbrella chart that +* Uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) as a base +* Adds docker image information leveraging the [official image](https://hub.docker.com/r/tautulli/tautulli/) +* Deploys [Tautulli](https://github.com/Tautulli/Tautulli) -Umbrella chart that uses [media-common](https://github.com/k8s-at-home/charts/tree/master/charts/media-common) and adds -image information. +## TL;DR +```console +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/tautulli +``` + +## Installing the Chart +To install the chart with the release name `tautulli`: +```console +helm install tautulli k8s-at-home/tautulli +``` + +## Upgrading +Chart versions before 4.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under +a top-level `tautulli:` key. + +## Uninstalling the Chart +To uninstall the `tautulli` deployment: +```console +helm uninstall tautulli +``` +The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration - Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. -These values will be nested as it is a dependency, for example: +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install tautulli \ + --set tautulli.env.TZ="America/New York" \ + k8s-at-home/tautulli +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +```console +helm install tautulli k8s-at-home/tautulli --values values.yaml +``` + +These values will be nested as it is a dependency, for example ```yaml tautulli: image: tag: ... -``` \ No newline at end of file +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- From 10cfeb8bd1bc001dc7c38eee57e65990a0194377 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 17:10:34 -0500 Subject: [PATCH 12/14] fix copy/paste on readmes, standardize readme lines to approx 120 char per line, and allow commit messages to skip linting. [skip install] [skip lint] --- .github/workflows/lint-test.yaml | 14 ++++++-------- charts/lidarr/README.md | 20 ++++++++++++++------ charts/media-common/README.md | 3 ++- charts/media-common/ci/ct-values.yaml | 3 +-- charts/ombi/Chart.yaml | 2 +- charts/ombi/README.md | 18 +++++++++++++----- charts/organizr/README.md | 6 ++++-- charts/radarr/Chart.yaml | 2 +- charts/radarr/README.md | 18 +++++++++++++----- charts/sonarr/Chart.yaml | 2 +- charts/sonarr/README.md | 21 +++++++++++++++------ charts/tautulli/README.md | 6 ++++-- 12 files changed, 75 insertions(+), 40 deletions(-) diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index c758ac45..817e9a78 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -1,30 +1,28 @@ name: Lint and Test Charts - on: pull_request - jobs: lint-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - - name: Fetch history - run: git fetch --prune --unshallow - + run: | + git fetch --prune --unshallow; + echo ::set-env name=commitmsg::$(git log --format=%B -n 1 ${{ github.event.after }}) - name: Run chart-testing (lint) id: lint uses: helm/chart-testing-action@v1.0.0 + if: !contains(env.commitmsg, '[skip lint]') with: command: lint config: ct.yaml - - name: Create kind cluster uses: helm/kind-action@v1.0.0 - if: steps.lint.outputs.changed == 'true' - + if: steps.lint.outputs.changed == 'true' && !contains(env.commitmsg, '[skip install]') - name: Run chart-testing (install) uses: helm/chart-testing-action@v1.0.0 + if: steps.lint.outputs.changed == 'true' && !contains(env.commitmsg, '[skip install]') with: command: install config: ct.yaml diff --git a/charts/lidarr/README.md b/charts/lidarr/README.md index 9912ba73..e9da5f59 100644 --- a/charts/lidarr/README.md +++ b/charts/lidarr/README.md @@ -20,16 +20,22 @@ helm install lidarr k8s-at-home/lidarr Chart versions before 4.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under a top-level `lidarr:` key. -Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Lidarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Lidarr copying files rather than linking; using additional storage without the user's knowledge. +Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Lidarr would +be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because +each PVC exposed to the pod as a separate filesystem. It resulted in Lidarr copying files rather than linking; +using additional storage without the user's knowledge. -This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or +be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: 1. [Uninstall](#uninstalling-the-chart) your current release 2. On your backing store, organize your media, ie. media/music, media/downloads 3. If using a pre-existing PVC, create a single new PVC for all of your media 4. Refer to the [configuration](#configuration) for updates to the chart values 5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Lidarr's `Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Lidarr's +`Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the +`Root Folder` and hit save. ## Uninstalling the Chart To uninstall the `lidarr` deployment: @@ -39,7 +45,8 @@ helm uninstall lidarr The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -47,7 +54,8 @@ helm install lidarr \ --set lidarr.env.TZ="America/New York" \ k8s-at-home/lidarr ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the +chart. For example, ```console helm install lidarr k8s-at-home/lidarr --values values.yaml ``` @@ -66,6 +74,6 @@ If you get ```console Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` ``` -it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use`existingClaim`. --- diff --git a/charts/media-common/README.md b/charts/media-common/README.md index 54d98cb7..043d9a94 100644 --- a/charts/media-common/README.md +++ b/charts/media-common/README.md @@ -15,7 +15,8 @@ repository or tag, and not designed to be deployed directly. ## Configuration -Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. +It has several commented out suggested values. These values will normally be nested as it is a dependency, for example: ```yaml diff --git a/charts/media-common/ci/ct-values.yaml b/charts/media-common/ci/ct-values.yaml index eca9249e..2e2ef0b2 100644 --- a/charts/media-common/ci/ct-values.yaml +++ b/charts/media-common/ci/ct-values.yaml @@ -1,7 +1,6 @@ image: - organization: itscontained + organization: linuxserver repository: radarr tag: latest service: port: 7878 -configPath: /var/lib/radarr diff --git a/charts/ombi/Chart.yaml b/charts/ombi/Chart.yaml index fd5ae271..8b2a34a0 100644 --- a/charts/ombi/Chart.yaml +++ b/charts/ombi/Chart.yaml @@ -10,7 +10,7 @@ home: https://github.com/k8s-at-home/charts/tree/master/charts/ombi icon: https://github.com/tidusjar/Ombi/blob/feature/v4/src/Ombi/wwwroot/images/ms-icon-310x310.png?raw=true sources: - https://github.com/tidusjar/Ombi - - https://hub.docker.com/r/itscontained/ombi + - https://hub.docker.com/r/linuxserver/ombi maintainers: - name: DirtyCajunRice email: nick@cajun.pro diff --git a/charts/ombi/README.md b/charts/ombi/README.md index f9b878f7..a0f97813 100644 --- a/charts/ombi/README.md +++ b/charts/ombi/README.md @@ -20,16 +20,22 @@ helm install ombi k8s-at-home/ombi Chart versions before 4.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under a top-level `ombi:` key. -Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Ombi would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Ombi copying files rather than linking; using additional storage without the user's knowledge. +Chart versions 1.0.1 and earlier used separate PVCs for Downloads and Music. This presented an issue where Ombi would +be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because +each PVC exposed to the pod as a separate filesystem. It resulted in Ombi copying files rather than linking; using +additional storage without the user's knowledge. -This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: +This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or +be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: 1. [Uninstall](#uninstalling-the-chart) your current release 2. On your backing store, organize your media, ie. media/music, media/downloads 3. If using a pre-existing PVC, create a single new PVC for all of your media 4. Refer to the [configuration](#configuration) for updates to the chart values 5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Ombi's `Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Ombi's +`Mass Editor` under the `Library` tab. Simply select all artists in your library, and use the editor to change the +`Root Folder` and hit save. ## Uninstalling the Chart To uninstall the `ombi` deployment: @@ -39,7 +45,8 @@ helm uninstall ombi The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -47,7 +54,8 @@ helm install ombi \ --set ombi.env.TZ="America/New York" \ k8s-at-home/ombi ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. +For example, ```console helm install ombi k8s-at-home/ombi --values values.yaml ``` diff --git a/charts/organizr/README.md b/charts/organizr/README.md index 93302cc3..46d0674f 100644 --- a/charts/organizr/README.md +++ b/charts/organizr/README.md @@ -24,7 +24,8 @@ helm uninstall organizr The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -32,7 +33,8 @@ helm install organizr \ --set organizr.env.TZ="America/New York" \ k8s-at-home/organizr ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. +For example, ```console helm install organizr k8s-at-home/organizr --values values.yaml ``` diff --git a/charts/radarr/Chart.yaml b/charts/radarr/Chart.yaml index 27353d80..7dfaaec5 100644 --- a/charts/radarr/Chart.yaml +++ b/charts/radarr/Chart.yaml @@ -10,7 +10,7 @@ home: https://github.com/k8s-at-home/charts/tree/master/charts/radarr icon: https://github.com/Radarr/Radarr/blob/aphrodite/Logo/512.png?raw=true sources: - https://github.com/Radarr/Radarr - - https://hub.docker.com/r/itscontained/radarr + - https://hub.docker.com/r/linuxserver/radarr maintainers: - name: DirtyCajunRice email: nick@cajun.pro diff --git a/charts/radarr/README.md b/charts/radarr/README.md index 77f5c441..d5ab90a0 100644 --- a/charts/radarr/README.md +++ b/charts/radarr/README.md @@ -20,16 +20,22 @@ helm install radarr k8s-at-home/radarr Chart versions before 6.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under a top-level `radarr:` key. -Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Music. This presented an issue where Radarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Radarr copying files rather than linking; using additional storage without the user's knowledge. +Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Movies. This presented an issue where Radarr would +be unable to hard-link files between the /downloads and /movies directories when importing media. This is caused because +each PVC exposed to the pod as a separate filesystem. It resulted in Radarr copying files rather than linking; +using additional storage without the user's knowledge. -This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: +This chart now uses a single PVC for Downloads and Movies. This means all of your media (and downloads) must be in, or +be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: 1. [Uninstall](#uninstalling-the-chart) your current release 2. On your backing store, organize your media, ie. media/movies, media/downloads 3. If using a pre-existing PVC, create a single new PVC for all of your media 4. Refer to the [configuration](#configuration) for updates to the chart values 5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Radarr's `Movie Editor` under the `Movies` tab. Simply select all artists in your library, and use the editor to change the `Root Folder` and hit save. +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Radarr's +`Movie Editor` under the `Movies` tab. Simply select all artists in your library, and use the editor to change the +`Root Folder` and hit save. ## Uninstalling the Chart To uninstall the `radarr` deployment: @@ -39,7 +45,8 @@ helm uninstall radarr The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -47,7 +54,8 @@ helm install radarr \ --set radarr.env.TZ="America/New York" \ k8s-at-home/radarr ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the +chart. For example, ```console helm install radarr k8s-at-home/radarr --values values.yaml ``` diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index b81efc34..43b9dd02 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -10,7 +10,7 @@ home: https://github.com/k8s-at-home/charts/tree/master/charts/media-common/sona icon: https://github.com/Sonarr/Sonarr/blob/phantom-develop/Logo/512.png?raw=true sources: - https://github.com/Sonarr/Sonarr - - https://hub.docker.com/r/itscontained/sonarr + - https://hub.docker.com/r/linuxserver/sonarr maintainers: - name: DirtyCajunRice email: nick@cajun.pro diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md index c80e8df3..d318e885 100644 --- a/charts/sonarr/README.md +++ b/charts/sonarr/README.md @@ -20,16 +20,22 @@ helm install sonarr k8s-at-home/sonarr Chart versions before 6.0.0 did not use media-common. Upgrading will require you to nest your values.yaml file under a top-level `sonarr:` key. -Chart versions 3.2.0 and earlier used separate PVCs for Downloads and Music. This presented an issue where Sonarr would be unable to hard-link files between the /downloads and /music directories when importing media. This is caused because each PVC is exposed to the pod as a separate filesystem. This resulted in Sonarr copying files rather than linking; using additional storage without the user's knowledge. +Chart versions 3.2.0 and earlier used separate PVCs for Downloads and TV. This presented an issue where Sonarr would +be unable to hard-link files between the /downloads and /tv directories when importing media. This is caused because +each PVC exposed to the pod as a separate filesystem. It resulted in Sonarr copying files rather than linking; using +additional storage without the user's knowledge. -This chart now uses a single PVC for Downloads and Music. This means all of your media (and downloads) must be in, or be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: +This chart now uses a single PVC for Downloads and TV. This means all of your media (and downloads) must be in, or +be subdirectories of, a single directory. If upgrading from an earlier version of the chart, do the following: 1. [Uninstall](#uninstalling-the-chart) your current release 2. On your backing store, organize your media, ie. media/tv, media/downloads 3. If using a pre-existing PVC, create a single new PVC for all of your media 4. Refer to the [configuration](#configuration) for updates to the chart values 5. Re-install the chart -6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Sonarr's `Series Editor` under the `Series` tab. Simply select all series in your library, and use the editor to change the `Root Folder` and hit save. +6. Update your settings in the app to point to the new PVC, which is mounted at /media. This can be done using Sonarr's +`Series Editor` under the `Series` tab. Simply select all series in your library, and use the editor to change the +`Root Folder` and hit save. ## Uninstalling the Chart To uninstall the `sonarr` deployment: @@ -39,7 +45,8 @@ helm uninstall sonarr The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -48,7 +55,8 @@ helm install sonarr \ k8s-at-home/sonarr ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the +chart. For example, ```console helm install sonarr k8s-at-home/sonarr --values values.yaml ``` @@ -66,6 +74,7 @@ If you get ```console Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` ``` -it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use +`existingClaim`. --- diff --git a/charts/tautulli/README.md b/charts/tautulli/README.md index f035b6dd..72605ec4 100644 --- a/charts/tautulli/README.md +++ b/charts/tautulli/README.md @@ -28,7 +28,8 @@ helm uninstall tautulli The command removes all the Kubernetes components associated with the chart and deletes the release. ## Configuration -Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) file. It has several commented out suggested values. +Read through the media-common [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/media-common/values.yaml) +file. It has several commented out suggested values. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, ```console @@ -36,7 +37,8 @@ helm install tautulli \ --set tautulli.env.TZ="America/New York" \ k8s-at-home/tautulli ``` -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. +For example, ```console helm install tautulli k8s-at-home/tautulli --values values.yaml ``` From 7e92803f87b11e1169529a8d22b906af9ee5f954 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 17:14:25 -0500 Subject: [PATCH 13/14] space negative operator [skip install] [skip lint] --- .github/workflows/lint-test.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 817e9a78..7958b65e 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -13,16 +13,16 @@ jobs: - name: Run chart-testing (lint) id: lint uses: helm/chart-testing-action@v1.0.0 - if: !contains(env.commitmsg, '[skip lint]') + if: ! contains(env.commitmsg, '[skip lint]') with: command: lint config: ct.yaml - name: Create kind cluster uses: helm/kind-action@v1.0.0 - if: steps.lint.outputs.changed == 'true' && !contains(env.commitmsg, '[skip install]') + if: steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]') - name: Run chart-testing (install) uses: helm/chart-testing-action@v1.0.0 - if: steps.lint.outputs.changed == 'true' && !contains(env.commitmsg, '[skip install]') + if: steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]') with: command: install config: ct.yaml From 2676dbded200b0dd4bcce723b361c45c1e810fae Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Sun, 6 Sep 2020 17:15:41 -0500 Subject: [PATCH 14/14] quote checks [skip install] [skip lint] --- .github/workflows/lint-test.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 7958b65e..2daaf44f 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -13,16 +13,16 @@ jobs: - name: Run chart-testing (lint) id: lint uses: helm/chart-testing-action@v1.0.0 - if: ! contains(env.commitmsg, '[skip lint]') + if: "! contains(env.commitmsg, '[skip lint]')" with: command: lint config: ct.yaml - name: Create kind cluster uses: helm/kind-action@v1.0.0 - if: steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]') + if: "steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]')" - name: Run chart-testing (install) uses: helm/chart-testing-action@v1.0.0 - if: steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]') + if: "steps.lint.outputs.changed == 'true' && ! contains(env.commitmsg, '[skip install]')" with: command: install config: ct.yaml