From 5cfe91e0f348f3586153607b93f48c561bf0a82d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=97=AA=D1=94=CE=BD=CE=B9=CE=B7=20=E1=97=B7=CF=85=D0=BD?= =?UTF-8?q?=CA=9F?= Date: Sun, 8 Nov 2020 13:00:49 -0500 Subject: [PATCH] [sonarr] use common chart (#122) --- charts/sonarr/Chart.yaml | 28 ++----- charts/sonarr/OWNERS | 4 +- charts/sonarr/README.md | 122 ++++++++++++++++------------ charts/sonarr/ci/ct-values.yaml | 2 + charts/sonarr/templates/NOTES.txt | 1 + charts/sonarr/templates/common.yaml | 1 + charts/sonarr/values.yaml | 43 ++++++++-- 7 files changed, 120 insertions(+), 81 deletions(-) create mode 100644 charts/sonarr/ci/ct-values.yaml create mode 100644 charts/sonarr/templates/NOTES.txt create mode 100644 charts/sonarr/templates/common.yaml diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index c46eb86c..39ffe1dd 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -1,31 +1,21 @@ apiVersion: v2 -name: sonarr +appVersion: 3.0.4.993 description: Smart PVR for newsgroup and bittorrent users -type: application -version: 6.0.2 -appVersion: 3.0.3.913 +name: sonarr +version: 7.0.0 keywords: - sonarr + - torrent + - usenet 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/linuxserver/sonarr maintainers: - - name: DirtyCajunRice - email: nick@cajun.pro - url: https://github.com/dirtycajunrice + - name: billimek + email: jeff@billimek.com dependencies: - - name: media-common + - name: common repository: https://k8s-at-home.com/charts/ - version: ^1.0.0 - alias: sonarr -annotations: - artifacthub.io/links: | - - name: App Source - url: https://github.com/Sonarr/Sonarr - - name: Default Docker Image - url: https://hub.docker.com/r/linuxserver/sonarr - artifacthub.io/maintainers: | - - name: Nicholas St. Germain - email: nick@cajun.pro + version: ^1.0.4 diff --git a/charts/sonarr/OWNERS b/charts/sonarr/OWNERS index 2eb39f10..b90909f4 100644 --- a/charts/sonarr/OWNERS +++ b/charts/sonarr/OWNERS @@ -1,4 +1,4 @@ approvers: -- DirtyCajunRice +- billimek reviewers: -- DirtyCajunRice +- billimek diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md index d318e885..8bf29869 100644 --- a/charts/sonarr/README.md +++ b/charts/sonarr/README.md @@ -1,22 +1,82 @@ -# 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) +# Sonarr -## TL;DR -```console +This is a helm chart for [Sonarr](https://github.com/Sonarr/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 `sonarr`: + +To install the chart with the release name `my-release`: + ```console -helm install sonarr k8s-at-home/sonarr +helm install --name my-release k8s-at-home/sonarr ``` -## Upgrading +## 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 +Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/sonarr/values.yaml) +file. It has several commented out suggested values. +Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options. + +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 +``` + +```yaml +image: + tag: ... +``` + +--- +**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`. + +--- + +## Upgrading an existing Release to a new major version + +A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions. + +### Upgrading from 6.x.x to 7.x.x + +Due to migrating to a centralized common library some values in `values.yaml` have changed. + +Examples: + +* `service.port` has been moved to `service.port.port`. +* `persistence.type` has been moved to `controllerType`. + +Refer to the library values.yaml for more configuration options. + +### Upgrading from 5.x.x to 6.x.x + 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. @@ -36,45 +96,3 @@ be subdirectories of, a single directory. If upgrading from an earlier version o 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. - -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: ... -``` - ---- -**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/ci/ct-values.yaml b/charts/sonarr/ci/ct-values.yaml new file mode 100644 index 00000000..f6ccc628 --- /dev/null +++ b/charts/sonarr/ci/ct-values.yaml @@ -0,0 +1,2 @@ +ingress: + enabled: true diff --git a/charts/sonarr/templates/NOTES.txt b/charts/sonarr/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/sonarr/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/sonarr/templates/common.yaml b/charts/sonarr/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/sonarr/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/sonarr/values.yaml b/charts/sonarr/values.yaml index 6d6baeb2..cd32d475 100644 --- a/charts/sonarr/values.yaml +++ b/charts/sonarr/values.yaml @@ -1,10 +1,37 @@ -# Default values for sonarr. +# Default values for Sonarr. -sonarr: - image: - organization: linuxserver - repository: sonarr - pullPolicy: IfNotPresent - tag: 3.0.3.913-ls40 - service: +image: + repository: linuxserver/sonarr + pullPolicy: IfNotPresent + tag: version-3.0.4.993 + +service: + port: port: 8989 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + emptyDir: true + + media: + enabled: true + emptyDir: true + mountPath: /media + ## 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: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: ""