From 93774a4ed6312193e5569e471edec232593db009 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:25:59 -0500 Subject: [PATCH] [lidarr] use common chart (#123) --- charts/lidarr/Chart.yaml | 28 ++++------- charts/lidarr/OWNERS | 4 +- charts/lidarr/README.md | 73 ++++++++++++++--------------- charts/lidarr/ci/ct-values.yaml | 2 + charts/lidarr/templates/NOTES.txt | 1 + charts/lidarr/templates/common.yaml | 1 + charts/lidarr/values.yaml | 43 +++++++++++++---- charts/sonarr/Chart.yaml | 2 +- charts/sonarr/README.md | 22 --------- 9 files changed, 86 insertions(+), 90 deletions(-) create mode 100644 charts/lidarr/ci/ct-values.yaml create mode 100644 charts/lidarr/templates/NOTES.txt create mode 100644 charts/lidarr/templates/common.yaml diff --git a/charts/lidarr/Chart.yaml b/charts/lidarr/Chart.yaml index b66c31b1..60242d97 100644 --- a/charts/lidarr/Chart.yaml +++ b/charts/lidarr/Chart.yaml @@ -1,31 +1,21 @@ apiVersion: v2 -name: lidarr +appVersion: 0.8.0.1886 description: Looks and smells like Sonarr but made for music -type: application -version: 4.0.2 -appVersion: 0.7.1.1785-ls18 +name: lidarr +version: 5.0.0 keywords: - lidarr + - torrent + - usenet 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 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: lidarr -annotations: - artifacthub.io/links: | - - name: App Source - url: https://github.com/Lidarr/Lidarr - - name: Default Docker Image - url: https://hub.docker.com/r/linuxserver/lidarr - artifacthub.io/maintainers: | - - name: Nicholas St. Germain - email: nick@cajun.pro + version: ^1.0.4 diff --git a/charts/lidarr/OWNERS b/charts/lidarr/OWNERS index 2eb39f10..b90909f4 100644 --- a/charts/lidarr/OWNERS +++ b/charts/lidarr/OWNERS @@ -1,4 +1,4 @@ approvers: -- DirtyCajunRice +- billimek reviewers: -- DirtyCajunRice +- billimek diff --git a/charts/lidarr/README.md b/charts/lidarr/README.md index e9da5f59..157e606c 100644 --- a/charts/lidarr/README.md +++ b/charts/lidarr/README.md @@ -1,52 +1,36 @@ -# 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) +# Lidarr -## TL;DR -```console +This is a helm chart for [Lidarr](https://github.com/lidarr/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 `lidarr`: + +To install the chart with the release name `my-release`: + ```console -helm install lidarr k8s-at-home/lidarr +helm install --name my-release 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 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: - -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: + +To uninstall/delete the `my-release` deployment: + ```console -helm uninstall lidarr +helm delete my-release --purge ``` + 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) +Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/lidarr/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 @@ -60,11 +44,9 @@ chart. For example, 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: ... +image: + tag: ... ``` --- @@ -74,6 +56,21 @@ 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`. --- + +## 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 4.x.x to 5.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. diff --git a/charts/lidarr/ci/ct-values.yaml b/charts/lidarr/ci/ct-values.yaml new file mode 100644 index 00000000..f6ccc628 --- /dev/null +++ b/charts/lidarr/ci/ct-values.yaml @@ -0,0 +1,2 @@ +ingress: + enabled: true diff --git a/charts/lidarr/templates/NOTES.txt b/charts/lidarr/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/lidarr/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/lidarr/templates/common.yaml b/charts/lidarr/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/lidarr/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/lidarr/values.yaml b/charts/lidarr/values.yaml index cc2122ff..f8dc6eaf 100644 --- a/charts/lidarr/values.yaml +++ b/charts/lidarr/values.yaml @@ -1,10 +1,37 @@ -# Default values for lidarr. +# Default values for Lidarr. -lidarr: - image: - organization: linuxserver - repository: lidarr - pullPolicy: IfNotPresent - tag: 0.7.1.1785-ls18 - service: +image: + repository: linuxserver/lidarr + pullPolicy: IfNotPresent + tag: version-0.8.0.1886 + +service: + port: port: 8686 + +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: "" diff --git a/charts/sonarr/Chart.yaml b/charts/sonarr/Chart.yaml index 39ffe1dd..e3687c34 100644 --- a/charts/sonarr/Chart.yaml +++ b/charts/sonarr/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: 3.0.4.993 description: Smart PVR for newsgroup and bittorrent users name: sonarr -version: 7.0.0 +version: 7.0.1 keywords: - sonarr - torrent diff --git a/charts/sonarr/README.md b/charts/sonarr/README.md index 8bf29869..ad413518 100644 --- a/charts/sonarr/README.md +++ b/charts/sonarr/README.md @@ -74,25 +74,3 @@ Examples: * `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. - -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 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.