mirror of
https://github.com/truecharts/charts.git
synced 2026-07-16 21:11:20 -03:00
feat(apps): Add more Apps using postgresql (#1136)
* feat(apps): Add more Apps using postgresql Squashed commit: move apps - dev to incubator (+29 squashed commit) [e306948ef] bump postgresql [d22c2cc62] bump common [cc5412370] remove ix_values.yaml [ca02334e6] Sync last env's and secrets [34b9d2af1] update gui on ff-syncserver [8dc32c07c] Add description on persistence [3ee0e4dac] Update secrets labels [4192e3af5] Update default-ports [d88de9fbc] fixedEnv on top... [61363ea19] tt-rss [8a124605e] traccar [6de23ed28] teedy [402e3916d] statping [f8da66a8c] shiori [c58d98c29] recipes [2390929fc] openkm [ca4cfcf75] odoo [34a8e0e96] fixedEnv on top [ec3c53f7b] miniflux [b47aab805] librespeed [f7252eeed] whoops [d4e312ff6] kanboard [c9e32f3eb] joplin-server [4a216a442] wikijs [8a529ba57] gotify [1130943a7] ff-sync [f1b43a783] etherpad [7365fe5da] dsmr-reader [ea7a6751e] babybuddy (+1 squashed commits) * enable varrun on librespeed * librespeed no readonly root * run librespeed as root
This commit is contained in:
committed by
GitHub
parent
4778d18340
commit
a1c12c64e3
23
charts/incubator/babybuddy/.helmignore
Normal file
23
charts/incubator/babybuddy/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
9
charts/incubator/babybuddy/CHANGELOG.md
Normal file
9
charts/incubator/babybuddy/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="babybuddy-0.0.1"></a>
|
||||
### babybuddy-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/babybuddy/CONFIG.md
Normal file
8
charts/incubator/babybuddy/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
30
charts/incubator/babybuddy/Chart.yaml
Normal file
30
charts/incubator/babybuddy/Chart.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.9.0"
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
version: 0.0.1
|
||||
name: babybuddy
|
||||
description: Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.
|
||||
type: application
|
||||
home: "https://github.com/truecharts/apps/tree/main/charts/babybuddy"
|
||||
icon: "https://github.com/babybuddy/babybuddy/raw/master/babybuddy/static_src/logo/icon.png"
|
||||
keywords:
|
||||
- baby
|
||||
- buddy
|
||||
- tracker
|
||||
- parents
|
||||
- parenting
|
||||
sources:
|
||||
- https://github.com/babybuddy/babybuddy
|
||||
- https://github.com/nicholaswilde/docker-babybuddy
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
41
charts/incubator/babybuddy/README.md
Normal file
41
charts/incubator/babybuddy/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Introduction
|
||||
|
||||
Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/babybuddy/babybuddy>
|
||||
* <https://github.com/nicholaswilde/docker-babybuddy>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/babybuddy/SCALE/item.yaml
Normal file
3
charts/incubator/babybuddy/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: "https://github.com/babybuddy/babybuddy/raw/master/babybuddy/static_src/logo/icon.png"
|
||||
648
charts/incubator/babybuddy/SCALE/questions.yaml
Normal file
648
charts/incubator/babybuddy/SCALE/questions.yaml
Normal file
@@ -0,0 +1,648 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 8000
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8000
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36153
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/babybuddy/app-changelog.md
Normal file
7
charts/incubator/babybuddy/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="babybuddy-0.0.1"></a>
|
||||
### babybuddy-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/babybuddy/app-readme.md
Normal file
3
charts/incubator/babybuddy/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Helps caregivers track sleep, feedings, diaper changes, tummy time and more to learn about and predict baby's needs without (as much) guess work.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
40
charts/incubator/babybuddy/helm-values.md
Normal file
40
charts/incubator/babybuddy/helm-values.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | `{}` | |
|
||||
| envTpl.DB_ENGINE | string | `"django.db.backends.postgresql"` | |
|
||||
| envTpl.DB_NAME | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.DB_PORT | string | `"5432"` | |
|
||||
| envTpl.DB_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"ghcr.io/linuxserver/babybuddy"` | |
|
||||
| image.tag | string | `"1.9.0@sha256:bb608fb4cf5c8ef5aea15215ae0ada7cf40ff7047e150bf053807436ded22bfb"` | |
|
||||
| persistence.config.enabled | bool | `true` | |
|
||||
| persistence.config.mountPath | string | `"/config"` | |
|
||||
| persistence.varrun.enabled | bool | `true` | |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql.enabled | bool | `true` | |
|
||||
| postgresql.existingSecret | string | `"dbcreds"` | |
|
||||
| postgresql.postgresqlDatabase | string | `"babybuddy"` | |
|
||||
| postgresql.postgresqlUsername | string | `"babybuddy"` | |
|
||||
| securityContext.allowPrivilegeEscalation | bool | `true` | |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `true` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service.main.ports.main.port | int | `8000` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/babybuddy/templates/common.yaml
Normal file
1
charts/incubator/babybuddy/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
54
charts/incubator/babybuddy/values.yaml
Normal file
54
charts/incubator/babybuddy/values.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
image:
|
||||
repository: ghcr.io/linuxserver/babybuddy
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.9.0@sha256:bb608fb4cf5c8ef5aea15215ae0ada7cf40ff7047e150bf053807436ded22bfb
|
||||
|
||||
# See more environment variables in the babybuddy documentation
|
||||
# https://github.com/linuxserver/docker-babybuddy#parameters
|
||||
env: {}
|
||||
# TZ:
|
||||
|
||||
envTpl:
|
||||
DB_ENGINE: "django.db.backends.postgresql"
|
||||
DB_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
DB_USER: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
DB_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
DB_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
DB_HOST:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
allowPrivilegeEscalation: true
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 8000
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: /config
|
||||
varrun:
|
||||
enabled: true
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: babybuddy
|
||||
postgresqlDatabase: babybuddy
|
||||
26
charts/incubator/dsmr-reader/.helmignore
Normal file
26
charts/incubator/dsmr-reader/.helmignore
Normal file
@@ -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
|
||||
9
charts/incubator/dsmr-reader/CHANGELOG.md
Normal file
9
charts/incubator/dsmr-reader/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="dsmr-reader-0.0.1"></a>
|
||||
### dsmr-reader-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/dsmr-reader/CONFIG.md
Normal file
8
charts/incubator/dsmr-reader/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
26
charts/incubator/dsmr-reader/Chart.yaml
Normal file
26
charts/incubator/dsmr-reader/Chart.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: v2
|
||||
appVersion: "latest-202"
|
||||
description: DSMR-protocol reader, telegram data storage and energy consumption visualizer.
|
||||
name: dsmr-reader
|
||||
version: 0.0.1
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- dsmr-reader
|
||||
- energy
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/dsmr-reader
|
||||
icon: https://avatars2.githubusercontent.com/u/57727360?s=400&v=4
|
||||
sources:
|
||||
- https://github.com/dsmrreader/dsmr-reader
|
||||
- https://github.com/xirixiz/dsmr-reader-docker
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
41
charts/incubator/dsmr-reader/README.md
Normal file
41
charts/incubator/dsmr-reader/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Introduction
|
||||
|
||||
DSMR-protocol reader, telegram data storage and energy consumption visualizer.
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/dsmrreader/dsmr-reader>
|
||||
* <https://github.com/xirixiz/dsmr-reader-docker>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/dsmr-reader/SCALE/item.yaml
Normal file
3
charts/incubator/dsmr-reader/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: https://avatars2.githubusercontent.com/u/57727360?s=400PLACEHOLDERICONv=4
|
||||
648
charts/incubator/dsmr-reader/SCALE/questions.yaml
Normal file
648
charts/incubator/dsmr-reader/SCALE/questions.yaml
Normal file
@@ -0,0 +1,648 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36154
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/dsmr-reader/app-changelog.md
Normal file
7
charts/incubator/dsmr-reader/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="dsmr-reader-0.0.1"></a>
|
||||
### dsmr-reader-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/dsmr-reader/app-readme.md
Normal file
3
charts/incubator/dsmr-reader/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
DSMR-protocol reader, telegram data storage and energy consumption visualizer.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
35
charts/incubator/dsmr-reader/helm-values.md
Normal file
35
charts/incubator/dsmr-reader/helm-values.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | See below | environment variables. See [image docs](https://github.com/xirixiz/dsmr-reader-docker#dsmr-reader---environment-variables) for more details. |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| envTpl.DJANGO_DATABASE_ENGINE | string | `"django.db.backends.postgresql"` | |
|
||||
| envTpl.DJANGO_DATABASE_NAME | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.DJANGO_DATABASE_PORT | string | `"5432"` | |
|
||||
| envTpl.DJANGO_DATABASE_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envTpl.DJANGO_TIME_ZONE | string | `"{{ .Values.env.TZ }}"` | |
|
||||
| envValueFrom.DJANGO_DATABASE_HOST.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.DJANGO_DATABASE_HOST.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.DJANGO_DATABASE_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.DJANGO_DATABASE_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"xirixiz/dsmr-reader-docker"` | image repository |
|
||||
| image.tag | string | `"latest-2021.09.02-amd64@sha256:4858edb1ae63a20639a0ef9c51c7b2cf599686db5c582ead7b37b2a288122935"` | image tag |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql | object | See values.yaml | Enable and configure postgresql database subchart under this key. |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/dsmr-reader/templates/common.yaml
Normal file
1
charts/incubator/dsmr-reader/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
54
charts/incubator/dsmr-reader/values.yaml
Normal file
54
charts/incubator/dsmr-reader/values.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
image:
|
||||
# -- image repository
|
||||
repository: xirixiz/dsmr-reader-docker
|
||||
# -- image tag
|
||||
tag: latest-2021.09.02-amd64@sha256:4858edb1ae63a20639a0ef9c51c7b2cf599686db5c582ead7b37b2a288122935
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- environment variables. See [image docs](https://github.com/xirixiz/dsmr-reader-docker#dsmr-reader---environment-variables) for more details.
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
envTpl:
|
||||
DJANGO_TIME_ZONE: "{{ .Values.env.TZ }}"
|
||||
DJANGO_DATABASE_ENGINE: "django.db.backends.postgresql"
|
||||
DJANGO_DATABASE_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
DJANGO_DATABASE_USER: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
DJANGO_DATABASE_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
DJANGO_DATABASE_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
DJANGO_DATABASE_HOST:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- Enable and configure postgresql database subchart under this key.
|
||||
# @default -- See values.yaml
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: dsmr-reader
|
||||
postgresqlDatabase: dsmr-reader
|
||||
23
charts/incubator/etherpad/.helmignore
Normal file
23
charts/incubator/etherpad/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
9
charts/incubator/etherpad/CHANGELOG.md
Normal file
9
charts/incubator/etherpad/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="etherpad-0.0.1"></a>
|
||||
### etherpad-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/etherpad/CONFIG.md
Normal file
8
charts/incubator/etherpad/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
30
charts/incubator/etherpad/Chart.yaml
Normal file
30
charts/incubator/etherpad/Chart.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.8.14"
|
||||
version: 0.0.1
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
name: etherpad
|
||||
description: A real-time collaborative editor scalable to thousands of simultaneous real time users.
|
||||
type: application
|
||||
home: "https://github.com/truecharts/apps/tree/main/charts/etherpad"
|
||||
icon: "https://github.com/truecharts/apps/raw/main/images/etherpad.jpg"
|
||||
keywords:
|
||||
- etherpad
|
||||
- editor
|
||||
- notepad
|
||||
- pad
|
||||
sources:
|
||||
- https://etherpad.org/
|
||||
- https://github.com/ether/etherpad-lite
|
||||
- https://hub.docker.com/r/nicholaswilde/etherpad
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
42
charts/incubator/etherpad/README.md
Normal file
42
charts/incubator/etherpad/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Introduction
|
||||
|
||||
A real-time collaborative editor scalable to thousands of simultaneous real time users.
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://etherpad.org/>
|
||||
* <https://github.com/ether/etherpad-lite>
|
||||
* <https://hub.docker.com/r/nicholaswilde/etherpad>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/etherpad/SCALE/item.yaml
Normal file
3
charts/incubator/etherpad/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: "https://github.com/truecharts/apps/raw/main/images/etherpad.jpg"
|
||||
796
charts/incubator/etherpad/SCALE/questions.yaml
Normal file
796
charts/incubator/etherpad/SCALE/questions.yaml
Normal file
@@ -0,0 +1,796 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 9001
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 9001
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36156
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "App Data Storage"
|
||||
description: "Stores the Application Data."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/opt/etherpad-lite/var"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
- variable: app
|
||||
label: "App Storage"
|
||||
description: "Stores the Application."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/opt/etherpad-lite/app"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/etherpad/app-changelog.md
Normal file
7
charts/incubator/etherpad/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="etherpad-0.0.1"></a>
|
||||
### etherpad-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/etherpad/app-readme.md
Normal file
3
charts/incubator/etherpad/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
A real-time collaborative editor scalable to thousands of simultaneous real time users.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
45
charts/incubator/etherpad/helm-values.md
Normal file
45
charts/incubator/etherpad/helm-values.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | `{}` | |
|
||||
| envTpl.DB_NAME | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.DB_PORT | string | `"5432"` | |
|
||||
| envTpl.DB_TYPE | string | `"postgres"` | |
|
||||
| envTpl.DB_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.DB_PASS.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.DB_PASS.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"ghcr.io/nicholaswilde/etherpad"` | |
|
||||
| image.tag | string | `"version-1.8.14@sha256:cd35863f12695934a55d60e6cd2ee70489e14445af1b84ade79333a524265323"` | |
|
||||
| persistence.app.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.app.enabled | bool | `true` | |
|
||||
| persistence.app.mountPath | string | `"/opt/etherpad-lite/app"` | |
|
||||
| persistence.app.size | string | `"1Gi"` | |
|
||||
| persistence.data.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.data.enabled | bool | `true` | |
|
||||
| persistence.data.mountPath | string | `"/opt/etherpad-lite/var"` | |
|
||||
| persistence.data.size | string | `"1Gi"` | |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql.enabled | bool | `true` | |
|
||||
| postgresql.existingSecret | string | `"dbcreds"` | |
|
||||
| postgresql.postgresqlDatabase | string | `"etherpad"` | |
|
||||
| postgresql.postgresqlUsername | string | `"etherpad"` | |
|
||||
| secret | object | `{}` | |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service.main.ports.main.port | int | `9001` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/etherpad/templates/common.yaml
Normal file
1
charts/incubator/etherpad/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
60
charts/incubator/etherpad/values.yaml
Normal file
60
charts/incubator/etherpad/values.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
image:
|
||||
repository: ghcr.io/nicholaswilde/etherpad
|
||||
pullPolicy: IfNotPresent
|
||||
tag: version-1.8.14@sha256:cd35863f12695934a55d60e6cd2ee70489e14445af1b84ade79333a524265323
|
||||
|
||||
secret: {}
|
||||
|
||||
# See more environment variables in the etherpad documentation
|
||||
# https://github.com/ether/etherpad-lite/blob/develop/doc/docker.md
|
||||
# For Mariadb, use DB_TYPE: mysql https://github.com/ether/etherpad-lite/issues/4214
|
||||
env: {}
|
||||
|
||||
envTpl:
|
||||
DB_TYPE: "postgres"
|
||||
DB_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
DB_USER: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
DB_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
DB_PASS:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
DB_HOST:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 9001
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: /opt/etherpad-lite/var
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
app:
|
||||
enabled: true
|
||||
mountPath: /opt/etherpad-lite/app
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: etherpad
|
||||
postgresqlDatabase: etherpad
|
||||
23
charts/incubator/firefox-syncserver/.helmignore
Normal file
23
charts/incubator/firefox-syncserver/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
9
charts/incubator/firefox-syncserver/CHANGELOG.md
Normal file
9
charts/incubator/firefox-syncserver/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="firefox-syncserver-0.0.1"></a>
|
||||
### firefox-syncserver-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/firefox-syncserver/CONFIG.md
Normal file
8
charts/incubator/firefox-syncserver/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
29
charts/incubator/firefox-syncserver/Chart.yaml
Normal file
29
charts/incubator/firefox-syncserver/Chart.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.8.0"
|
||||
version: 0.0.1
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
name: firefox-syncserver
|
||||
description: This is an all-in-one package for running a self-hosted Firefox Sync server.
|
||||
type: application
|
||||
home: "https://github.com/truecharts/apps/tree/main/charts/firefox-syncserver"
|
||||
icon: "https://upload.wikimedia.org/wikipedia/en/0/01/Firefox_Sync_logo.png"
|
||||
keywords:
|
||||
- server
|
||||
- sync
|
||||
- syncserver
|
||||
- firefox
|
||||
sources:
|
||||
- https://moz-services-docs.readthedocs.io/en/latest/howtos/run-sync-1.5.html
|
||||
- https://hub.docker.com/r/crazymax/firefox-syncserver
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
41
charts/incubator/firefox-syncserver/README.md
Normal file
41
charts/incubator/firefox-syncserver/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Introduction
|
||||
|
||||
This is an all-in-one package for running a self-hosted Firefox Sync server.
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://moz-services-docs.readthedocs.io/en/latest/howtos/run-sync-1.5.html>
|
||||
* <https://hub.docker.com/r/crazymax/firefox-syncserver>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/firefox-syncserver/SCALE/item.yaml
Normal file
3
charts/incubator/firefox-syncserver/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: "https://upload.wikimedia.org/wikipedia/en/0/01/Firefox_Sync_logo.png"
|
||||
701
charts/incubator/firefox-syncserver/SCALE/questions.yaml
Normal file
701
charts/incubator/firefox-syncserver/SCALE/questions.yaml
Normal file
@@ -0,0 +1,701 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: secret
|
||||
group: "Container Configuration"
|
||||
label: "Image Secrets"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: FF_SYNCSERVER_SECRET
|
||||
label: "FF_SYNCSERVER_SECRET"
|
||||
description: "Sets the FF_SYNCSERVER_SECRET env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "changeme"
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
- variable: PUID
|
||||
label: "PUID"
|
||||
description: "Sets the PUID env var for LinuxServer.io (compatible) containers"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: FF_SYNCSERVER_PUBLIC_URL
|
||||
label: "FF_SYNCSERVER_PUBLIC_URL"
|
||||
description: "Sets the FF_SYNCSERVER_PUBLIC_URL env var"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: FF_SYNCSERVER_FORCE_WSGI_ENVIRON
|
||||
label: "FF_SYNCSERVER_FORCE_WSGI_ENVIRON"
|
||||
description: "Sets the FF_SYNCSERVER_FORCE_WSGI_ENVIRON env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: FF_SYNCSERVER_ACCESSLOG
|
||||
label: "FF_SYNCSERVER_ACCESSLOG"
|
||||
description: "Sets the FF_SYNCSERVER_ACCESSLOG env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: FF_SYNCSERVER_LOGLEVEL
|
||||
label: "FF_SYNCSERVER_LOGLEVEL"
|
||||
description: "Sets the FF_SYNCSERVER_LOGLEVEL env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "info"
|
||||
- variable: FF_SYNCSERVER_ALLOW_NEW_USERS
|
||||
label: "FF_SYNCSERVER_ALLOW_NEW_USERS"
|
||||
description: "Sets the FF_SYNCSERVER_ALLOW_NEW_USERS env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: FF_SYNCSERVER_FORWARDED_ALLOW_IPS
|
||||
label: "FF_SYNCSERVER_FORWARDED_ALLOW_IPS"
|
||||
description: "Sets the FF_SYNCSERVER_FORWARDED_ALLOW_IPS env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "*"
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 5000
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 5000
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36157
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/firefox-syncserver/app-changelog.md
Normal file
7
charts/incubator/firefox-syncserver/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="firefox-syncserver-0.0.1"></a>
|
||||
### firefox-syncserver-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/firefox-syncserver/app-readme.md
Normal file
3
charts/incubator/firefox-syncserver/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
This is an all-in-one package for running a self-hosted Firefox Sync server.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
35
charts/incubator/firefox-syncserver/helm-values.md
Normal file
35
charts/incubator/firefox-syncserver/helm-values.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env.FF_SYNCSERVER_FORCE_WSGI_ENVIRON | string | `"true"` | |
|
||||
| env.FF_SYNCSERVER_PUBLIC_URL | string | `"firefox-syncserver.192.168.1.189.nip.io"` | |
|
||||
| env.PUID | string | `"568"` | |
|
||||
| env.TZ | string | `"America/Los_Angeles"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.key | string | `"url"` | |
|
||||
| envValueFrom.DB_HOST.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"ghcr.io/crazy-max/firefox-syncserver"` | |
|
||||
| image.tag | string | `"1.8.0@sha256:15aeaaec65295711260807fe49020b2e446e60d6e094d60a1cfd96c7ebf2b9ce"` | |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql.enabled | bool | `true` | |
|
||||
| postgresql.existingSecret | string | `"dbcreds"` | |
|
||||
| postgresql.postgresqlDatabase | string | `"firefox-syncserver"` | |
|
||||
| postgresql.postgresqlUsername | string | `"firefox-syncserver"` | |
|
||||
| secret.FF_SYNCSERVER_SECRET | string | `"5up3rS3kr1t"` | |
|
||||
| securityContext.allowPrivilegeEscalation | bool | `true` | |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service.main.ports.main.port | int | `5000` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
47
charts/incubator/firefox-syncserver/values.yaml
Normal file
47
charts/incubator/firefox-syncserver/values.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
image:
|
||||
repository: ghcr.io/crazy-max/firefox-syncserver
|
||||
pullPolicy: IfNotPresent
|
||||
# Overrides the image tag whose default is the chart appVersion.
|
||||
tag: 1.8.0@sha256:15aeaaec65295711260807fe49020b2e446e60d6e094d60a1cfd96c7ebf2b9ce
|
||||
|
||||
secret:
|
||||
FF_SYNCSERVER_SECRET: "changeme"
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
allowPrivilegeEscalation: true
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
env:
|
||||
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
TZ: "America/Los_Angeles"
|
||||
PUID: 568
|
||||
FF_SYNCSERVER_PUBLIC_URL: "firefox-syncserver.192.168.1.189.nip.io"
|
||||
FF_SYNCSERVER_FORCE_WSGI_ENVIRON: true
|
||||
FF_SYNCSERVER_ACCESSLOG: false
|
||||
FF_SYNCSERVER_LOGLEVEL: "info"
|
||||
FF_SYNCSERVER_ALLOW_NEW_USERS: true
|
||||
FF_SYNCSERVER_FORWARDED_ALLOW_IPS: "*"
|
||||
|
||||
envValueFrom:
|
||||
DB_HOST:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: url
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 5000
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: firefox-syncserver
|
||||
postgresqlDatabase: firefox-syncserver
|
||||
23
charts/incubator/gotify/.helmignore
Normal file
23
charts/incubator/gotify/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
9
charts/incubator/gotify/CHANGELOG.md
Normal file
9
charts/incubator/gotify/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="gotify-0.0.1"></a>
|
||||
### gotify-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/gotify/CONFIG.md
Normal file
8
charts/incubator/gotify/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
29
charts/incubator/gotify/Chart.yaml
Normal file
29
charts/incubator/gotify/Chart.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
apiVersion: v2
|
||||
appVersion: "2.1.0"
|
||||
version: 0.0.1
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
name: gotify
|
||||
description: a simple server for sending and receiving messages
|
||||
type: application
|
||||
home: "https://github.com/truecharts/apps/tree/main/charts/gotify"
|
||||
keywords:
|
||||
- server
|
||||
- gotify
|
||||
- messages
|
||||
icon: https://gotify.net/img/logo.png
|
||||
sources:
|
||||
- https://gotify.net/
|
||||
- https://github.com/gotify/server
|
||||
- https://hub.docker.com/r/gotify/server
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
42
charts/incubator/gotify/README.md
Normal file
42
charts/incubator/gotify/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Introduction
|
||||
|
||||
a simple server for sending and receiving messages
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://gotify.net/>
|
||||
* <https://github.com/gotify/server>
|
||||
* <https://hub.docker.com/r/gotify/server>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/gotify/SCALE/item.yaml
Normal file
3
charts/incubator/gotify/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: https://gotify.net/img/logo.png
|
||||
722
charts/incubator/gotify/SCALE/questions.yaml
Normal file
722
charts/incubator/gotify/SCALE/questions.yaml
Normal file
@@ -0,0 +1,722 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
- variable: secret
|
||||
group: "Container Configuration"
|
||||
label: "Image Secrets"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: user
|
||||
label: "user"
|
||||
description: "Sets the user env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "admin"
|
||||
- variable: pass
|
||||
label: "pass"
|
||||
description: "Sets the pass env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "changeme"
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
- variable: GOTIFY_SERVER_PORT
|
||||
label: "GOTIFY_SERVER_PORT"
|
||||
description: "Sets the GOTIFY_SERVER_PORT env var"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 8080
|
||||
- variable: GOTIFY_SERVER_KEEPALIVEPERIODSECONDS
|
||||
label: "GOTIFY_SERVER_KEEPALIVEPERIODSECONDS"
|
||||
description: "Sets the GOTIFY_SERVER_KEEPALIVEPERIODSECONDS env var"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: GOTIFY_SERVER_LISTENADDR
|
||||
label: "GOTIFY_SERVER_LISTENADDR"
|
||||
description: "Sets the GOTIFY_SERVER_LISTENADDR env var"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: GOTIFY_SERVER_SSL_ENABLED
|
||||
label: "GOTIFY_SERVER_SSL_ENABLED"
|
||||
description: "Sets the GOTIFY_SERVER_SSL_ENABLED env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: GOTIFY_SERVER_RESPONSEHEADERS
|
||||
label: "GOTIFY_SERVER_RESPONSEHEADERS"
|
||||
description: "Sets the GOTIFY_SERVER_RESPONSEHEADERS env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "X-Custom-Header: \"custom value\""
|
||||
- variable: GOTIFY_SERVER_STREAM_PINGPERIODSECONDS
|
||||
label: "GOTIFY_SERVER_STREAM_PINGPERIODSECONDS"
|
||||
description: "Sets the GOTIFY_SERVER_STREAM_PINGPERIODSECONDS env var"
|
||||
schema:
|
||||
type: int
|
||||
default: 45
|
||||
- variable: GOTIFY_PASSSTRENGTH
|
||||
label: "GOTIFY_PASSSTRENGTH"
|
||||
description: "Sets the GOTIFY_PASSSTRENGTH env var"
|
||||
schema:
|
||||
type: int
|
||||
default: 10
|
||||
- variable: GOTIFY_UPLOADEDIMAGESDIR
|
||||
label: "GOTIFY_UPLOADEDIMAGESDIR"
|
||||
description: "Sets the GOTIFY_UPLOADEDIMAGESDIR env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "data/images"
|
||||
- variable: GOTIFY_PLUGINSDIR
|
||||
label: "GOTIFY_PLUGINSDIR"
|
||||
description: "Sets the GOTIFY_PLUGINSDIR env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "data/plugins"
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 8080
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8080
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36158
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "App Data Storage"
|
||||
description: "Stores the Application Data."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/app/data"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/gotify/app-changelog.md
Normal file
7
charts/incubator/gotify/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="gotify-0.0.1"></a>
|
||||
### gotify-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/gotify/app-readme.md
Normal file
3
charts/incubator/gotify/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
a simple server for sending and receiving messages
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
40
charts/incubator/gotify/helm-values.md
Normal file
40
charts/incubator/gotify/helm-values.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env.GOTIFY_PASSSTRENGTH | string | `"10"` | |
|
||||
| env.GOTIFY_PLUGINSDIR | string | `"data/plugins"` | |
|
||||
| env.GOTIFY_SERVER_KEEPALIVEPERIODSECONDS | string | `"0"` | |
|
||||
| env.GOTIFY_SERVER_LISTENADDR | string | `""` | |
|
||||
| env.GOTIFY_SERVER_PORT | string | `"8080"` | |
|
||||
| env.GOTIFY_SERVER_RESPONSEHEADERS | string | `"X-Custom-Header: \"custom value\""` | |
|
||||
| env.GOTIFY_SERVER_SSL_ENABLED | string | `"false"` | |
|
||||
| env.GOTIFY_SERVER_STREAM_PINGPERIODSECONDS | string | `"45"` | |
|
||||
| env.GOTIFY_UPLOADEDIMAGESDIR | string | `"data/images"` | |
|
||||
| env.TZ | string | `"America/Los_Angeles"` | |
|
||||
| envFrom[0].configMapRef.name | string | `"gotifyenv"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"gotify/server"` | |
|
||||
| image.tag | string | `"2.1.0@sha256:57aa2aabac035c16118f625dd6d3d2c3ca421b43b28cb27512f3212193d65771"` | |
|
||||
| persistence.data.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.data.enabled | bool | `true` | |
|
||||
| persistence.data.mountPath | string | `"/app/data"` | |
|
||||
| persistence.data.size | string | `"1Gi"` | |
|
||||
| postgresql.enabled | bool | `true` | |
|
||||
| postgresql.existingSecret | string | `"dbcreds"` | |
|
||||
| postgresql.postgresqlDatabase | string | `"gotify"` | |
|
||||
| postgresql.postgresqlUsername | string | `"gotify"` | |
|
||||
| secret.pass | string | `"admin"` | |
|
||||
| secret.user | string | `"admin"` | |
|
||||
| service.main.ports.main.port | int | `8080` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
13
charts/incubator/gotify/templates/_configmap.tpl
Normal file
13
charts/incubator/gotify/templates/_configmap.tpl
Normal file
@@ -0,0 +1,13 @@
|
||||
{{- define "gotify.configmap" }}
|
||||
{{ $url := ( .Values.postgresql.url.plain | trimAll "\"" ) }}
|
||||
{{ $password := ( .Values.postgresql.postgresqlPassword | trimAll "\"" ) }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: gotifyenv
|
||||
data:
|
||||
GOTIFY_DATABASE_CONNECTION: "host={{ $url }} port=5432 user={{ .Values.postgresql.postgresqlUsername }} dbname={{ .Values.postgresql.postgresqlDatabase }} password={{ $password }} sslmode=disable"
|
||||
GOTIFY_DATABASE_DIALECT: "postgres"
|
||||
|
||||
{{- end }}
|
||||
7
charts/incubator/gotify/templates/common.yaml
Normal file
7
charts/incubator/gotify/templates/common.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.setup" . }}
|
||||
|
||||
{{/* Render configmap for nextcloud */}}
|
||||
{{- include "gotify.configmap" . }}
|
||||
|
||||
{{ include "common.postSetup" . }}
|
||||
53
charts/incubator/gotify/values.yaml
Normal file
53
charts/incubator/gotify/values.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
image:
|
||||
repository: gotify/server
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 2.1.0@sha256:57aa2aabac035c16118f625dd6d3d2c3ca421b43b28cb27512f3212193d65771
|
||||
|
||||
secret:
|
||||
user: "admin"
|
||||
pass: "admin"
|
||||
|
||||
# See more environment variables in the gotify documentation
|
||||
# https://gotify.net/docs/config#environment-variables
|
||||
env:
|
||||
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
TZ: "America/Los_Angeles"
|
||||
GOTIFY_SERVER_PORT: 8080
|
||||
GOTIFY_SERVER_KEEPALIVEPERIODSECONDS: 0
|
||||
GOTIFY_SERVER_LISTENADDR: ""
|
||||
GOTIFY_SERVER_SSL_ENABLED: false
|
||||
# lists are a little weird but do-able (:
|
||||
# GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS: "- mydomain.tld\n- myotherdomain.tld"
|
||||
GOTIFY_SERVER_RESPONSEHEADERS: "X-Custom-Header: \"custom value\""
|
||||
# GOTIFY_SERVER_CORS_ALLOWORIGINS: "- \".+.example.com\"\n- \"otherdomain.com\""
|
||||
# GOTIFY_SERVER_CORS_ALLOWMETHODS: "- \"GET\"\n- \"POST\""
|
||||
# GOTIFY_SERVER_CORS_ALLOWHEADERS: "- \"Authorization\"\n- \"content-type\""
|
||||
# GOTIFY_SERVER_STREAM_ALLOWEDORIGINS: "- \".+.example.com\"\n- \"otherdomain.com\""
|
||||
GOTIFY_SERVER_STREAM_PINGPERIODSECONDS: 45
|
||||
GOTIFY_PASSSTRENGTH: 10
|
||||
GOTIFY_UPLOADEDIMAGESDIR: "data/images"
|
||||
GOTIFY_PLUGINSDIR: "data/plugins"
|
||||
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: gotifyenv
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 8080
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: /app/data
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: gotify
|
||||
postgresqlDatabase: gotify
|
||||
26
charts/incubator/joplin-server/.helmignore
Normal file
26
charts/incubator/joplin-server/.helmignore
Normal file
@@ -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
|
||||
9
charts/incubator/joplin-server/CHANGELOG.md
Normal file
9
charts/incubator/joplin-server/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="joplin-server-0.0.1"></a>
|
||||
### joplin-server-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/joplin-server/CONFIG.md
Normal file
8
charts/incubator/joplin-server/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
27
charts/incubator/joplin-server/Chart.yaml
Normal file
27
charts/incubator/joplin-server/Chart.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: v2
|
||||
appVersion: "2.5.1"
|
||||
description: This server allows you to sync any Joplin client
|
||||
name: joplin-server
|
||||
version: 0.0.1
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
keywords:
|
||||
- joplin
|
||||
- notes
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/jopplin-server
|
||||
icon: https://raw.githubusercontent.com/laurent22/joplin/master/Assets/LinuxIcons/256x256.png?raw=true
|
||||
sources:
|
||||
- https://github.com/laurent22/joplin/tree/dev/packages/server
|
||||
- https://github.com/laurent22/joplin
|
||||
- https://hub.docker.com/r/joplin/server
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
42
charts/incubator/joplin-server/README.md
Normal file
42
charts/incubator/joplin-server/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Introduction
|
||||
|
||||
This server allows you to sync any Joplin client
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/laurent22/joplin/tree/dev/packages/server>
|
||||
* <https://github.com/laurent22/joplin>
|
||||
* <https://hub.docker.com/r/joplin/server>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/joplin-server/SCALE/item.yaml
Normal file
3
charts/incubator/joplin-server/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: https://raw.githubusercontent.com/laurent22/joplin/master/Assets/LinuxIcons/256x256.png?raw=true
|
||||
662
charts/incubator/joplin-server/SCALE/questions.yaml
Normal file
662
charts/incubator/joplin-server/SCALE/questions.yaml
Normal file
@@ -0,0 +1,662 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
- variable: APP_BASE_URL
|
||||
label: "APP_BASE_URL"
|
||||
description: "Sets the APP_BASE_URL env var"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: APP_PORT
|
||||
label: "APP_PORT"
|
||||
description: "Sets the APP_BASE_URL env var"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 22300
|
||||
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 22300
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 22300
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36159
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/joplin-server/app-changelog.md
Normal file
7
charts/incubator/joplin-server/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="joplin-server-0.0.1"></a>
|
||||
### joplin-server-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/joplin-server/app-readme.md
Normal file
3
charts/incubator/joplin-server/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
This server allows you to sync any Joplin client
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
36
charts/incubator/joplin-server/helm-values.md
Normal file
36
charts/incubator/joplin-server/helm-values.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | See below | environment variables. See [image docs](https://github.com/laurent22/joplin) for more details. |
|
||||
| env.APP_BASE_URL | string | `"https://joplin.domain"` | joplin-server base URL |
|
||||
| env.APP_PORT | int | `22300` | joplin-server listening port (same as Service port) |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| envTpl.DB_CLIENT | string | `"pg"` | |
|
||||
| envTpl.POSTGRES_DATABASE | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.POSTGRES_PORT | string | `"5432"` | |
|
||||
| envTpl.POSTGRES_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envValueFrom.POSTGRES_HOST.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.POSTGRES_HOST.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.POSTGRES_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.POSTGRES_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"joplin/server"` | image repository |
|
||||
| image.tag | string | `"2.5.1@sha256:5bd976f19f883352bacad74767237471941cb35b2ded96a1afeeb7168b1e08d8"` | image tag |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql | object | See values.yaml | Enable and configure postgresql database subchart under this key. |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/joplin-server/templates/common.yaml
Normal file
1
charts/incubator/joplin-server/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
57
charts/incubator/joplin-server/values.yaml
Normal file
57
charts/incubator/joplin-server/values.yaml
Normal file
@@ -0,0 +1,57 @@
|
||||
image:
|
||||
# -- image repository
|
||||
repository: joplin/server
|
||||
# -- image tag
|
||||
tag: 2.5.1@sha256:5bd976f19f883352bacad74767237471941cb35b2ded96a1afeeb7168b1e08d8
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
# -- environment variables. See [image docs](https://github.com/laurent22/joplin) for more details.
|
||||
# @default -- See below
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
# -- joplin-server base URL
|
||||
APP_BASE_URL: https://joplin.domain
|
||||
# -- joplin-server listening port (same as Service port)
|
||||
APP_PORT: 22300
|
||||
|
||||
envTpl:
|
||||
DB_CLIENT: "pg"
|
||||
POSTGRES_DATABASE: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
POSTGRES_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
POSTGRES_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
POSTGRES_HOST:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 22300
|
||||
|
||||
# -- Enable and configure postgresql database subchart under this key.
|
||||
# @default -- See values.yaml
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: joplin
|
||||
postgresqlDatabase: joplin
|
||||
26
charts/incubator/kanboard/.helmignore
Normal file
26
charts/incubator/kanboard/.helmignore
Normal file
@@ -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
|
||||
9
charts/incubator/kanboard/CHANGELOG.md
Normal file
9
charts/incubator/kanboard/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="kanboard-0.0.1"></a>
|
||||
### kanboard-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/kanboard/CONFIG.md
Normal file
8
charts/incubator/kanboard/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
25
charts/incubator/kanboard/Chart.yaml
Normal file
25
charts/incubator/kanboard/Chart.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
apiVersion: v2
|
||||
appVersion: "1.2.20"
|
||||
description: Kanboard is a free and open source Kanban project management software.
|
||||
name: kanboard
|
||||
version: 0.0.1
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- kanboard
|
||||
- kanban
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/kanboard
|
||||
icon: https://raw.githubusercontent.com/kanboard/website/master/assets/img/icon.svg
|
||||
sources:
|
||||
- https://github.com/kanboard/kanboard
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
40
charts/incubator/kanboard/README.md
Normal file
40
charts/incubator/kanboard/README.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Introduction
|
||||
|
||||
Kanboard is a free and open source Kanban project management software.
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/kanboard/kanboard>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/kanboard/SCALE/item.yaml
Normal file
3
charts/incubator/kanboard/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: https://raw.githubusercontent.com/kanboard/website/master/assets/img/icon.svg
|
||||
807
charts/incubator/kanboard/SCALE/questions.yaml
Normal file
807
charts/incubator/kanboard/SCALE/questions.yaml
Normal file
@@ -0,0 +1,807 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
- variable: MAIL_CONFIGURATION
|
||||
label: "MAIL_CONFIGURATION"
|
||||
description: "Sets the MAIL_CONFIGURATION env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: LOG_DRIVER
|
||||
label: "LOG_DRIVER"
|
||||
description: "Sets the LOG_DRIVER env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "stdout"
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36160
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "App Data Storage"
|
||||
description: "Stores the Application Data."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/var/www/app/data"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
- variable: ssl
|
||||
label: "App SSL Storage"
|
||||
description: "Stores the Application SSL."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/etc/nginx/ssl"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/kanboard/app-changelog.md
Normal file
7
charts/incubator/kanboard/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="kanboard-0.0.1"></a>
|
||||
### kanboard-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/kanboard/app-readme.md
Normal file
3
charts/incubator/kanboard/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Kanboard is a free and open source Kanban project management software.
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
37
charts/incubator/kanboard/helm-values.md
Normal file
37
charts/incubator/kanboard/helm-values.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | See below (only deviations from the default settings are specified) | environment variables. See [image docs](https://docs.kanboard.org/en/latest/admin_guide/docker.html#environment-variables) and [application docs](# https://docs.kanboard.org/en/latest/admin_guide/config_file.html) for more details. |
|
||||
| env.LOG_DRIVER | string | `"stdout"` | log driver: syslog, stderr, stdout or file |
|
||||
| env.MAIL_CONFIGURATION | string | `"false"` | Enable/disable email configuration from the user interface |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| envTpl.DB_DRIVER | string | `"postgres"` | |
|
||||
| envTpl.DB_NAME | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.DB_PORT | string | `"5432"` | |
|
||||
| envTpl.DB_USERNAME | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envValueFrom.DB_HOSTNAME.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.DB_HOSTNAME.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"kanboard/kanboard"` | image repository |
|
||||
| image.tag | string | `"v1.2.20@sha256:d6d3bab5ca3f079ca782a7dc63e370e0ee3a006c596ba51ff6beb24d051528fc"` | image tag |
|
||||
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||
| podSecurityContext.runAsGroup | int | `0` | |
|
||||
| podSecurityContext.runAsUser | int | `0` | |
|
||||
| postgresql | object | See values.yaml | Enable and configure postgresql database subchart under this key. |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `false` | |
|
||||
| securityContext.runAsNonRoot | bool | `false` | |
|
||||
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/kanboard/templates/common.yaml
Normal file
1
charts/incubator/kanboard/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
68
charts/incubator/kanboard/values.yaml
Normal file
68
charts/incubator/kanboard/values.yaml
Normal file
@@ -0,0 +1,68 @@
|
||||
image:
|
||||
# -- image repository
|
||||
repository: kanboard/kanboard
|
||||
# -- image tag
|
||||
tag: v1.2.20@sha256:d6d3bab5ca3f079ca782a7dc63e370e0ee3a006c596ba51ff6beb24d051528fc
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
# -- environment variables. See [image docs](https://docs.kanboard.org/en/latest/admin_guide/docker.html#environment-variables)
|
||||
# and [application docs](# https://docs.kanboard.org/en/latest/admin_guide/config_file.html) for more details.
|
||||
# @default -- See below (only deviations from the default settings are specified)
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
# -- Enable/disable email configuration from the user interface
|
||||
MAIL_CONFIGURATION: false
|
||||
# -- log driver: syslog, stderr, stdout or file
|
||||
LOG_DRIVER: stdout
|
||||
|
||||
envTpl:
|
||||
DB_DRIVER: "postgres"
|
||||
DB_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
DB_USERNAME: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
DB_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
DB_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
DB_HOSTNAME:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- Configure persistence settings for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: /var/www/app/data
|
||||
ssl:
|
||||
enabled: true
|
||||
mountPath: /etc/nginx/ssl
|
||||
|
||||
# -- Enable and configure postgresql database subchart under this key.
|
||||
# @default -- See values.yaml
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlUsername: kanboard
|
||||
postgresqlDatabase: kanboard
|
||||
26
charts/incubator/librespeed/.helmignore
Normal file
26
charts/incubator/librespeed/.helmignore
Normal file
@@ -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
|
||||
9
charts/incubator/librespeed/CHANGELOG.md
Normal file
9
charts/incubator/librespeed/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="librespeed-0.0.1"></a>
|
||||
### [librespeed-0.0.1](https://github.com/truecharts/apps/compare/librespeed-3.0.10...librespeed-0.0.1) (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/librespeed/CONFIG.md
Normal file
8
charts/incubator/librespeed/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
27
charts/incubator/librespeed/Chart.yaml
Normal file
27
charts/incubator/librespeed/Chart.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
apiVersion: v2
|
||||
appVersion: "5.2.4"
|
||||
description: Librespeed is a HTML5 webpage to test upload and download speeds
|
||||
name: librespeed
|
||||
version: 0.0.1
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
keywords:
|
||||
- librespeed
|
||||
- speedtest
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/librespeed
|
||||
icon: https://github.com/librespeed/speedtest/blob/master/.logo/icon_huge.png?raw=true
|
||||
sources:
|
||||
- https://github.com/librespeed/speedtest
|
||||
- https://hub.docker.com/r/linuxserver/librespeed
|
||||
- https://github.com/truecharts/apps/tree/master/charts/librespeed
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org
|
||||
version: 8.3.12
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 3.0.18
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
42
charts/incubator/librespeed/README.md
Normal file
42
charts/incubator/librespeed/README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Introduction
|
||||
|
||||
Librespeed is a HTML5 webpage to test upload and download speeds
|
||||
|
||||
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/librespeed/speedtest>
|
||||
* <https://hub.docker.com/r/linuxserver/librespeed>
|
||||
* <https://github.com/truecharts/apps/tree/master/charts/librespeed>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://truecharts.org/ | postgresql | 3.0.16 |
|
||||
| https://truecharts.org | common | 8.3.9 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
3
charts/incubator/librespeed/SCALE/item.yaml
Normal file
3
charts/incubator/librespeed/SCALE/item.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
categories:
|
||||
- media
|
||||
icon_url: https://github.com/librespeed/speedtest/blob/master/.logo/icon_huge.png?raw=true
|
||||
682
charts/incubator/librespeed/SCALE/questions.yaml
Normal file
682
charts/incubator/librespeed/SCALE/questions.yaml
Normal file
@@ -0,0 +1,682 @@
|
||||
# Include{groups}
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
questions:
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: controller
|
||||
group: "Controller"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: type
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Controller Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "deployment"
|
||||
required: true
|
||||
enum:
|
||||
- value: "deployment"
|
||||
description: "Deployment"
|
||||
- value: "statefulset"
|
||||
description: "Statefulset"
|
||||
- value: "daemonset"
|
||||
description: "Daemonset"
|
||||
- variable: replicas
|
||||
description: "Number of desired pod replicas"
|
||||
label: "Desired Replicas"
|
||||
schema:
|
||||
type: int
|
||||
default: 1
|
||||
required: true
|
||||
- variable: strategy
|
||||
description: "Please specify type of workload to deploy"
|
||||
label: "(Advanced) Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
required: true
|
||||
enum:
|
||||
- value: "Recreate"
|
||||
description: "Recreate: Kill existing pods before creating new ones"
|
||||
- value: "RollingUpdate"
|
||||
description: "RollingUpdate: Create new pods and then kill old ones"
|
||||
- value: "OnDelete"
|
||||
description: "(Legacy) OnDelete: ignore .spec.template changes"
|
||||
# Include{controllerExpert}
|
||||
- variable: secret
|
||||
group: "Container Configuration"
|
||||
label: "Image Secrets"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: PASSWORD
|
||||
label: "PASSWORD"
|
||||
description: "Sets the PASSWORD env var"
|
||||
schema:
|
||||
type: string
|
||||
default: "changeme"
|
||||
- variable: env
|
||||
group: "Container Configuration"
|
||||
label: "Image Environment"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{fixedEnv}
|
||||
- variable: PUID
|
||||
label: "PUID"
|
||||
description: "Sets the PUID env var for LinuxServer.io (compatible) containers"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: CUSTOM_RESULTS
|
||||
label: "CUSTOM_RESULTS"
|
||||
description: "Sets the CUSTOM_RESULTS env var"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
# Include{containerConfig}
|
||||
|
||||
- variable: service
|
||||
group: "Networking and Services"
|
||||
label: "Configure Service(s)"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service Type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: "NodePort"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- value: "LoadBalancer"
|
||||
description: "LoadBalancer"
|
||||
- variable: loadBalancerIP
|
||||
label: "LoadBalancer IP"
|
||||
description: "LoadBalancerIP"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: "External IP"
|
||||
schema:
|
||||
type: string
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Service Port Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the port"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- value: TCP
|
||||
description: "TCP"
|
||||
- value: "UDP"
|
||||
description: "UDP"
|
||||
- variable: targetPort
|
||||
label: "Target Port"
|
||||
description: "This port exposes the container port on the service"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: port
|
||||
label: "Container Port"
|
||||
schema:
|
||||
type: int
|
||||
default: 80
|
||||
editable: true
|
||||
required: true
|
||||
- variable: nodePort
|
||||
label: "Node Port (Optional)"
|
||||
description: "This port gets exposed to the node. Only considered when service type is NodePort"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36161
|
||||
|
||||
- variable: serviceexpert
|
||||
group: "Networking and Services"
|
||||
label: "Show Expert Config"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostNetwork
|
||||
group: "Networking and Services"
|
||||
label: "Host-Networking (Complicated)"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: dnsPolicy
|
||||
group: "Networking and Services"
|
||||
label: "dnsPolicy"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "ClusterFirst"
|
||||
description: "ClusterFirst"
|
||||
- value: "ClusterFirstWithHostNet"
|
||||
description: "ClusterFirstWithHostNet"
|
||||
- value: "None"
|
||||
description: "None"
|
||||
|
||||
- variable: dnsConfig
|
||||
label: "DNS Configuration"
|
||||
group: "Networking and Services"
|
||||
description: "Specify custom DNS configuration which will be applied to the pod"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nameservers
|
||||
label: "Nameservers"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: nameserver
|
||||
label: "Nameserver"
|
||||
schema:
|
||||
type: string
|
||||
- variable: options
|
||||
label: "options"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: option
|
||||
label: "Option Entry"
|
||||
schema:
|
||||
type: string
|
||||
- variable: searches
|
||||
label: "Searches"
|
||||
schema:
|
||||
default: []
|
||||
type: list
|
||||
items:
|
||||
- variable: search
|
||||
label: "Search Entry"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{serviceList}
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
description: "Integrated Persistent Storage"
|
||||
group: "Storage and Persistence"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: varrun
|
||||
label: "varrun Storage"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
hidden: true
|
||||
default: true
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: type
|
||||
label: "(Advanced) Type of Storage"
|
||||
description: "Sets the persistence type"
|
||||
schema:
|
||||
type: string
|
||||
default: "pvc"
|
||||
enum:
|
||||
- value: "pvc"
|
||||
description: "pvc"
|
||||
- value: "emptyDir"
|
||||
description: "emptyDir"
|
||||
- value: "hostPath"
|
||||
description: "hostPath"
|
||||
- variable: storageClass
|
||||
label: "(Advanced) storageClass"
|
||||
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "SCALE-ZFS"
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: readOnly
|
||||
label: "readOnly"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: hostPath
|
||||
label: "hostPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: hostpath
|
||||
- variable: hostPathType
|
||||
label: "hostPath Type"
|
||||
schema:
|
||||
show_if: [["type", "=", "hostPath"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "DirectoryOrCreate"
|
||||
description: "DirectoryOrCreate"
|
||||
- value: "Directory"
|
||||
description: "Directory"
|
||||
- value: "FileOrCreate"
|
||||
description: "FileOrCreate"
|
||||
- value: "File"
|
||||
description: "File"
|
||||
- value: "Socket"
|
||||
description: "Socket"
|
||||
- value: "CharDevice"
|
||||
description: "CharDevice"
|
||||
- value: "BlockDevice"
|
||||
description: "BlockDevice"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: medium
|
||||
label: "EmptyDir Medium"
|
||||
schema:
|
||||
show_if: [["type", "=", "emptyDir"]]
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Default"
|
||||
- value: "Memory"
|
||||
description: "Memory"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PV"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
show_if: [["type", "=", "pvc"]]
|
||||
type: string
|
||||
default: "100Gi"
|
||||
# Include{persistenceList}
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Ingress"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "HostName"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: "Paths"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: "Host"
|
||||
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: tls
|
||||
label: "TLS-Settings"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: "Certificate Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: scaleCert
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: entrypoint
|
||||
label: "(Advanced) Traefik Entrypoint"
|
||||
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
- variable: middlewares
|
||||
label: "Traefik Middlewares"
|
||||
description: "Add previously created Traefik Middlewares to this Ingress"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: expert
|
||||
label: "Show Expert Configuration Options"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: ingressClassName
|
||||
label: "IngressClass Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: labelsList
|
||||
label: "Labels"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: labelItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
- variable: annotationsList
|
||||
label: "Annotations"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: annotationItem
|
||||
label: "Label"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Include{ingressList}
|
||||
|
||||
- variable: securityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Privileged mode"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: readOnlyRootFilesystem
|
||||
label: "ReadOnly Root Filesystem"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: allowPrivilegeEscalation
|
||||
label: "Allow Privilege Escalation"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: runAsNonRoot
|
||||
label: "runAsNonRoot"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: podSecurityContext
|
||||
group: "Security and Permissions"
|
||||
label: "Pod Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: The groupID this App of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
- variable: supplementalGroups
|
||||
label: "supplemental Groups"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: supplementalGroupsEntry
|
||||
label: "supplemental Group"
|
||||
schema:
|
||||
type: int
|
||||
- variable: fsGroupChangePolicy
|
||||
label: "When should we take ownership?"
|
||||
schema:
|
||||
type: string
|
||||
default: "OnRootMismatch"
|
||||
enum:
|
||||
- value: "OnRootMismatch"
|
||||
description: "OnRootMismatch"
|
||||
- value: "Always"
|
||||
description: "Always"
|
||||
|
||||
# Include{resources}
|
||||
|
||||
# Include{advanced}
|
||||
|
||||
# Include{addons}
|
||||
7
charts/incubator/librespeed/app-changelog.md
Normal file
7
charts/incubator/librespeed/app-changelog.md
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
<a name="librespeed-0.0.1"></a>
|
||||
### [librespeed-0.0.1](https://github.com/truecharts/apps/compare/librespeed-3.0.10...librespeed-0.0.1) (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
3
charts/incubator/librespeed/app-readme.md
Normal file
3
charts/incubator/librespeed/app-readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Librespeed is a HTML5 webpage to test upload and download speeds
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
32
charts/incubator/librespeed/helm-values.md
Normal file
32
charts/incubator/librespeed/helm-values.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| env | object | See below | environment variables. See [image docs](https://hub.docker.com/r/linuxserver/librespeed) for more details. |
|
||||
| env.PUID | string | `"568"` | Specify the user ID the application will run as |
|
||||
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||
| envTpl.DB_NAME | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
|
||||
| envTpl.DB_PORT | string | `"5432"` | |
|
||||
| envTpl.DB_TYPE | string | `"postgresql"` | |
|
||||
| envTpl.DB_USERNAME | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
|
||||
| envValueFrom.DB_HOSTNAME.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| envValueFrom.DB_HOSTNAME.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
|
||||
| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||
| image.repository | string | `"ghcr.io/linuxserver/librespeed"` | image repository |
|
||||
| image.tag | string | `"5.2.4@sha256:6a8a801f5531de520ff07fa123cabbb7a39c4bba05a093be4832cd85e18e2489"` | image tag |
|
||||
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||
| postgresql | object | Enabled (see values.yaml for more details) | Enable and configure postgresql database subchart under this key. |
|
||||
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
||||
1
charts/incubator/librespeed/templates/common.yaml
Normal file
1
charts/incubator/librespeed/templates/common.yaml
Normal file
@@ -0,0 +1 @@
|
||||
{{ include "common.all" . }}
|
||||
69
charts/incubator/librespeed/values.yaml
Normal file
69
charts/incubator/librespeed/values.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
image:
|
||||
# -- image repository
|
||||
repository: ghcr.io/linuxserver/librespeed
|
||||
# -- image tag
|
||||
tag: 5.2.4@sha256:6a8a801f5531de520ff07fa123cabbb7a39c4bba05a093be4832cd85e18e2489
|
||||
# -- image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
|
||||
# -- environment variables. See [image docs](https://hub.docker.com/r/linuxserver/librespeed) for more details.
|
||||
# @default -- See below
|
||||
secret:
|
||||
PASSWORD: "changeme"
|
||||
|
||||
env:
|
||||
# -- Set the container timezone
|
||||
TZ: UTC
|
||||
# -- Specify the user ID the application will run as
|
||||
PUID: "568"
|
||||
CUSTOM_RESULTS: false
|
||||
|
||||
envTpl:
|
||||
DB_TYPE: "postgresql"
|
||||
DB_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
|
||||
DB_USERNAME: "{{ .Values.postgresql.postgresqlUsername }}"
|
||||
DB_PORT: "5432"
|
||||
|
||||
envValueFrom:
|
||||
DB_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: postgresql-password
|
||||
DB_HOSTNAME:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- Configures service settings for the chart.
|
||||
# @default -- See values.yaml
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- Configure persistence settings for the chart under this key.
|
||||
# @default -- See values.yaml
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: /config
|
||||
varrun:
|
||||
enabled: true
|
||||
|
||||
# -- Enable and configure postgresql database subchart under this key.
|
||||
# @default -- Enabled (see values.yaml for more details)
|
||||
postgresql:
|
||||
enabled: true
|
||||
existingSecret: "dbcreds"
|
||||
postgresqlDatabase: librespeed
|
||||
postgresqlUsername: librespeed
|
||||
26
charts/incubator/miniflux/.helmignore
Normal file
26
charts/incubator/miniflux/.helmignore
Normal file
@@ -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
|
||||
9
charts/incubator/miniflux/CHANGELOG.md
Normal file
9
charts/incubator/miniflux/CHANGELOG.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Changelog<br>
|
||||
|
||||
|
||||
<a name="miniflux-0.0.1"></a>
|
||||
### miniflux-0.0.1 (2021-10-16)
|
||||
|
||||
#### Feat
|
||||
|
||||
* Add more Apps using postgresql
|
||||
8
charts/incubator/miniflux/CONFIG.md
Normal file
8
charts/incubator/miniflux/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user