Added more truecharts stuff

This commit is contained in:
Chris Stuurman 2024-03-25 15:07:48 +02:00
parent d6f14666aa
commit d02245c3e2
94 changed files with 7364 additions and 0 deletions

2290
.all-contributorsrc Normal file

File diff suppressed because it is too large Load Diff

17
.editorconfig Normal file
View File

@ -0,0 +1,17 @@
# EditorConfig is awesome: http://EditorConfig.org
root = true
[*]
charset = utf-8
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.{sh,json}]
indent_size = 4
[*.md]
max_line_length = off
trim_trailing_whitespace = false

0
.helmdocsignore Normal file
View File

23
.markdownlint.yaml Normal file
View File

@ -0,0 +1,23 @@
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md004
# Use dash for "Unordered list style"
MD004:
style: dash
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md013
# Do not warn for Line length
MD013:
# We can lower this and wrap lines. Markdown does not care.
line_length: 999
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md033
# Do not warn for "Inline HTML"
MD033: false
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md036
# Do not warn for "Emphasis used instead of a heading"
MD036: false
# https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md024.md
# Do not warn for "Multiple headers with the same content"
MD024:
siblings_only: true

41
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,41 @@
# See https://pre-commit.com for more information
repos:
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.1.10
hooks:
- id: remove-tabs
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: trailing-whitespace # trims trailing whitespace.
- id: end-of-file-fixer # ensures that a file is either empty, or ends with one newline.
- id: fix-byte-order-marker
- id: mixed-line-ending # replaces or checks mixed line ending.
- id: check-merge-conflict # checks for files that contain merge conflict strings.
- id: check-case-conflict # checks for files that would conflict in case-insensitive filesystems.
- id: check-executables-have-shebangs # ensures that (non-binary) executables have a shebang.
- id: check-shebang-scripts-are-executable # ensures that (non-binary) files with a shebang are executable.
- id: check-docstring-first
- id: check-symlinks
- id: destroyed-symlinks
- id: fix-byte-order-marker # removes utf-8 byte order marker.
- id: requirements-txt-fixer # sorts entries in requirements.txt.
- id: check-added-large-files # prevents giant files from being committed.
exclude: \.(png|jpg|jpeg|svg|yaml|yml|tpl)$
- id: check-yaml # checks yaml files for parseable syntax.
exclude: (templates\/.*|crds\/.*|questions.yaml|chart_schema.yaml)
- id: detect-private-key # detects the presence of private keys.
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0
hooks:
- id: text-unicode-replacement-char
- id: rst-backticks
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.5.1
hooks:
- id: prettier
exclude: (templates\/.*|crds\/.*|README.md|CHANGELOG.md|questions.yaml|devcontainer.json)
files: \.(js|ts|jsx|tsx|css|less|html|json|markdown|md|yaml|yml)$

25
.snyk Normal file
View File

@ -0,0 +1,25 @@
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
version: v1.22.1
# ignores vulnerabilities until expiry date; change duration by modifying expiry date
ignore:
SNYK-CC-K8S-10:
- '* > * > input > spec > template > spec > initContainers[autopermissions] > securityContext > runAsNonRoot':
reason: Permissions script requires root
expires: 2666-01-02T15:25:09.138Z
created: 2021-12-03T15:25:09.144Z
SNYK-CC-K8S-41:
- '* > * > spec > template > spec > initContainers[autopermissions] > livenessProbe':
reason: Permissions script requires root
expires: 2666-01-02T15:25:09.138Z
created: 2021-12-03T15:25:09.144Z
SNYK-CC-K8S-11:
- '*':
reason: UID Clashes is not a priority, default user 568 is reserved on SCALE systems
expires: 2666-01-02T15:25:09.138Z
created: 2021-12-03T15:25:09.144Z
SNYK-CC-K8S-42:
- '*':
reason: We enforce digestpinning all container images and run auto-updater weekly
expires: 2666-01-02T15:25:09.138Z
created: 2021-12-03T15:25:09.144Z
patch: {}

1
CNAME Normal file
View File

@ -0,0 +1 @@
truecharts.org

11
cr.yaml Normal file
View File

@ -0,0 +1,11 @@
owner: truecharts
git-repo: charts
repo: charts
charts-dir: charts/*
charts_repo_url: "https://deps.truecharts.org"
SkipExisting: true
skipExisting: true
# Set to true for GPG signing
sign: true
# UID of the GPG key to use
key: info@truecharts.org

344
cspell.config.yaml Normal file
View File

@ -0,0 +1,344 @@
version: "0.2"
words:
- adguard
- adlist
- airsonic
- akadmin
- alertmanager
- aliasgroup
- allowtransparency
- apitoken
- appname
- appnamehere
- auditlog
- authelia
- authentik
- authexample
- authkey
- authtoken
- autoconnect
- autoplay
- autoscan
- autosync
- backupname
- basicauthexample
- batnoter
- bazarr
- blocklists
- blocktype
- briefkasten
- bugfixer's
- bungeecord
- cacher
- chainname
- cheatsheet
- chronos
- cifs
- clouddns
- cloudflared
- cloudflareddns
- cloudnative
- clusterissuer
- cnpg
- codeserver
- collabora
- configfile
- configfiles
- configmap
- containo
- cooldown
- crossplay
- csgo
- cuda
- daemonset
- dashdot
- datapoints
- datascience
- dbcreds
- dbengine
- ddns
- djava
- dnat
- dnsserver
- dnsservers
- dockerized
- docspell
- drac
- duplicati
- dynmap
- ebgp
- elif
- emby
- entrypoints
- eptgmk
- exif
- filebrowser
- fireshare
- firezone
- flatnotes
- flemarr
- flemmarr
- flushtables
- forcegc
- forwardauth
- fowner
- fullname
- geoip
- geoipupdate
- gibibyte
- gluster
- goauthentik
- gotify
- groupname
- gunicorn
- healthcheck
- healthchecks
- healthz
- heavyscript
- hexo
- honeybadger
- hostnames
- hostpath
- hyperconverged
- hyperthread
- iban
- idtool
- immich
- ingressclasses
- ingressroutes
- ingressroutetcps
- ingressrouteudps
- integrationsenabled
- inventree
- ipaddr
- ixcert
- ixsystems
- jackett
- jacobalberty
- jailman
- javaprefs
- jellyfin
- joex
- jovyan
- kavita
- keepalive
- killswitch
- kimai
- kiwix
- kjeld
- komga
- kube
- kubeconfig
- kubectl
- kubernetes
- lancache
- ldapldap
- ldapldaps
- ldapmetrics
- ldaps
- lebbing
- lenpaste
- letsencrypt
- lidarr
- linkwallet
- litestream
- lldap
- loadbalancer
- localcnamerecords
- localdnsrecords
- localdomain
- localpref
- logfile
- loolwsd
- mailenabled
- mailgun
- mapbox
- mariadbcreds
- mattwebbio
- maxmind
- mbit
- mediafiles
- memfs
- mergerfs
- meshcentral
- meshroom
- metallb
- microbin
- midarr
- midclt
- middlewares
- middlewaretcps
- mikrotik
- milicpu
- mimetypes
- minecraft
- miniflux
- minio
- misskey
- mkvcleaver
- modelstore
- modports
- mongosh
- mountpoint
- mqtt
- multihost
- nbclassic
- neko
- netbox
- netdata
- networkv
- nextcloud
- nitter
- nobind
- nocaptcha
- nocodb
- nodeport
- nodeports
- nohardlinks
- noisedash
- nordigen
- noreply
- notebookbar
- odbc
- oidc
- omada
- ookla
- organizr
- ornias
- ovpn
- passwrd
- penpot
- pgadmin
- pgid
- photoprism
- pihole
- plainhost
- plaxt
- playout
- plex
- plextraktsync
- portainer
- preconfigured
- prefs
- preload
- proto
- proxyhttp
- proxyhttps
- proxying
- proxymetrics
- puid
- putregexhere
- pvcname
- pvcpath
- pyspark
- qbitmanage
- quotum
- radarr
- raknet
- ramdisk
- rclone
- rcon
- rcontcp
- recaptha
- recordtypes
- recyclarr
- rediscreds
- redmine
- regexlist
- registeringats
- reneg
- replacementurlhere
- resolv
- restreamer
- retrobot
- rtmp
- rtmps
- rtmpserver
- sabnzbd
- schouten
- scipy
- seafile
- selfsigned
- sendgrid
- serpbear
- serverconfig
- servername
- serverstransports
- serviceaccount
- serviceexpert
- setgid
- setuid
- sgateway
- signup
- smallblock
- snmp
- somefile
- somethingelse
- sonarr
- sonarrsabnzbd
- sonatype
- speedtest
- speedtests
- srcsets
- ssvnc
- starttls
- statefulset
- staticdhcpleases
- staticfiles
- statping
- steamcommunica
- steammasterser
- subchart
- sublist
- subquestion
- subquestions
- supabase
- svcname
- syncthing
- tailscale
- targetport
- tccr
- tcdbinfo
- teamspeak
- testpassword
- testuser
- thanos
- themenamehere
- tlsoptions
- tlsstores
- totp
- traefik
- traefikservices
- traggo
- trakt
- truecharts
- truenas
- truetool
- ttrss
- umami
- unet
- unifi
- upsnap
- upstreams
- userspace
- vaapi
- valheim
- varlock
- vaultwarden
- vdev
- vikunja
- vm's
- wakeup
- watchyourlan
- webbasecontrol
- webpanel
- websecure
- websockets
- webworkers
- weejewel
- wger
- whisparr
- xsystems
- zabbix
- zerotier
- zwavejs

9
package.json Normal file
View File

@ -0,0 +1,9 @@
{
"devDependencies": {
"all-contributors-cli": "6.26.1"
},
"scripts": {
"contributors:add": "all-contributors add",
"contributors:generate": "all-contributors generate"
}
}

28
templates/README.md.tpl Normal file
View File

@ -0,0 +1,28 @@
---
title: README
---
## General Info
TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
However only installations using the TrueNAS SCALE Apps system are supported.
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/TRAINPLACEHOLDER/CHARTPLACEHOLDER)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
_All Rights Reserved - The TrueCharts Project_

28
templates/docs/README.md Normal file
View File

@ -0,0 +1,28 @@
---
title: README
---
## General Info
TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
However only installations using the TrueNAS SCALE Apps system are supported.
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/TRAINPLACEHOLDER/CHARTPLACEHOLDER)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
_All Rights Reserved - The TrueCharts Project_

View File

@ -0,0 +1,156 @@
{{- define "custom.repository.organization" -}}
TrueCharts
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/truecharts/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://charts.truecharts.org
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
For more information, please click here: [{{ template "chart.name" . }}](https://truecharts.org/charts/TRAINPLACEHOLDER/{{ template "chart.name" . }})
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
### TrueNAS SCALE
To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/SCALE/guides/scale-intro).
### Helm
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstall
### TrueNAS SCALE
**Upgrading, Rolling Back and Uninstalling the Chart**
To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/SCALE/guides/scale-intro).
### Helm
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
### Helm
{{- end -}}
{{- define "custom.configuration.readValues" -}}
#### Available Settings
Read through the values.yaml file. It has several commented out suggested values.
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/truecharts/library-charts/tree/main/charts/common).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
#### Configure using the command line
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
#### Configure using a yaml file
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.linking" -}}
#### Connecting to other charts
If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/manual/SCALE/guides/linking-apps) quick-start guide.
{{- end -}}
{{- define "custom.support" -}}
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
{{- end -}}
{{- define "custom.sponsors" -}}
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
{{- end -}}
{{- define "custom.copyright" -}}
All Rights Reserved - The TrueCharts Project
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.description" . }}
{{ template "chart.deprecationWarning" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.linking" . }}
{{ template "custom.support" . }}
---
{{ template "custom.sponsors" . }}
---
{{ template "custom.copyright" . }}

View File

@ -0,0 +1,6 @@
{{- define "custom.custom.app-readme" -}}
{{ template "chart.description" . }}
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
{{- end -}}
{{ template "custom.custom.app-readme" . }}

View File

@ -0,0 +1,22 @@
{{- define "custom.helm.introheader" -}}
# Default Helm-Values
{{- end -}}
{{- define "custom.helm.notes" -}}
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.
{{- end -}}
{{- define "custom.helm.copyright" -}}
All Rights Reserved - The TrueCharts Project
{{- end -}}
{{ template "custom.helm.introheader" . }}
{{ template "custom.helm.notes" . }}
{{ template "chart.valuesSection" . }}
{{ template "custom.helm.copyright" . }}

5
templates/docs/index.md Normal file
View File

@ -0,0 +1,5 @@
---
title: APPNAME
---
Currently we're reworking these intropages for each app, please use the menu on the left to select other available documentation pages for each app, including this one.

30
templates/helmignore.tpl Normal file
View File

@ -0,0 +1,30 @@
# 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
# docs folder
/docs
# icon
icon.png

View File

@ -0,0 +1,7 @@
- variable: addons
group: Addons
label: ""
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,277 @@
- variable: codeserver
label: Codeserver
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: service
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: NodePort
description: Deprecated CHANGE THIS
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
default: 36107
- variable: ingress
label: "Ingress"
schema:
additional_attrs: true
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:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: [{path: "/", pathType: "Prefix"}]
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: integrations
label: Integrations
description: Connect ingress with other charts
schema:
additional_attrs: true
type: dict
attrs:
- variable: traefik
label: Traefik
description: Connect ingress with Traefik
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: true
- variable: allowCors
label: 'Allow Cross Origin Requests (advanced)'
schema:
type: boolean
default: false
show_if: [["enabled", "=", true]]
- variable: entrypoints
label: Entrypoints
schema:
type: list
default: ["websecure"]
show_if: [["enabled", "=", true]]
items:
- variable: entrypoint
label: Entrypoint
schema:
type: string
- variable: middlewares
label: Middlewares
schema:
type: list
default: []
show_if: [["enabled", "=", true]]
items:
- variable: middleware
label: Middleware
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: name
schema:
type: string
default: ""
required: true
- variable: namespace
label: 'namespace (optional)'
schema:
type: string
default: ""
- variable: certManager
label: certManager
description: Connect ingress with certManager
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
- variable: certificateIssuer
label: certificateIssuer
description: defaults to chartname
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
- variable: ingressClassName
label: (Advanced/Optional) IngressClass Name
schema:
type: string
show_if: [["advanced", "=", true]]
default: ""
- variable: tls
label: TLS-Settings
schema:
type: list
show_if: [["advanced", "=", true]]
default: []
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: certificateIssuer
label: Use Cert-Manager clusterIssuer
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
schema:
type: string
default: ""
- variable: clusterCertificate
label: 'Cluster Certificate (Advanced)'
description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
schema:
type: string
show_if: [["certificateIssuer", "=", ""]]
default: ""
- variable: secretName
label: 'Use Custom Certificate Secret (Advanced)'
schema:
show_if: [["certificateIssuer", "=", ""]]
type: string
default: ""
- variable: scaleCert
label: 'Use TrueNAS SCALE Certificate (Deprecated)'
schema:
show_if: [["certificateIssuer", "=", ""]]
type: int
$ref:
- "definitions/certificate"
- variable: envList
label: Codeserver Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true

View File

@ -0,0 +1,36 @@
- variable: netshoot
label: Netshoot
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: envList
label: Netshoot Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true

View File

@ -0,0 +1,174 @@
- variable: vpn
label: VPN
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type
schema:
type: string
default: disabled
enum:
- value: disabled
description: disabled
- value: gluetun
description: Gluetun
- value: tailscale
description: Tailscale
- value: openvpn
description: OpenVPN (Deprecated)
- value: wireguard
description: Wireguard (Deprecated)
- variable: openvpn
label: OpenVPN Settings
schema:
additional_attrs: true
type: dict
show_if: [["type", "=", "openvpn"]]
attrs:
- variable: username
label: Authentication Username (Optional)
description: Authentication Username, Optional
schema:
type: string
default: ""
- variable: password
label: Authentication Password
description: Authentication Credentials
schema:
type: string
show_if: [["username", "!=", ""]]
default: ""
required: true
- variable: tailscale
label: Tailscale Settings
schema:
additional_attrs: true
type: dict
show_if: [["type", "=", "tailscale"]]
attrs:
- variable: authkey
label: Authentication Key
description: Provide an auth key to automatically authenticate the node as your user account.
schema:
type: string
private: true
default: ""
- variable: auth_once
label: Auth Once
description: Only attempt to log in if not already logged in.
schema:
type: boolean
default: true
- variable: accept_dns
label: Accept DNS
description: Accept DNS configuration from the admin console.
schema:
type: boolean
default: false
- variable: userspace
label: Userspace
description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
schema:
type: boolean
default: false
- variable: routes
label: Routes
description: Expose physical subnet routes to your entire Tailscale network.
schema:
type: string
default: ""
- variable: dest_ip
label: Destination IP
description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
schema:
type: string
default: ""
- variable: sock5_server
label: Sock5 Server
description: The address on which to listen for SOCKS5 proxying into the tailscale net.
schema:
type: string
default: ""
- variable: outbound_http_proxy_listen
label: Outbound HTTP Proxy Listen
description: The address on which to listen for HTTP proxying into the tailscale net.
schema:
type: string
default: ""
- variable: extra_args
label: Extra Args
description: Extra Args
schema:
type: string
default: ""
- variable: daemon_extra_args
label: Tailscale Daemon Extra Args
description: Tailscale Daemon Extra Args
schema:
type: string
default: ""
- variable: killSwitch
label: Enable Killswitch
schema:
type: boolean
show_if: [["type", "!=", "disabled"]]
default: true
- variable: excludedNetworks_IPv4
label: Killswitch Excluded IPv4 networks
description: List of Killswitch Excluded IPv4 Addresses
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv4
label: IPv4 Network
schema:
type: string
required: true
- variable: excludedNetworks_IPv6
label: Killswitch Excluded IPv6 networks
description: "List of Killswitch Excluded IPv6 Addresses"
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv6
label: IPv6 Network
schema:
type: string
required: true
- variable: configFile
label: VPN Config File Location
schema:
type: string
show_if: [["type", "!=", "disabled"]]
default: ""
- variable: envList
label: VPN Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
max_length: 10240

View File

@ -0,0 +1,18 @@
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: command
label: Command
schema:
type: list
default: []
items:
- variable: param
label: Param
schema:
type: string

View File

@ -0,0 +1,31 @@
- variable: envList
label: Extra Environment Variables
description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
schema:
type: list
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string

View File

@ -0,0 +1,6 @@
- variable: main
label: Main Container
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,430 @@
# - variable: horizontalPodAutoscaler
# group: Advanced
# label: (Advanced) Horizontal Pod Autoscaler
# schema:
# type: list
# default: []
# items:
# - variable: hpaEntry
# label: HPA Entry
# schema:
# additional_attrs: true
# type: dict
# attrs:
# - variable: name
# label: Name
# schema:
# type: string
# required: true
# default: ""
# - variable: enabled
# label: Enabled
# schema:
# type: boolean
# default: false
# show_subquestions_if: true
# subquestions:
# - variable: target
# label: Target
# description: Deployment name, Defaults to Main Deployment
# schema:
# type: string
# default: ""
# - variable: minReplicas
# label: Minimum Replicas
# schema:
# type: int
# default: 1
# - variable: maxReplicas
# label: Maximum Replicas
# schema:
# type: int
# default: 5
# - variable: targetCPUUtilizationPercentage
# label: Target CPU Utilization Percentage
# schema:
# type: int
# default: 80
# - variable: targetMemoryUtilizationPercentage
# label: Target Memory Utilization Percentage
# schema:
# type: int
# default: 80
- variable: networkPolicy
group: Advanced
label: (Advanced) Network Policy
schema:
type: list
default: []
items:
- variable: netPolicyEntry
label: Network Policy Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: policyType
label: Policy Type
schema:
type: string
default: ""
enum:
- value: ""
description: Default
- value: ingress
description: Ingress
- value: egress
description: Egress
- value: ingress-egress
description: Ingress and Egress
- variable: egress
label: Egress
schema:
type: list
default: []
items:
- variable: egressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: to
label: To
schema:
type: list
default: []
items:
- variable: toEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP
- variable: ingress
label: Ingress
schema:
type: list
default: []
items:
- variable: ingressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: from
label: From
schema:
type: list
default: []
items:
- variable: fromEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP

View File

@ -0,0 +1,8 @@
- variable: TZ
label: Timezone
group: "General Settings"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"

View File

@ -0,0 +1,29 @@
- variable: docs
group: Documentation
label: Please read the documentation at https://truecharts.org
description: Please read the documentation at
<br /><a href="https://truecharts.org">https://truecharts.org</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDocs
label: I have checked the documentation
schema:
type: boolean
default: true
- variable: donateNag
group: Documentation
label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
description: Please consider supporting TrueCharts, see
<br /><a href="https://truecharts.org/sponsor">https://truecharts.org/sponsor</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true

View File

@ -0,0 +1,13 @@
- variable: global
group: General Settings
label: "Global Settings"
schema:
additional_attrs: true
type: dict
attrs:
- variable: stopAll
label: Stop All
description: "Stops All Running pods and hibernates cnpg"
schema:
type: boolean
default: false

View File

@ -0,0 +1,33 @@
groups:
- name: Container Image
description: Image to be used for container
- name: General Settings
description: General Deployment Settings
- name: Workload Settings
description: Workload Settings
- name: App Configuration
description: App Specific Config Options
- name: Networking and Services
description: Configure Network and Services for Container
- name: Storage and Persistence
description: Persist and Share Data that is Separate from the Container
- name: Ingress
description: Ingress Configuration
- name: Security and Permissions
description: Configure Security Context and Permissions
- name: Resources and Devices
description: "Specify Resources/Devices to be Allocated to Workload"
- name: Middlewares
description: Traefik Middlewares
- name: Metrics
description: Metrics
- name: Addons
description: Addon Configuration
- name: Backup Configuration
description: Configure Velero Backup Schedule
- name: Advanced
description: Advanced Configuration
- name: Postgresql
description: Postgresql
- name: Documentation
description: Documentation

View File

@ -0,0 +1,118 @@
- variable: podOptions
group: "General Settings"
label: "Global Pod Options (Advanced)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: expertPodOpts
label: "Expert - Pod Options"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
label: "Host Networking"
schema:
type: boolean
default: false
- variable: dnsConfig
label: "DNS Configuration"
schema:
type: dict
additional_attrs: true
attrs:
- variable: options
label: "Options"
schema:
type: list
default: [{"name": "ndots", "value": "1"}]
items:
- variable: optionsEntry
label: "Option Entry"
schema:
type: dict
additional_attrs: true
attrs:
- variable: name
label: "Name"
schema:
type: string
required: true
- variable: value
label: "Value"
schema:
type: string
- variable: nameservers
label: "Nameservers"
schema:
type: list
default: []
items:
- variable: nsEntry
label: "Nameserver Entry"
schema:
type: string
required: true
- variable: searches
label: "Searches"
schema:
type: list
default: []
items:
- variable: searchEntry
label: "Search Entry"
schema:
type: string
required: true
- variable: imagePullSecretList
group: "General Settings"
label: "Image Pull Secrets"
schema:
type: list
default: []
items:
- variable: pullsecretentry
label: "Pull Secret"
schema:
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: true
- variable: data
label: Data
schema:
type: dict
additional_attrs: true
attrs:
- variable: registry
label: "Registry"
schema:
type: string
required: true
default: "https://index.docker.io/v1/"
- variable: username
label: "Username"
schema:
type: string
required: true
default: ""
- variable: password
label: "Password"
schema:
type: string
required: true
private: true
default: ""
- variable: email
label: "Email"
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,6 @@
protocols:
- "$kubernetes-resource_configmap_tcportal-open_protocol"
host:
- "$kubernetes-resource_configmap_tcportal-open_host"
ports:
- "$kubernetes-resource_configmap_tcportal-open_port"

View File

@ -0,0 +1,106 @@
- variable: resources
group: Resources and Devices
label: "Resource Limits"
schema:
additional_attrs: true
type: dict
attrs:
- variable: limits
label: Advanced Limit Resource Consumption
schema:
additional_attrs: true
type: dict
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 4000m
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: RAM
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 8Gi
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: 'gpu.intel.com/i915'
label: Add Intel i915 GPUs
schema:
type: int
default: 0
- variable: 'nvidia.com/gpu'
label: Add NVIDIA GPUs (Experimental)
schema:
type: int
default: 0
- variable: 'amd.com/gpu'
label: Add AMD GPUs
schema:
type: int
default: 0
- variable: requests
label: "Minimum Resources Required (request)"
schema:
additional_attrs: true
type: dict
hidden: true
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 10m
hidden: true
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: "RAM"
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation"
schema:
type: string
default: 50Mi
hidden: true
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: deviceList
label: Mount USB Devices
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: deviceListEntry
label: Device
schema:
additional_attrs: true
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: device
hidden: true
- variable: readOnly
label: readOnly
schema:
type: boolean
default: false
- variable: hostPath
label: Host Device Path
description: Path to the device on the host system
schema:
type: path
- variable: mountPath
label: Container Device Path
description: Path inside the container the device is mounted
schema:
type: string
default: "/dev/ttyACM0"

View File

@ -0,0 +1,224 @@
- variable: integrations
label: Integrations
description: Connect ingress with other charts
schema:
additional_attrs: true
type: dict
attrs:
- variable: traefik
label: Traefik
description: Connect ingress with Traefik
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: true
- variable: allowCors
label: 'Allow Cross Origin Requests (advanced)'
schema:
type: boolean
default: false
show_if: [["enabled", "=", true]]
- variable: entrypoints
label: Entrypoints
schema:
type: list
default: ["websecure"]
show_if: [["enabled", "=", true]]
items:
- variable: entrypoint
label: Entrypoint
schema:
type: string
- variable: middlewares
label: Middlewares
schema:
type: list
default: []
show_if: [["enabled", "=", true]]
items:
- variable: middleware
label: Middleware
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: name
schema:
type: string
default: ""
required: true
- variable: namespace
label: 'namespace (optional)'
schema:
type: string
default: ""
- variable: certManager
label: certManager
description: Connect ingress with certManager
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
- variable: certificateIssuer
label: certificateIssuer
description: defaults to chartname
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: homepage
label: Homepage
description: Connect ingress with Homepage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
- variable: name
label: Name (Optional)
description: Defaults to chart name
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: description
label: Description (Optional)
description: Defaults to chart description
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: icon
label: Icon (Optional)
description: Defaults to chart icon
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: group
label: Group
schema:
type: string
required: true
default: "default"
show_if: [["enabled", "=", true]]
- variable: widget
label: Widget Settings
schema:
type: dict
additional_attrs: true
show_if: [["enabled", "=", true]]
attrs:
- variable: enabled
label: Enable Widget
description: When disabled all widget annotations are skipped.
schema:
type: boolean
default: true
- variable: custom
label: Options
schema:
type: dict
additional_attrs: true
attrs:
- variable: key
label: API-key (key)
schema:
type: string
default: ""
- variable: customkv
label: Custom Options
schema:
type: list
default: []
items:
- variable: option
label: Option
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
default: ""
required: true
- variable: value
label: Value
schema:
type: string
default: ""
required: true
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
- variable: ingressClassName
label: (Advanced/Optional) IngressClass Name
schema:
type: string
show_if: [["advanced", "=", true]]
default: ""
- variable: tls
label: TLS-Settings
schema:
type: list
show_if: [["advanced", "=", true]]
default: []
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: certificateIssuer
label: Use Cert-Manager clusterIssuer
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
schema:
type: string
default: ""
- variable: clusterCertificate
label: 'Cluster Certificate (Advanced)'
description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
schema:
type: string
show_if: [["certificateIssuer", "=", ""]]
default: ""
- variable: secretName
label: 'Use Custom Certificate Secret (Advanced)'
schema:
show_if: [["certificateIssuer", "=", ""]]
type: string
default: ""

View File

@ -0,0 +1,49 @@
- 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:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: [{path: "/", pathType: "Prefix"}]
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix

View File

@ -0,0 +1,242 @@
- variable: ingressList
label: Add Manual Custom Ingresses
group: Ingress
schema:
type: list
default: []
items:
- variable: ingressListEntry
label: Custom Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: ingressClassName
label: IngressClass Name
schema:
type: string
default: ""
- variable: hosts
label: Hosts
schema:
type: list
default: []
items:
- variable: hostEntry
label: Host
schema:
additional_attrs: true
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:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: overrideService
label: Linked Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Service Name
schema:
type: string
default: ""
- variable: port
label: Service Port
schema:
type: int
- variable: tls
label: TLS-Settings
schema:
type: list
default: []
show_if: [["certificateIssuer", "=", ""]]
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: certificateIssuer
label: Use Cert-Manager clusterIssuer
description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
schema:
type: string
default: ""
- variable: clusterCertificate
label: 'Cluster Certificate (Advanced)'
description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
schema:
type: string
show_if: [["certificateIssuer", "=", ""]]
default: ""
- variable: secretName
label: Use Custom Secret (Advanced)
schema:
type: string
show_if: [["certificateIssuer", "=", ""]]
default: ""
- variable: integrations
label: Integrations
description: Connect ingress with other charts
schema:
additional_attrs: true
type: dict
attrs:
- variable: traefik
label: Traefik
description: Connect ingress with Traefik
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: true
- variable: allowCors
label: "Allow Cross Origin Requests"
schema:
type: boolean
default: false
show_if: [["enabled", "=", true]]
- variable: entrypoints
label: Entrypoints
schema:
type: list
default: ["websecure"]
show_if: [["enabled", "=", true]]
items:
- variable: entrypoint
label: Entrypoint
schema:
type: string
- variable: middlewares
label: Middlewares
schema:
type: list
default: []
show_if: [["enabled", "=", true]]
items:
- variable: middleware
label: Middleware
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: name
schema:
type: string
default: ""
required: true
- variable: namespace
label: namespace
schema:
type: string
default: ""
- variable: certManager
label: certManager
description: Connect ingress with certManager
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: true
- variable: certificateIssuer
label: certificateIssuer
description: defaults to chartname
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: homepage
label: Homepage
description: Connect ingress with Homepage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
- variable: name
label: Name
description: defaults to chartname
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: description
label: Description
description: defaults to chart description
schema:
type: string
default: ""
show_if: [["enabled", "=", true]]
- variable: group
label: Group
schema:
type: string
required: true
default: "default"
show_if: [["enabled", "=", true]]

View File

@ -0,0 +1,7 @@
- variable: ingress
label: ""
group: Ingress
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,21 @@
- variable: metrics
group: Metrics
label: Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:

View File

@ -0,0 +1,21 @@
- variable: metrics
group: Metrics
label: Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:

View File

@ -0,0 +1,21 @@
- variable: metrics
group: Metrics
label: Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:

View File

@ -0,0 +1,14 @@
- variable: prometheusRule
label: PrometheusRule
description: Enable and configure Prometheus Rules for the App.
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
type: boolean
default: false
# TODO: Rule List section

View File

@ -0,0 +1,266 @@
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: pvc
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- value: iscsi
description: iSCSI Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: iscsi
label: iSCSI Options
schema:
show_if: [["type", "=", "iscsi"]]
type: dict
additional_attrs: true
attrs:
- variable: targetPortal
label: targetPortal
schema:
type: string
required: true
default: ""
- variable: iqn
label: iqn
schema:
type: string
required: true
default: ""
- variable: lun
label: lun
schema:
type: int
default: 0
- variable: authSession
label: authSession
schema:
type: dict
additional_attrs: true
attrs:
- variable: username
label: username
schema:
type: string
default: ""
- variable: password
label: password
schema:
type: string
default: ""
- variable: usernameInitiator
label: usernameInitiator
schema:
type: string
default: ""
- variable: passwordInitiator
label: passwordInitiator
schema:
type: string
default: ""
- variable: authDiscovery
label: authDiscovery
schema:
type: dict
additional_attrs: true
attrs:
- variable: username
label: username
schema:
type: string
default: ""
- variable: password
label: password
schema:
type: string
default: ""
- variable: usernameInitiator
label: usernameInitiator
schema:
type: string
default: ""
- variable: passwordInitiator
label: passwordInitiator
schema:
type: string
default: ""
- variable: autoPermissions
label: Automatic Permissions Configuration
description: Automatically set permissions
schema:
show_if: [["type", "!=", "pvc"]]
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: chown
label: Run CHOWN
description: |
It will run CHOWN on the path with the given fsGroup
schema:
type: boolean
default: false
- variable: chmod
label: Run CHMOD
description: |
It will run CHMOD on the path with the given value</br>
Format should be 3 digits, e.g. 770
schema:
type: string
valid_chars: '[0-9]{3}'
default: ""
- variable: recursive
label: Recursive
description: |
It will run CHOWN and CHMOD recursively
schema:
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size quotum of Storage (Do NOT REDUCE after installation)
description: This value can ONLY be INCREASED after the installation
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: storageClass
label: 'storageClass (Advanced)'
description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ""
- variable: static
label: 'Static Fixed PVC Bindings (Experimental)'
description: Link a PVC to a specific storage location
schema:
show_if: [["type", "=", "pvc"]]
type: dict
additional_attrs: true
attrs:
- variable: mode
label: mode
description: |
disabled: use normal dynamic PVCs
smb: connect to an SMB share
nfs: connect to an NFS share
schema:
type: string
default: "disabled"
enum:
- value: disabled
description: disabled
- value: smb
description: smb
- value: nfs
description: nfs
- variable: server
label: Server
description: server to connect to
schema:
type: string
show_if: [["mode", "!=", "disabled"]]
default: "myserver"
- variable: share
label: Share
description: share to connect to
schema:
type: string
show_if: [["mode", "!=", "disabled"]]
default: "/myshare"
- variable: user
label: User
description: connecting user
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: "myuser"
- variable: domain
label: Domain
description: user domain
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: ""
- variable: password
label: Password
description: connecting password
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: ""
- variable: volumeSnapshots
label: 'Volume Snapshots (Experimental)'
description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
schema:
show_if: [["type", "=", "pvc"]]
type: list
default: []
items:
- variable: volumeSnapshotEntry
label: Custom volumeSnapshot
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
schema:
type: string
default: "mysnapshot"
required: true
- variable: volumeSnapshotClassName
label: 'volumeSnapshot Class Name (Advanced)'
description: For use with PVCs using a non-default storageClass
schema:
type: string
default: ""

View File

@ -0,0 +1,289 @@
- variable: persistenceList
label: Additional App Storage
group: Storage and Persistence
schema:
type: list
default: []
items:
- variable: persistenceListEntry
label: Custom Storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the storage
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: hostPath
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: iscsi
label: iSCSI Options
schema:
show_if: [["type", "=", "iscsi"]]
type: dict
additional_attrs: true
attrs:
- variable: targetPortal
label: targetPortal
schema:
type: string
required: true
default: ""
- variable: iqn
label: iqn
schema:
type: string
required: true
default: ""
- variable: lun
label: lun
schema:
type: int
default: 0
- variable: authSession
label: authSession
schema:
type: dict
additional_attrs: true
attrs:
- variable: username
label: username
schema:
type: string
default: ""
- variable: password
label: password
schema:
type: string
default: ""
- variable: usernameInitiator
label: usernameInitiator
schema:
type: string
default: ""
- variable: passwordInitiator
label: passwordInitiator
schema:
type: string
default: ""
- variable: authDiscovery
label: authDiscovery
schema:
type: dict
additional_attrs: true
attrs:
- variable: username
label: username
schema:
type: string
default: ""
- variable: password
label: password
schema:
type: string
default: ""
- variable: usernameInitiator
label: usernameInitiator
schema:
type: string
default: ""
- variable: passwordInitiator
label: passwordInitiator
schema:
type: string
default: ""
- variable: autoPermissions
label: Automatic Permissions Configuration
description: Automatically set permissions
schema:
show_if: [["type", "!=", "pvc"]]
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: chown
label: Run CHOWN
description: |
It will run CHOWN on the path with the given fsGroup
schema:
type: boolean
default: false
- variable: chmod
label: Run CHMOD
description: |
It will run CHMOD on the path with the given value</br>
Format should be 3 digits, e.g. 770
schema:
type: string
valid_chars: '[0-9]{3}'
default: ""
- variable: recursive
label: Recursive
description: |
It will run CHOWN and CHMOD recursively
schema:
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: mountPath
label: Mount Path
description: Path inside the container the storage is mounted
schema:
type: string
default: ""
required: true
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size Quotum of Storage
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: storageClass
label: 'storageClass (Advanced)'
description: 'sets the storageClass to something other than iX default. Only for advanced usecases!'
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: ""
- variable: static
label: 'Static Fixed PVC Bindings (Experimental)'
description: Link a PVC to a specific storage location
schema:
show_if: [["type", "=", "pvc"]]
type: dict
additional_attrs: true
attrs:
- variable: mode
label: mode
description: |
disabled: use normal dynamic PVCs
smb: connect to an SMB share
nfs: connect to an NFS share
schema:
type: string
default: "disabled"
enum:
- value: "disabled"
description: disabled
- value: smb
description: smb
- value: nfs
description: nfs
- variable: server
label: Server
description: server to connect to
schema:
type: string
show_if: [["mode", "!=", "disabled"]]
default: "myserver"
- variable: share
label: Share
description: share to connect to
schema:
type: string
show_if: [["mode", "!=", "disabled"]]
default: "/myshare"
- variable: user
label: User
description: connecting user
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: "myuser"
- variable: domain
label: Domain
description: user domain
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: ""
- variable: password
label: Password
description: connecting password
schema:
type: string
show_if: [["mode", "=", "smb"]]
default: ""
- variable: volumeSnapshots
label: 'Volume Snapshots (Experimental)'
description: Add an entry to the list to force creation of a volumeSnapshot of this PVC
schema:
show_if: [["type", "=", "pvc"]]
type: list
default: []
items:
- variable: volumeSnapshotEntry
label: Custom volumeSnapshot
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: 'WARNING: renaming this, means deletion of the snapshot with the old name!'
schema:
type: string
default: "mysnapshot"
required: true
- variable: volumeSnapshotClassName
label: 'volumeSnapshot Class Name (Advanced)'
description: For use with PVCs using a non-default storageClass
schema:
type: string
default: ""

View File

@ -0,0 +1,8 @@
- variable: persistence
label: Integrated Persistent Storage
description: Integrated Persistent Storage
group: Storage and Persistence
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,5 @@
- variable: volumeClaimTemplates
label: Integrated Persistent Storage
description: Integrated Persistent Storage
group: Storage and Persistence
schema:

View File

@ -0,0 +1,425 @@
- variable: cnpg
group: Postgresql
label: "CloudNative-PG (CNPG)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Postgresql Database"
schema:
additional_attrs: true
type: dict
attrs:
- variable: hibernate
label: Hibernate
description: "enable to safely hibernate and shutdown the postgresql cluster"
schema:
type: boolean
default: false
- variable: mode
label: Mode
description: 'Cluster mode of operation. Available modes: standalone - default mode. Creates new or updates an existing CNPG cluster. recovery - Same as standalone but creates a cluster from a backup, object store or via pg_basebackup replica - Creates a replica cluster from an existing CNPG cluster. # TODO.'
schema:
type: string
default: "standalone"
enum:
- value: standalone
description: standalone
- value: replica
description: replica
- value: recovery
description: recovery
- variable: cluster
label: "Cluster Settings"
schema:
additional_attrs: true
type: dict
attrs:
- variable: instances
label: Instances
schema:
type: int
default: 1
- variable: singleNode
label: singleNode
schema:
type: boolean
default: true
hidden: true
- variable: storage
label: "Storage"
schema:
additional_attrs: true
type: dict
attrs:
- variable: size
label: Size
schema:
type: string
default: "256Gi"
- variable: walStorage
label: "WAL Storage"
schema:
additional_attrs: true
type: dict
attrs:
- variable: size
label: Size
schema:
type: string
default: "256Gi"
- variable: monitoring
label: "Monitoring Settings"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enablePodMonitor
label: "enablePodMonitor"
schema:
type: boolean
default: true
- variable: disableDefaultQueries
label: "disableDefaultQueries"
schema:
type: boolean
default: false
- variable: pooler
label: "Pooler Settings"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
- variable: instances
label: Instances
schema:
type: int
show_if: [["enabled", "=", true]]
default: 1
- variable: createRO
label: "Create ReadOnly Instance"
schema:
type: boolean
show_if: [["enabled", "=", true]]
default: false
- variable: backups
label: "Backup Settings (Experimental)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "enabled"
schema:
type: boolean
default: false
- variable: serverName
label: "serverName"
schema:
type: string
default: ""
- variable: revision
label: "serverName"
schema:
type: int
- variable: endpointURL
label: "endpointURL"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: destinationPath
label: "destinationPath"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: retentionPolicy
label: "retentionPolicy"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "30d"
- variable: provider
label: "provider"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "s3"
enum:
- value: s3
description: S3
- value: azure
description: Azure
- value: google
description: Google
- variable: s3
label: "s3"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "s3"]]
attrs:
- variable: region
label: "region"
schema:
type: string
default: ""
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: accessKey
label: "accessKey"
schema:
type: string
default: ""
- variable: secretKey
label: "secretKey"
schema:
type: string
default: ""
- variable: azure
label: "azure (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "azure"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: connectionString
label: "connectionString"
schema:
type: string
default: ""
- variable: storageAccount
label: "storageAccount"
schema:
type: string
default: ""
- variable: storageKey
label: "storageKey"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: storageSasToken
label: "storageSasToken"
schema:
type: string
default: ""
- variable: containerName
label: "containerName"
schema:
type: string
default: ""
- variable: serviceName
label: "serviceName"
schema:
type: string
default: "blob"
- variable: inheritFromAzureAD
label: "inheritFromAzureAD"
schema:
type: boolean
default: false
- variable: google
label: "google (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "google"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: gkeEnvironment
label: "gkeEnvironment"
schema:
type: string
default: ""
- variable: applicationCredentials
label: "applicationCredentials"
schema:
type: string
default: ""
- variable: recovery
label: "Recovery Settings (Experimental)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: "enabled"
schema:
type: boolean
default: false
- variable: serverName
label: "serverName"
schema:
type: string
default: ""
- variable: revision
label: "serverName"
schema:
type: int
- variable: endpointURL
label: "endpointURL"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: method
label: "method"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "object_store"
- variable: backupName
label: "backupName"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: provider
label: "provider"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "s3"
enum:
- value: s3
description: S3
- value: azure
description: Azure
- value: google
description: Google
- variable: s3
label: "s3"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "s3"]]
attrs:
- variable: region
label: "region"
schema:
type: string
default: ""
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: accessKey
label: "accessKey"
schema:
type: string
default: ""
- variable: secretKey
label: "secretKey"
schema:
type: string
default: ""
- variable: azure
label: "azure (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "azure"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: connectionString
label: "connectionString"
schema:
type: string
default: ""
- variable: storageAccount
label: "storageAccount"
schema:
type: string
default: ""
- variable: storageKey
label: "storageKey"
schema:
type: string
default: ""
- variable: storageSasToken
label: "storageSasToken"
schema:
type: string
default: ""
- variable: containerName
label: "containerName"
schema:
type: string
default: ""
- variable: serviceName
label: "serviceName"
schema:
type: string
default: "blob"
- variable: inheritFromAzureAD
label: "inheritFromAzureAD"
schema:
type: boolean
default: false
- variable: google
label: "google (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "google"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: gkeEnvironment
label: "gkeEnvironment"
schema:
type: string
default: ""
- variable: applicationCredentials
label: "applicationCredentials"
schema:
type: string
default: ""

View File

@ -0,0 +1 @@
default: 1

View File

@ -0,0 +1 @@
default: 3

View File

@ -0,0 +1 @@
default: 2

View File

@ -0,0 +1,6 @@
- variable: replicas
description: Number of desired pod replicas
label: Desired Replicas
schema:
type: int
required: true

View File

@ -0,0 +1,18 @@
- variable: advanced
label: Show Advanced Settings
description: Advanced settings are not covered by TrueCharts Support
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: true

View File

@ -0,0 +1,14 @@
# Settings from questions.yaml get appended here on a per-app basis
- variable: PUID
label: Process User ID - PUID
description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
schema:
type: int
show_if: [["runAsUser", "=", 0]]
default: 568
- variable: UMASK
label: UMASK
description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
schema:
type: string
default: "0022"

View File

@ -0,0 +1,27 @@
- variable: pod
label: Pod
schema:
additional_attrs: true
type: dict
attrs:
- variable: fsGroupChangePolicy
label: "When should we take ownership?"
schema:
type: string
default: OnRootMismatch
enum:
- value: OnRootMismatch
description: OnRootMismatch
- value: Always
description: Always
- variable: supplementalGroups
label: Supplemental Groups
schema:
type: list
default: []
items:
- variable: supplementalGroupsEntry
label: Supplemental Group
schema:
type: int
# Settings from questions.yaml get appended here on a per-app basis

View File

@ -0,0 +1,14 @@
- variable: securityContext
group: Security and Permissions
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: container
label: Container
schema:
additional_attrs: true
type: dict
attrs:
# Settings from questions.yaml get appended here on a per-app basis

View File

@ -0,0 +1,78 @@
- variable: scaleExternalInterface
description: Add External Interfaces
label: Add external Interfaces
group: Networking
schema:
type: list
items:
- variable: interfaceConfiguration
description: Interface Configuration
label: Interface Configuration
schema:
additional_attrs: true
type: dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: hostInterface
description: Please Specify Host Interface
label: Host Interface
schema:
type: string
required: true
$ref:
- "definitions/interface"
- variable: ipam
description: Define how IP Address will be managed
label: IP Address Management
schema:
additional_attrs: true
type: dict
required: true
attrs:
- variable: type
description: Specify type for IPAM
label: IPAM Type
schema:
type: string
required: true
enum:
- value: dhcp
description: Use DHCP
- value: static
description: Use Static IP
- variable: staticIPConfigurations
label: Static IP Addresses
schema:
type: list
show_if: [["type", "=", "static"]]
items:
- variable: staticIP
label: Static IP
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: Static Routes
schema:
type: list
show_if: [["type", "=", "static"]]
items:
- variable: staticRouteConfiguration
label: Static Route Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: destination
label: Destination
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: Gateway
schema:
type: ipaddr
cidr: false
required: true

View File

@ -0,0 +1,8 @@
- variable: serviceexpert
group: Networking and Services
label: Show Expert Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:

View File

@ -0,0 +1,134 @@
- variable: serviceList
label: Add Manual Custom Services
group: Networking and Services
schema:
type: list
default: []
items:
- variable: serviceListEntry
label: Custom Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the service
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- value: Simple
description: Deprecated CHANGE THIS
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: advancedsvcset
label: Show Advanced Service Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: Specify the IP Policy
schema:
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: IP Families
description: (Advanced) The IP Families that should be used
schema:
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- variable: portsList
label: Additional Service Ports
schema:
type: list
default: []
items:
- variable: portsListEntry
label: Custom ports
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Port
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Port Name
schema:
type: string
default: ""
- variable: protocol
label: Port Type
schema:
type: string
default: tcp
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
required: true
- variable: port
label: Container Port
schema:
type: int
required: true

View File

@ -0,0 +1,7 @@
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,7 @@
- variable: service
group: Networking and Services
label: Configure Service(s)
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,17 @@
- 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 and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: ClusterIP
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)

View File

@ -0,0 +1,13 @@
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: "Service's Port(s) Configuration"
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,17 @@
- 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 and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)

View File

@ -0,0 +1,24 @@
- variable: addPrefix
label: Add Prefix
schema:
type: list
default: []
items:
- variable: addPrefixEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: prefix
label: Prefix
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,42 @@
- variable: basicAuth
label: basicAuth
schema:
type: list
default: []
items:
- variable: basicAuthEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: users
label: Users
schema:
type: list
default: []
items:
- variable: usersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: username
label: Username
schema:
type: string
required: true
default: ""
- variable: password
label: Password
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,51 @@
- variable: buffering
label: Buffering
schema:
type: list
default: []
items:
- variable: bufferingEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: maxRequestBodyBytes
label: Max Request Body Bytes
description: Leave empty and it won't be set
schema:
type: string
valid_chars: '^[0-9]*$'
default: ""
- variable: memRequestBodyBytes
label: Mem Request Body Bytes
description: Leave empty and it won't be set
schema:
type: string
valid_chars: '^[0-9]*$'
default: ""
- variable: maxResponseBodyBytes
label: Max Response Body Bytes
description: Leave empty and it won't be set
schema:
type: string
valid_chars: '^[0-9]*$'
default: ""
- variable: memResponseBodyBytes
label: Mem Response Body Bytes
description: Leave empty and it won't be set
schema:
type: string
valid_chars: '^[0-9]*$'
default: ""
- variable: retryExpression
label: Retry Expression
description: Leave empty and it won't be set
schema:
type: string
default: ""

View File

@ -0,0 +1,29 @@
- variable: chain
label: Chain
schema:
type: list
default: []
items:
- variable: chainEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: middlewares
label: Middlewares to Chain
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,24 @@
- variable: customFrameOptionsValue
label: Custom Frame Options Value
schema:
type: list
default: []
items:
- variable: customFrameOptionsValueEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: X-Frame-Options Header Value
description: The value of the header.
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,43 @@
- variable: customRequestHeaders
label: Custom Request Headers
schema:
type: list
default: []
items:
- variable: customRequestHeadersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: headers
label: Headers to Add
schema:
type: list
default: []
items:
- variable: headersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Header Name
description: Name of custom header to be added to requests, eg. X-Custom-Header
schema:
valid_chars: ^[a-zA-Z0-9_\-]*$
type: string
required: true
default: ""
- variable: value
label: Header Value
description: The value of the header. If the value is empty, the header will be removed.
schema:
type: string
default: ""

View File

@ -0,0 +1,43 @@
- variable: customResponseHeaders
label: Custom Response Headers
schema:
type: list
default: []
items:
- variable: customResponseHeadersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: headers
label: Headers to Add
schema:
type: list
default: []
items:
- variable: headersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Header Name
description: Name of custom header to be added to responses, eg. X-Custom-Header
schema:
valid_chars: ^[a-zA-Z0-9_\-]*$
type: string
required: true
default: ""
- variable: value
label: Header Value
description: The value of the header. If the value is empty, the header will be removed.
schema:
type: string
default: ""

View File

@ -0,0 +1,70 @@
- variable: forwardAuth
label: forwardAuth
schema:
type: list
default: []
items:
- variable: basicAuthEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: address
label: Address
schema:
type: string
required: true
default: ""
- variable: trustForwardHeader
label: trustForwardHeader
schema:
type: boolean
default: false
- variable: tls
label: TLS
schema:
additional_attrs: true
type: dict
attrs:
- variable: insecureSkipVerify
label: insecureSkipVerify (expert)
description: >-
This disables all TLS certificate validation on communications with the authentication endpoint.
This could be a security risk and should only be used if you know what you are doing.
schema:
type: boolean
default: false
- variable: authResponseHeadersRegex
label: authResponseHeadersRegex
schema:
type: string
default: ""
- variable: authResponseHeaders
label: authResponseHeaders
schema:
type: list
default: []
items:
- variable: authResponseHeadersEntry
label: ""
schema:
type: string
default: ""
- variable: authRequestHeaders
label: authRequestHeaders
schema:
type: list
default: []
items:
- variable: authRequestHeadersEntry
label: ""
schema:
type: string
default: ""

View File

@ -0,0 +1,32 @@
- variable: forwardedHeaders
label: Accept Forwarded Headers
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: trustedIPs
label: Trusted IPs
description: Trust Forwarded Headers from specific IPs.
schema:
type: list
default: []
items:
- variable: trustedIPsEntry
label: ""
schema:
type: string
required: true
default: ""
- variable: insecureMode
label: Insecure Mode
description: Always Trust Forwarded Headers
schema:
type: boolean
default: false

View File

@ -0,0 +1,106 @@
- variable: geoBlock
label: GeoBlock
schema:
type: list
default: []
items:
- variable: geoBlockEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: This is a 3rd party plugin and not maintained by TrueCharts,
for more information go to <a href="https://github.com/PascalMinder/geoblock">geoblock</a>
schema:
type: string
required: true
default: ""
- variable: allowLocalRequests
label: Allow Local Requests
description: If set to true, will not block request from Private IP Ranges
schema:
type: boolean
default: true
- variable: logLocalRequests
label: Log Local Requests
description: If set to true, will log every connection from any IP in the private IP range
schema:
type: boolean
default: false
- variable: logAllowedRequests
label: Log Allowed Requests
description: If set to true, will show a log message with the IP and the country of origin if a request is allowed.
schema:
type: boolean
default: false
- variable: logApiRequests
label: Log API Requests
description: If set to true, will show a log message for every API hit.
schema:
type: boolean
default: false
- variable: api
label: API
description: Defines the API URL for the IP to Country resolution. The IP to fetch can be added with {ip} to the URL.
schema:
type: string
required: true
default: https://get.geojs.io/v1/ip/country/{ip}
- variable: apiTimeoutMs
label: API Timeout in ms
description: Timeout for the call to the api uri.
schema:
type: int
required: true
default: 500
- variable: cacheSize
label: Cache Size
description: Defines the max size of the LRU (least recently used) cache.
schema:
type: int
required: true
default: 25
- variable: forceMonthlyUpdate
label: Force Monthly Update
description: Even if an IP stays in the cache for a period of a month (about 30 x 24 hours), it must be fetch again after a month.
schema:
type: boolean
default: true
- variable: allowUnknownCountries
label: Allow Unknown Countries
description: Some IP addresses have no country associated with them. If this option is set to true, all IPs with no associated country are also allowed.
schema:
type: boolean
default: false
- variable: unknownCountryApiResponse
label: Unknown Countries API Response
description: The API uri can be customized. This options allows to customize the response string of the API when a IP with no associated country is requested.
schema:
type: string
required: true
default: nil
- variable: blackListMode
label: Blacklist Mode
description: When set to true the filter logic is inverted, i.e. requests originating from countries listed in the countries list are blocked.
schema:
type: boolean
default: false
- variable: countries
description: Country codes (2 characters) from which connections to the service should be allowed or blocked, based on the mode.
label: Countries
schema:
type: list
default: []
items:
- variable: countryEntry
label: Country
description: Country codes (2 characters) from which connections to the service should be allowed or blocked, based on the mode.
schema:
type: string
required: true
# Allow only 2 Characters
valid_chars: '^[a-zA-Z]{2}$'
default: ""

View File

@ -0,0 +1,53 @@
- variable: ipWhiteList
label: ipWhiteList
schema:
type: list
default: []
items:
- variable: ipWhiteListEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: sourceRange
label: Source Range
schema:
type: list
default: []
items:
- variable: sourceRangeEntry
label: ""
schema:
type: string
required: true
default: ""
- variable: ipStrategy
label: IP Strategy
schema:
additional_attrs: true
type: dict
attrs:
- variable: depth
label: Depth
schema:
type: int
required: true
- variable: excludedIPs
label: Excluded IPs
schema:
type: list
default: []
items:
- variable: excludedIPsEntry
label: ""
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,41 @@
- variable: modsecurity
label: modsecurity
schema:
type: list
default: []
items:
- variable: modsecurityEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: This is a 3rd party plugin and not maintained by TrueCharts,
for more information go to <a href="https://github.com/acouvreur/traefik-modsecurity-plugin">traefik-modsecurity-plugin</a>
schema:
type: string
required: true
default: ""
- variable: modSecurityUrl
label: ModSecurity Url
description: It's the URL for the owasp/modsecurity container.
schema:
type: string
required: true
default: "https://someurl"
- variable: timeoutMillis
label: timeout Millis
description: timeout in milliseconds for the http client to talk with modsecurity container. (
schema:
type: int
required: true
default: 2
- variable: maxBodySize
label: maxBody Size
description: it's the maximum limit for requests body size. Requests exceeding this value will be rejected using HTTP 413 Request Entity Too Large. Zero means "use default value".
schema:
type: int
required: true
default: 0

View File

@ -0,0 +1,33 @@
- variable: proxyProtocol
label: Accept Proxy Protocol connections
description: If Proxy Protocol header parsing is enabled for the entry point, this entry point can accept connections with or without Proxy Protocol headers.
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: trustedIPs
label: Trusted IPs
description: Only IPs in trustedIPs will lead to remote client address replacement
schema:
type: list
default: []
items:
- variable: trustedIPsEntry
label: ""
schema:
type: string
required: true
default: ""
- variable: insecureMode
label: Insecure Mode
description: Trust every incoming connection
schema:
type: boolean
default: false

View File

@ -0,0 +1,29 @@
- variable: rateLimit
label: rateLimit
schema:
type: list
default: []
items:
- variable: rateLimitEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: average
label: Average
schema:
type: int
required: true
default: 300
- variable: burst
label: Burst
schema:
type: int
required: true
default: 200

View File

@ -0,0 +1,31 @@
- variable: realIP
label: Real IP
schema:
type: list
default: []
items:
- variable: realIPEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: excludedNetworks
label: Excluded Networks
schema:
type: list
default: []
items:
- variable: excludedNetEntry
label: Excluded Network Entry
description: Network to exclude setting it to X-Real-Ip
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,34 @@
- variable: redirectRegex
label: redirectRegex
schema:
type: list
default: []
items:
- variable: redirectRegexEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: regex
label: Regex
schema:
type: string
required: true
default: ""
- variable: replacement
label: Replacement
schema:
type: string
required: true
default: ""
- variable: permanent
label: Permanent
schema:
type: boolean
default: false

View File

@ -0,0 +1,33 @@
- variable: redirectScheme
label: redirectScheme
schema:
type: list
default: []
items:
- variable: redirectSchemeEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: scheme
label: Scheme
schema:
type: string
required: true
default: https
enum:
- value: https
description: https
- value: http
description: http
- variable: permanent
label: Permanent
schema:
type: boolean
default: false

View File

@ -0,0 +1,49 @@
- variable: rewriteResponseHeaders
label: Rewrite Response Headers
schema:
type: list
default: []
items:
- variable: rewriteResponseHeadersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: headers
label: Headers To Rewrite
schema:
type: list
default: []
items:
- variable: headersEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Header Name
description: Name of a header to modified in responses, eg. X-Custom-Header
schema:
valid_chars: ^[a-zA-Z0-9_\-]*$
type: string
required: true
default: ""
- variable: regex
label: Regex
description: The value of the header to match. Accepts regex expression.
schema:
type: string
default: ""
- variable: replacement
label: Replacement Regex
description: The new value of the header. Accepts regex expression.
schema:
type: string
default: ""

View File

@ -0,0 +1,29 @@
- variable: stripPrefixRegex
label: stripPrefixRegex
schema:
type: list
default: []
items:
- variable: stripPrefixRegexEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: regex
label: Regex
schema:
type: list
default: []
items:
- variable: regexEntry
label: Regex
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,58 @@
- variable: themePark
label: theme.park
schema:
type: list
default: []
items:
- variable: themeParkEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: This is a 3rd party plugin and not maintained by TrueCharts,
for more information go to <a href="https://github.com/packruler/traefik-themepark">traefik-themepark</a>
schema:
type: string
required: true
default: ""
- variable: appName
label: App Name
description: Lower case, name of the app to be themed.
<br />Go to <a href="https://docs.theme-park.dev/themes/">https://docs.theme-park.dev/themes/</a> to see supported apps.
schema:
type: string
required: true
default: ""
- variable: themeName
label: Theme Name
description: Lower case, name of the theme to be applied.
<br />Go to <a href="https://docs.theme-park.dev/theme-options/">https://docs.theme-park.dev/theme-options/</a> to see supported themes.
schema:
type: string
required: true
default: ""
- variable: baseUrl
label: Base URL
description: Replace `https://theme-park.dev` URL for self-hosting reference.
schema:
type: string
required: true
default: https://theme-park.dev
- variable: addons
label: Addons
schema:
type: list
default: []
items:
- variable: addonEntry
label: Addon
description: Currently only supports 'darker' and '4k-logo' for *arr apps.
<br />Go to <a href="https://docs.theme-park.dev/themes/addons/">https://docs.theme-park.dev/themes/addons/</a> for Addon information.
<br />Go to <a href="https://github.com/packruler/traefik-themepark">https://github.com/packruler/traefik-themepark</a> for more context on plugin
schema:
type: string
required: true
default: ""

View File

@ -0,0 +1,50 @@
- variable: schedules
group: "Backup Configuration"
label: "Backup Schedules"
schema:
type: dict
additional_attrs: true
attrs:
- variable: default
label: "Default Schedule"
schema:
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: "enabled"
schema:
type: boolean
default: false
- variable: schedule
label: "schedule"
show_if: [["enabled", "=", true]]
schema:
type: string
required: true
default: "0 0 0 * * *"
- variable: useOwnerReferencesInBackup
label: "useOwnerReferencesInBackup"
show_if: [["enabled", "=", true]]
schema:
type: boolean
default: false
- variable: template
label: template
show_if: [["enabled", "=", true]]
schema:
additional_attrs: true
type: dict
attrs:
- variable: ttl
label: "ttl"
schema:
type: string
required: true
default: "240h"
- variable: storageLocation
label: "storageLocation"
schema:
type: string
required: true
default: "default"

View File

@ -0,0 +1,56 @@
- variable: schedulesList
group: "Backup Configuration"
label: "Backup Schedules"
schema:
type: list
items:
- variable: schedulesEntry
label: "Schedule"
schema:
type: dict
additional_attrs: true
attrs:
- variable: enabled
label: "enabled"
schema:
type: boolean
default: true
hidden: true
- variable: name
label: "Name"
schema:
type: string
default: ""
required: true
- variable: schedule
label: "schedule"
show_if: [["enabled", "=", true]]
schema:
type: string
required: true
default: "0 0 0 * * *"
- variable: useOwnerReferencesInBackup
label: "useOwnerReferencesInBackup"
show_if: [["enabled", "=", true]]
schema:
type: boolean
default: false
- variable: template
label: template
show_if: [["enabled", "=", true]]
schema:
additional_attrs: true
type: dict
attrs:
- variable: ttl
label: "ttl"
schema:
type: string
required: true
default: "240h"
- variable: storageLocation
label: "storageLocation"
schema:
type: string
required: true
default: "default"

View File

@ -0,0 +1,12 @@
- variable: podSpec
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: containers
label: Containers
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "DaemonSet"]]
default: 1

View File

@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "DaemonSet"]]
default: 2

View File

@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "DaemonSet"]]
default: 3

View File

@ -0,0 +1,13 @@
- variable: workload
group: "Workload Settings"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: ""
schema:
additional_attrs: true
type: dict
attrs:

View File

@ -0,0 +1,10 @@
- variable: type
label: Type (Advanced)
schema:
type: string
default: DaemonSet
enum:
- value: Deployment
description: Deployment
- value: DaemonSet
description: DaemonSet

View File

@ -0,0 +1,10 @@
- variable: type
label: Type (Advanced)
schema:
type: string
default: Deployment
enum:
- value: Deployment
description: Deployment
- value: DaemonSet
description: DaemonSet

7
templates/security.tpl Normal file
View File

@ -0,0 +1,7 @@
# Security Overview
<link href="https://truecharts.org/static/trivy.css" type="text/css" rel="stylesheet" />
## Helm-Chart
### Scan Results

View File

@ -0,0 +1,21 @@
{{- if . -}}
#### Chart Object: {{ escapeXML ( index . 0 ).Target }}
{{ range . }}
{{ if (eq (len .Misconfigurations) 0) }}
| No Misconfigurations found |
|:---------------------------------|
{{ else }}
| Type | Misconfiguration ID | Check | Severity | Explaination | Links |
|:----------------|:------------------:|:-----------:|:------------------:|-----------------------------------------|-----------------------------------------|
{{- range .Misconfigurations }}
| {{ escapeXML .Type }} | {{ escapeXML .ID }} | {{ escapeXML .Title }} | {{ escapeXML .Severity }} | <details><summary>Expand...</summary> {{ escapeXML .Description }} <br /> <hr /> <br /> {{ escapeXML .Message }} </details>| <details><summary>Expand...</summary>{{ range .References }}<a href={{ escapeXML . | printf "%q" }}>{{ escapeXML . }}</a><br>{{ end }}</details> |
{{- end }}
{{- end }}
{{- end }}
{{- else }}
| No Misconfigurations found |
|:---------------------------------|
{{- end }}

View File

@ -0,0 +1,23 @@
{{- if . -}}
#### Container: {{ escapeXML ( index . 0 ).Target }}
{{ range . }}
**{{ escapeXML .Type }}**
{{ if (eq (len .Vulnerabilities) 0) }}
| No Vulnerabilities found |
|:---------------------------------|
{{ else }}
| Package | Vulnerability | Severity | Installed Version | Fixed Version |
|:----------------|:------------------:|:-----------:|:------------------:|:-------------:|
{{- range .Vulnerabilities }}
| {{ escapeXML .PkgName }} | {{ escapeXML .VulnerabilityID }} | {{ escapeXML .Vulnerability.Severity }} | {{ escapeXML .InstalledVersion }} | {{ escapeXML .FixedVersion }} |
{{- end }}
{{- end }}
{{- end }}
{{- else }}
| No Vulnerabilities found |
|:---------------------------------|
{{- end }}

View File

@ -0,0 +1,4 @@
pip install pre-commit
git config --unset-all core.hooksPath
cd ..
pre-commit install