From da002fda82ac81188afee4fd87e6847958a2cf70 Mon Sep 17 00:00:00 2001 From: lanquarden Date: Mon, 13 Jun 2022 14:19:19 +0200 Subject: [PATCH] [mopidy] Add new chart (#1616) * Add mopidy chart Signed-off-by: lanquarden * tidal extension prevents mopidy from starting timely Signed-off-by: lanquarden * Indent for yaml list in Chart.yaml Signed-off-by: lanquarden * Fix container version Signed-off-by: lanquarden --- charts/incubator/mopidy/.helmignore | 26 ++++ charts/incubator/mopidy/Chart.yaml | 23 ++++ charts/incubator/mopidy/README.md | 113 ++++++++++++++++++ .../incubator/mopidy/README_CONFIG.md.gotmpl | 9 ++ charts/incubator/mopidy/templates/NOTES.txt | 1 + charts/incubator/mopidy/templates/common.yaml | 19 +++ .../incubator/mopidy/templates/configmap.yaml | 11 ++ charts/incubator/mopidy/values.yaml | 79 ++++++++++++ templates/chart/Chart.yaml | 14 +-- 9 files changed, 288 insertions(+), 7 deletions(-) create mode 100644 charts/incubator/mopidy/.helmignore create mode 100644 charts/incubator/mopidy/Chart.yaml create mode 100644 charts/incubator/mopidy/README.md create mode 100644 charts/incubator/mopidy/README_CONFIG.md.gotmpl create mode 100644 charts/incubator/mopidy/templates/NOTES.txt create mode 100644 charts/incubator/mopidy/templates/common.yaml create mode 100644 charts/incubator/mopidy/templates/configmap.yaml create mode 100644 charts/incubator/mopidy/values.yaml diff --git a/charts/incubator/mopidy/.helmignore b/charts/incubator/mopidy/.helmignore new file mode 100644 index 00000000..4379e2b3 --- /dev/null +++ b/charts/incubator/mopidy/.helmignore @@ -0,0 +1,26 @@ +# 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 +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl diff --git a/charts/incubator/mopidy/Chart.yaml b/charts/incubator/mopidy/Chart.yaml new file mode 100644 index 00000000..0a0a1780 --- /dev/null +++ b/charts/incubator/mopidy/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: latest +description: mopidy helm package +name: mopidy +version: 0.0.1 +kubeVersion: ">=1.16.0-0" +keywords: + - mopidy +home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/mopidy +icon: https://mopidy.org/icon +sources: + - https://github.com/mopidy/mopidy-docker +maintainers: + - name: lanquarden + email: lanquarden@gmail.com +dependencies: + - name: common + repository: https://library-charts.k8s-at-home.com + version: 4.4.2 +annotations: + artifacthub.io/changes: | + - kind: added + description: Initial version diff --git a/charts/incubator/mopidy/README.md b/charts/incubator/mopidy/README.md new file mode 100644 index 00000000..2ca0a7c3 --- /dev/null +++ b/charts/incubator/mopidy/README.md @@ -0,0 +1,113 @@ +# mopidy + +![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) + +mopidy helm package + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** + +## Source Code + +* +* +* <> + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.k8s-at-home.com | common | 4.0.0 | + +## TL;DR + +```console +helm repo add k8s-at-home https://k8s-at-home.com/charts/ +helm repo update +helm install mopidy k8s-at-home/mopidy +``` + +## Installing the Chart + +To install the chart with the release name `mopidy` + +```console +helm install mopidy k8s-at-home/mopidy +``` + +## Uninstalling the Chart + +To uninstall the `mopidy` deployment + +```console +helm uninstall mopidy +``` + +The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. + +## Configuration + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install mopidy \ + --set env.TZ="America/New York" \ + k8s-at-home/mopidy +``` + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install mopidy k8s-at-home/mopidy -f values.yaml +``` + +## Custom configuration + +N/A + +## Values + +**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common) + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [mopidy documentation](https://mopidy.org/docs). | +| env.TZ | string | `"UTC"` | Set the container timezone | +| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | +| image.repository | string | `"mopidy/mopidy"` | image repository | +| image.tag | string | chart.appVersion | image tag | +| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| service | object | See values.yaml | Configures service settings for the chart. | + +## Changelog + +### Version 0.0.1 + +#### Added + +- Initial version + +#### Changed + +N/A + +#### Fixed + +N/A + +## Support + +- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/) +- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) +- Ask a [question](https://github.com/k8s-at-home/organization/discussions) +- Join our [Discord](https://discord.gg/sTMX7Vh) community + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/incubator/mopidy/README_CONFIG.md.gotmpl b/charts/incubator/mopidy/README_CONFIG.md.gotmpl new file mode 100644 index 00000000..e93d80bf --- /dev/null +++ b/charts/incubator/mopidy/README_CONFIG.md.gotmpl @@ -0,0 +1,9 @@ +{{- define "custom.custom.configuration.header" -}} +## Custom configuration +{{- end -}} + +{{- define "custom.custom.configuration" -}} +{{ template "custom.custom.configuration.header" . }} + +N/A +{{- end -}} diff --git a/charts/incubator/mopidy/templates/NOTES.txt b/charts/incubator/mopidy/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/incubator/mopidy/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/incubator/mopidy/templates/common.yaml b/charts/incubator/mopidy/templates/common.yaml new file mode 100644 index 00000000..3663cb77 --- /dev/null +++ b/charts/incubator/mopidy/templates/common.yaml @@ -0,0 +1,19 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Append the hardcoded settings */}} +{{- define "mopidy.hardcodedValues" -}} +persistence: + mopidy-config: + enabled: "true" + mountPath: "/config/mopidy.conf" + subPath: "mopidy.conf" + type: "custom" + volumeSpec: + configMap: + name: {{ printf "%v-config" (include "common.names.fullname" .) }} +{{- end -}} +{{- $_ := mergeOverwrite .Values (include "mopidy.hardcodedValues" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/incubator/mopidy/templates/configmap.yaml b/charts/incubator/mopidy/templates/configmap.yaml new file mode 100644 index 00000000..60c2e910 --- /dev/null +++ b/charts/incubator/mopidy/templates/configmap.yaml @@ -0,0 +1,11 @@ +{{- include "common.values.setup" . -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.names.fullname" . }}-config + labels: + {{- include "common.labels" . | nindent 4 }} +data: + mopidy.conf: | + {{- .Values.config | nindent 4 }} diff --git a/charts/incubator/mopidy/values.yaml b/charts/incubator/mopidy/values.yaml new file mode 100644 index 00000000..ae546d51 --- /dev/null +++ b/charts/incubator/mopidy/values.yaml @@ -0,0 +1,79 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: jaedb/iris + # -- image tag + # @default -- chart.appVersion + tag: + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [mopidy documentation](https://mopidy.org/docs). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + PIP_PACKAGES: Mopidy-Mixcloud Mopidy-Subidy + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + http: + port: 6680 + # mopidy JSON-RPC port + json-rpc: + enabled: true + port: 6600 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: {} + # data: + # enabled: false + # mountPath: /data + +config: | + [core] + data_dir = /var/lib/mopidy + + [audio] + output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! tcpclientsink host=snapcast port=4953 + + [http] + hostname = 0.0.0.0 + default_app = iris + + [mpd] + hostname = 0.0.0.0 + + [tidal] + enabled = false + + [mixcloud] + enabled = false + + [subidy] + enabled = true + url = http://gonic + username = admin + password = admin + + [spotify] + enabled = false + # Fast startup because we use the Spotify HTTP API to load these instead + # Makes playlists unavailable under Browse > Spotify. + allow_playlists = false diff --git a/templates/chart/Chart.yaml b/templates/chart/Chart.yaml index c5263fcd..c5190055 100644 --- a/templates/chart/Chart.yaml +++ b/templates/chart/Chart.yaml @@ -5,18 +5,18 @@ name: ${CHARTNAME} version: 1.1.2 kubeVersion: ">=1.16.0-0" keywords: -- ${CHARTNAME} + - ${CHARTNAME} home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/${CHARTNAME} icon: https://${CHARTNAME}.org/icon sources: -- https://github.com/${CHARTNAME}/${CHARTNAME}-docker + - https://github.com/${CHARTNAME}/${CHARTNAME}-docker maintainers: -- name: ${CHARTNAME} - email: ${CHARTNAME}@${CHARTNAME}.com + - name: ${CHARTNAME} + email: ${CHARTNAME}@${CHARTNAME}.com dependencies: -- name: common - repository: https://library-charts.k8s-at-home.com - version: 4.4.2 + - name: common + repository: https://library-charts.k8s-at-home.com + version: 4.4.2 annotations: artifacthub.io/changes: | - kind: added