Add Stage-3 Apps

Please consider all these as mostly feature complete BETA Apps for the time being

Co-authored-by: Troy Prelog <35702532+tprelog@users.noreply.github.com>
Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
kjeld Schouten-Lebbing
2021-02-10 11:09:33 +01:00
co-authored by Troy Prelog
parent 9888df7e4d
commit 91b7bc2c40
114 changed files with 6257 additions and 1 deletions
+24
View File
@@ -0,0 +1,24 @@
# 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/
.vscode/
*.tmproj
# OWNERS file for Kubernetes
OWNERS
+21
View File
@@ -0,0 +1,21 @@
apiVersion: v2
appVersion: 1.17.0
description: FreshRSS is a self-hosted RSS feed aggregator
name: freshrss
version: 0.0.1
upstream_version: 2.3.1
keywords:
- freshrss
- rss
home: https://github.com/truecharts/truecharts/tree/master/charts/freshrss
icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true
sources:
- https://github.com/FreshRSS/FreshRSS
- https://hub.docker.com/r/linuxserver/freshrss
maintainers:
- name: TrueCharts
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 0.12.0
+67
View File
@@ -0,0 +1,67 @@
# FreshRSS
This is a helm chart for [FreshRSS](https://github.com/FreshRSS/FreshRSS).
**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)**
## TL;DR;
```shell
$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
$ helm install k8s-at-home/freshrss
```
## Installing the Chart
To install the chart with the release name `my-release`:
```console
helm install --name my-release k8s-at-home/freshrss
```
## 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/freshrss/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 freshrss \
--set env.TZ="America/New_York" \
k8s-at-home/freshrss
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
chart. For example,
```console
helm install freshrss k8s-at-home/freshrss --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 1.0.1 -> 2.0.0) indicates that there is an incompatible breaking change potentially needing manual actions.
+1
View File
@@ -0,0 +1 @@
The freshrss App is designed to deploy freshrss in a TrueNAS SCALE kubernetes cluster.
Binary file not shown.
+276
View File
@@ -0,0 +1,276 @@
groups:
- name: "Container Image"
description: "configure container image"
- name: "Configuration"
description: "additional container configuration"
- name: "Networking"
description: "Networking / service configuration"
- name: "Storage"
description: "configure app volume mounts"
- name: "Ingress"
description: "Ingress configuration"
portals:
web_portal:
protocols:
- "http"
host:
- "$node_ip"
ports:
- "$variable-service.port.nodePort"
path: "/web"
questions:
# Image related
- variable: image
description: "Docker Image Details"
label: "Docker Image"
group: "Container Image"
schema:
type: dict
required: true
attrs:
- variable: repository
description: "Docker image repository"
label: "Image repository"
schema:
type: string
required: true
default: "linuxserver/freshrss"
- variable: tag
description: "Tag to use for specified image"
label: "Image Tag"
schema:
type: string
default: "version-1.17.0"
- variable: pullPolicy
description: "Docker Image Pull Policy"
label: "Image Pull Policy"
schema:
type: string
default: "IfNotPresent"
enum:
- value: "IfNotPresent"
description: "Only pull image if not present on host"
- value: "Always"
description: "Always pull image even if present on host"
- value: "Never"
description: "Never pull image even if it's not present on host"
# Configure Time Zone
- variable: timezone
group: "Configuration"
label: "Timezone"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
# Configure Enviroment Variables
- variable: environmentVariables
label: "Image environment"
group: "Configuration"
schema:
type: list
default: []
items:
- variable: environmentVariable
label: "Environment Variable"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
- variable: service
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: port
label: "container port"
schema:
type: int
default: 80
editable: false
- variable: nodePort
label: "Node Port to expose for UI"
schema:
type: int
min: 9000
max: 65535
default: 36052
required: true
# Enable Host Networking
- variable: hostNetworking
group: "Networking"
label: "Enable Host Networking"
schema:
type: boolean
default: false
## TrueCharts Specific
- variable: appVolumeMounts
label: "app storage"
group: "Storage"
schema:
type: dict
attrs:
- variable: config
label: "config dataset"
schema:
type: dict
$ref:
- "normalize/ixVolume"
attrs:
- variable: datasetName
label: "Dataset Name"
schema:
type: string
default: "config"
required: true
editable: false
- variable: mountPath
label: "Mount Path"
description: "Path to mount inside the pod"
schema:
type: path
required: true
default: "/config"
editable: false
- variable: hostPathEnabled
label: "host Path Enabled"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path"
schema:
type: hostpath
required: true
- variable: appIngress
label: ""
group: "Ingress"
schema:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: entrypoint
label: "Select Entrypoint"
schema:
type: string
default: "websecure"
required: true
enum:
- value: "websecure"
description: "Websecure: HTTPS/TLS port 443"
- variable: hosts
label: "Hosts"
schema:
type: list
default: []
items:
- variable: host
label: "Host"
schema:
type: dict
attrs:
- variable: host
label: "Domain Name"
required: true
schema:
type: string
- variable: paths
label: "paths"
schema:
type: list
default: []
items:
- variable: path
label: "Path"
schema:
type: dict
attrs:
- variable: path
label: "path"
schema:
type: string
required: true
default: "/"
- variable: pathType
label: "pathType"
schema:
type: string
required: true
default: "prefix"
- variable: certType
label: "Select Certificate Type"
schema:
type: string
default: "letsencrypt-prod"
enum:
- value: ""
description: "No Encryption/TLS/Certificates"
- value: "letsencrypt-prod"
description: "Letsencrypt Production Certificates"
- value: "letsencrypt-staging"
description: "Letsencrypt Test Certificates"
- value: "wildcard"
description: "Global Wildcard Certificate"
- value: "selfsigned"
description: "Self-Signed Certificate"
- value: "existingcert"
description: "Existing Certificate"
show_subquestions_if: "existingcert"
subquestions:
- variable: existingcert
label: "Existing Certificate Name"
schema:
type: string
default: ""
- variable: authForwardURL
label: "Forward Authentication URL"
schema:
type: string
default: ""
@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}
@@ -0,0 +1 @@
{{ include "common.all" . }}
+32
View File
@@ -0,0 +1,32 @@
# Default values for FreshRSS.
image:
repository: linuxserver/freshrss
pullPolicy: IfNotPresent
tag: version-1.17.0
strategy:
type: Recreate
service:
port:
port: 80
env: {}
# TZ: UTC
# PUID: 1001
# PGID: 1001
persistence:
config:
enabled: false
emptyDir: false
appIngressEnabled: false
appVolumesEnabled: false
appVolumeMounts:
config:
enabled: false
emptyDir: false
+31
View File
@@ -0,0 +1,31 @@
# Default values for FreshRSS.
image:
repository: linuxserver/freshrss
pullPolicy: IfNotPresent
tag: version-1.17.0
strategy:
type: Recreate
service:
port:
port: 80
env: {}
# TZ: UTC
# PUID: 1001
# PGID: 1001
persistence:
config:
enabled: false
emptyDir: false
appIngressEnabled: false
appVolumesEnabled: false
appVolumeMounts:
config:
enabled: false
emptyDir: false
+3
View File
@@ -0,0 +1,3 @@
categories:
- media
icon_url: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true