From ba978447bf8b40a80ca460c10337ef7434d2d26f Mon Sep 17 00:00:00 2001 From: Vegetto Date: Sun, 28 Feb 2021 16:47:15 +0100 Subject: [PATCH] [tt-rss] Add chart tt-rss (#631) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: angelnu Co-authored-by: ᗪєνιη ᗷυнʟ --- charts/tt-rss/.helmignore | 26 ++++ charts/tt-rss/Chart.yaml | 23 ++++ charts/tt-rss/README.md | 130 ++++++++++++++++++++ charts/tt-rss/README.md.gotmpl | 145 +++++++++++++++++++++++ charts/tt-rss/README_CHANGELOG.md.gotmpl | 29 +++++ charts/tt-rss/README_CONFIG.md.gotmpl | 9 ++ charts/tt-rss/templates/NOTES.txt | 1 + charts/tt-rss/templates/common.yaml | 22 ++++ charts/tt-rss/values.yaml | 61 ++++++++++ 9 files changed, 446 insertions(+) create mode 100644 charts/tt-rss/.helmignore create mode 100644 charts/tt-rss/Chart.yaml create mode 100644 charts/tt-rss/README.md create mode 100644 charts/tt-rss/README.md.gotmpl create mode 100644 charts/tt-rss/README_CHANGELOG.md.gotmpl create mode 100644 charts/tt-rss/README_CONFIG.md.gotmpl create mode 100644 charts/tt-rss/templates/NOTES.txt create mode 100644 charts/tt-rss/templates/common.yaml create mode 100644 charts/tt-rss/values.yaml diff --git a/charts/tt-rss/.helmignore b/charts/tt-rss/.helmignore new file mode 100644 index 00000000..4379e2b3 --- /dev/null +++ b/charts/tt-rss/.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/tt-rss/Chart.yaml b/charts/tt-rss/Chart.yaml new file mode 100644 index 00000000..a763c996 --- /dev/null +++ b/charts/tt-rss/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: 1.0.0 +description: Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator +name: tt-rss +version: 1.0.6 +kubeVersion: ">=1.16.0-0" +keywords: +- tt-rss +home: https://github.com/k8s-at-home/charts/tree/master/charts/tt-rss +icon: https://git.tt-rss.org/fox/tt-rss/raw/branch/master/images/favicon-72px.png +sources: +- https://git.tt-rss.org/fox/tt-rss +maintainers: +- name: angelnu + email: git@angelnu.com +dependencies: +- name: common + repository: https://k8s-at-home.com/charts/ + version: 3.0.1 +- name: postgresql + version: 10.2.7 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled diff --git a/charts/tt-rss/README.md b/charts/tt-rss/README.md new file mode 100644 index 00000000..40b3a96d --- /dev/null +++ b/charts/tt-rss/README.md @@ -0,0 +1,130 @@ +# tt-rss + +![Version: 1.0.5](https://img.shields.io/badge/Version-1.0.5-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) + +Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator + +**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://charts.bitnami.com/bitnami | postgresql | 10.2.7 | +| https://k8s-at-home.com/charts/ | common | 3.0.1 | + +## TL;DR + +```console +helm repo add k8s-at-home https://k8s-at-home.com/charts/ +helm repo update +helm install tt-rss k8s-at-home/tt-rss +``` + +## Installing the Chart + +To install the chart with the release name `tt-rss` + +```console +helm install tt-rss k8s-at-home/tt-rss +``` + +## Uninstalling the Chart + +To uninstall the `tt-rss` deployment + +```console +helm uninstall tt-rss +``` + +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](../common/values.yaml) from the [common library](../common). + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install tt-rss \ + --set env.TZ="America/New York" \ + k8s-at-home/tt-rss +``` + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install tt-rss k8s-at-home/tt-rss -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/charts/tree/master/charts/common/) + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env.TTRSS_DB_HOST | string | internal postgresql URL | Postgres database hostname | +| env.TTRSS_DB_NAME | string | postgresql.postgresqlDatabase value | Postgres database password | +| env.TTRSS_DB_PASS | string | postgresql.postgresqlPassword value | Postgres database password | +| env.TTRSS_DB_PORT | string | `"5432"` | Postgres database port. | +| env.TTRSS_DB_USER | string | postgresql.postgresqlUsername value | Postgres database user name | +| env.TTRSS_SELF_URL_PATH | string | `""` | External URL you use to connect to the RSS (the one you enter in your browser) | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"ghcr.io/k8s-at-home/tt-rss"` | | +| image.tag | string | `"v1.8723.0"` | | +| ingress.enabled | bool | `false` | | +| postgresql | object | see bellow | Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql | +| postgresql.enabled | bool | `true` | By default uses an internal postgress. Dissable if you use your own Postgres. | +| postgresql.persistence.enabled | bool | `false` | if database is stored to a PVC. Set to true when you are done testing. | +| postgresql.postgresqlDatabase | string | `"tt-rss"` | Postgres database password | +| postgresql.postgresqlPassword | string | `"changeme"` | Postgres database password | +| postgresql.postgresqlUsername | string | `"postgres"` | Postgres database user name | +| probes.startup.enabled | bool | `true` | | +| service.port.port | int | `8080` | | +| strategy.type | string | `"Recreate"` | | + +## Changelog + +All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog). + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +### [1.0.5] + +#### Added + +- N/A + +#### Changed + +- Use generated template +- Use k8s-at-home repository + +#### Removed + +- N/A + +[1.0.5]: #1.0.5 + +## Support + +- See the [Wiki](https://github.com/k8s-at-home/charts/wiki) +- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose) +- Ask a [question](https://github.com/k8s-at-home/charts/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) \ No newline at end of file diff --git a/charts/tt-rss/README.md.gotmpl b/charts/tt-rss/README.md.gotmpl new file mode 100644 index 00000000..387904a6 --- /dev/null +++ b/charts/tt-rss/README.md.gotmpl @@ -0,0 +1,145 @@ +{{- define "custom.repository.organization" -}} +k8s-at-home +{{- end -}} + +{{- define "custom.repository.url" -}} +https://github.com/k8s-at-home/charts +{{- end -}} + +{{- define "custom.helm.url" -}} +https://k8s-at-home.com/charts/ +{{- end -}} + +{{- define "custom.helm.path" -}} +{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }} +{{- end -}} + +{{- define "custom.notes" -}} +**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)** +{{- end -}} + +{{- define "custom.requirements" -}} +## Requirements + +{{ template "chart.kubeVersionLine" . }} +{{- end -}} + +{{- define "custom.dependencies" -}} +## Dependencies + +{{ template "chart.requirementsTable" . }} +{{- end -}} + +{{- define "custom.install.tldr" -}} +## TL;DR + +```console +helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }} +helm repo update +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.install" -}} +## Installing the Chart + +To install the chart with the release name `{{ template "chart.name" . }}` + +```console +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.uninstall" -}} +## Uninstalling the Chart + +To uninstall the `{{ template "chart.name" . }}` deployment + +```console +helm uninstall {{ template "chart.name" . }} +``` + +The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. +{{- end -}} + +{{- define "custom.configuration.header" -}} +## Configuration +{{- end -}} + +{{- define "custom.configuration.readValues" -}} +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](../common/values.yaml) from the [common library](../common). +{{- end -}} + +{{- define "custom.configuration.example.set" -}} +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install {{ template "chart.name" . }} \ + --set env.TZ="America/New York" \ + {{ template "custom.helm.path" . }} +``` +{{- end -}} + +{{- define "custom.configuration.example.file" -}} +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml +``` +{{- end -}} + +{{- define "custom.valuesSection" -}} +## 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/charts/tree/master/charts/common/) + +{{ template "chart.valuesTable" . }} +{{- end -}} + +{{- define "custom.support" -}} +## Support + +- See the [Wiki](https://github.com/k8s-at-home/charts/wiki) +- Open a [issue](https://github.com/k8s-at-home/charts/issues/new/choose) +- Ask a [question](https://github.com/k8s-at-home/charts/discussions) +- Join our [Discord](https://discord.gg/sTMX7Vh) community +{{- end -}} + +{{ template "chart.header" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +{{ template "chart.description" . }} + +{{ template "custom.notes" . }} + +{{ template "chart.sourcesSection" . }} + +{{ template "custom.requirements" . }} + +{{ template "custom.dependencies" . }} + +{{ template "custom.install.tldr" . }} + +{{ template "custom.install" . }} + +{{ template "custom.uninstall" . }} + +{{ template "custom.configuration.header" . }} + +{{ template "custom.configuration.readValues" . }} + +{{ template "custom.configuration.example.set" . }} + +{{ template "custom.configuration.example.file" . }} + +{{ template "custom.custom.configuration" . }} + +{{ template "custom.valuesSection" . }} + +{{ template "custom.changelog" . }} + +{{ template "custom.support" . }} + +{{ template "helm-docs.versionFooter" . }} diff --git a/charts/tt-rss/README_CHANGELOG.md.gotmpl b/charts/tt-rss/README_CHANGELOG.md.gotmpl new file mode 100644 index 00000000..cb97c5f8 --- /dev/null +++ b/charts/tt-rss/README_CHANGELOG.md.gotmpl @@ -0,0 +1,29 @@ +{{- define "custom.changelog.header" -}} +## Changelog +{{- end -}} + +{{- define "custom.changelog" -}} +{{ template "custom.changelog.header" . }} + +All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/charts/tree/master/charts/common/README.md#Changelog). + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +### [1.0.6] + +#### Added + +- N/A + +#### Changed + +- Use generated template +- Use k8s-at-home repository +- Generate helm-docs + +#### Removed + +- N/A + +[1.0.6]: #1.0.6 +{{- end -}} diff --git a/charts/tt-rss/README_CONFIG.md.gotmpl b/charts/tt-rss/README_CONFIG.md.gotmpl new file mode 100644 index 00000000..e93d80bf --- /dev/null +++ b/charts/tt-rss/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/tt-rss/templates/NOTES.txt b/charts/tt-rss/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/tt-rss/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/tt-rss/templates/common.yaml b/charts/tt-rss/templates/common.yaml new file mode 100644 index 00000000..6e7385e5 --- /dev/null +++ b/charts/tt-rss/templates/common.yaml @@ -0,0 +1,22 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* if TTRSS_DB_HOST is not set use internal postgres chart */}} +{{- if eq .Values.env.TTRSS_DB_HOST "" -}} + {{- $_ := set .Values.env "TTRSS_DB_HOST" (printf "%s-postgresql" .Release.Name) -}} +{{- end -}} +{{/* if TTRSS_DB_USER is not set use internal postgres chart */}} +{{- if eq .Values.env.TTRSS_DB_USER "" -}} + {{- $_ := set .Values.env "TTRSS_DB_USER" .Values.postgresql.postgresqlUsername -}} +{{- end -}} +{{/* if TTRSS_DB_USER is not set use internal postgres chart */}} +{{- if eq .Values.env.TTRSS_DB_PASS "" -}} + {{- $_ := set .Values.env "TTRSS_DB_PASS" .Values.postgresql.postgresqlPassword -}} +{{- end -}} +{{/* if TTRSS_DB_USER is not set use internal postgres chart */}} +{{- if eq .Values.env.TTRSS_DB_NAME "" -}} + {{- $_ := set .Values.env "TTRSS_DB_NAME" .Values.postgresql.postgresqlDatabase -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/tt-rss/values.yaml b/charts/tt-rss/values.yaml new file mode 100644 index 00000000..864eb789 --- /dev/null +++ b/charts/tt-rss/values.yaml @@ -0,0 +1,61 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/charts/tree/master/charts/common/values.yaml +# + +image: + repository: ghcr.io/k8s-at-home/tt-rss + pullPolicy: IfNotPresent + tag: v1.8723.0 + +strategy: + type: Recreate + +# See more environment variables in the tt-rss documentation +# https://git.tt-rss.org/fox/tt-rss/src/branch/master/classes/config.php#L9 +env: + # -- External URL you use to connect to the RSS (the one you enter in your browser) + TTRSS_SELF_URL_PATH: "" + # -- Postgres database hostname + # @default -- internal postgresql URL + TTRSS_DB_HOST: "" + # -- Postgres database port. + TTRSS_DB_PORT: "5432" + # -- Postgres database user name + # @default -- postgresql.postgresqlUsername value + TTRSS_DB_USER: "" + # -- Postgres database password + # @default -- postgresql.postgresqlPassword value + TTRSS_DB_PASS: "" + # -- Postgres database password + # @default -- postgresql.postgresqlDatabase value + TTRSS_DB_NAME: "" + +service: + port: + port: 8080 + +ingress: + enabled: false + +probes: + startup: + enabled: true + +# -- Bitnami postgres chart. For more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +# @default -- see bellow +postgresql: + # -- By default uses an internal postgress. Dissable if you use your own Postgres. + enabled: true + # -- Postgres database user name + postgresqlUsername: postgres + # -- Postgres database password + postgresqlPassword: "changeme" + # -- Postgres database password + postgresqlDatabase: tt-rss + persistence: + # -- if database is stored to a PVC. Set to true when you are done testing. + enabled: false + # storageClass: ""