Added more truecharts stuff
This commit is contained in:
parent
d6f14666aa
commit
d02245c3e2
2290
.all-contributorsrc
Normal file
2290
.all-contributorsrc
Normal file
File diff suppressed because it is too large
Load Diff
17
.editorconfig
Normal file
17
.editorconfig
Normal 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
0
.helmdocsignore
Normal file
23
.markdownlint.yaml
Normal file
23
.markdownlint.yaml
Normal 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
41
.pre-commit-config.yaml
Normal 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
25
.snyk
Normal 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: {}
|
||||
11
cr.yaml
Normal file
11
cr.yaml
Normal 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
344
cspell.config.yaml
Normal 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
9
package.json
Normal 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
28
templates/README.md.tpl
Normal 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
28
templates/docs/README.md
Normal 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_
|
||||
156
templates/docs/README.md.gotmpl
Normal file
156
templates/docs/README.md.gotmpl
Normal 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" . }}
|
||||
6
templates/docs/app-readme.md.gotmpl
Normal file
6
templates/docs/app-readme.md.gotmpl
Normal 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" . }}
|
||||
22
templates/docs/helm-values.md.gotmpl
Normal file
22
templates/docs/helm-values.md.gotmpl
Normal 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
5
templates/docs/index.md
Normal 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
30
templates/helmignore.tpl
Normal 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
|
||||
7
templates/questions/addons/addons.yaml
Normal file
7
templates/questions/addons/addons.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
- variable: addons
|
||||
group: Addons
|
||||
label: ""
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
277
templates/questions/addons/codeserver.yaml
Normal file
277
templates/questions/addons/codeserver.yaml
Normal 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
|
||||
36
templates/questions/addons/netshoot.yaml
Normal file
36
templates/questions/addons/netshoot.yaml
Normal 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
|
||||
174
templates/questions/addons/vpn.yaml
Normal file
174
templates/questions/addons/vpn.yaml
Normal 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
|
||||
18
templates/questions/container/containerAdvanced.yaml
Normal file
18
templates/questions/container/containerAdvanced.yaml
Normal 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
|
||||
31
templates/questions/container/containerBasic.yaml
Normal file
31
templates/questions/container/containerBasic.yaml
Normal 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
|
||||
6
templates/questions/container/containerMain.yaml
Normal file
6
templates/questions/container/containerMain.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
- variable: main
|
||||
label: Main Container
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
430
templates/questions/general/advanced.yaml
Normal file
430
templates/questions/general/advanced.yaml
Normal 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
|
||||
8
templates/questions/general/containerConfig.yaml
Normal file
8
templates/questions/general/containerConfig.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
- variable: TZ
|
||||
label: Timezone
|
||||
group: "General Settings"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
29
templates/questions/general/documentation.yaml
Normal file
29
templates/questions/general/documentation.yaml
Normal 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
|
||||
13
templates/questions/general/global.yaml
Normal file
13
templates/questions/general/global.yaml
Normal 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
|
||||
33
templates/questions/general/groups.yaml
Normal file
33
templates/questions/general/groups.yaml
Normal 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
|
||||
118
templates/questions/general/podOptions.yaml
Normal file
118
templates/questions/general/podOptions.yaml
Normal 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: ""
|
||||
6
templates/questions/general/portalLink.yaml
Normal file
6
templates/questions/general/portalLink.yaml
Normal 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"
|
||||
106
templates/questions/general/resources.yaml
Normal file
106
templates/questions/general/resources.yaml
Normal 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"
|
||||
224
templates/questions/ingress/ingressAdvanced.yaml
Normal file
224
templates/questions/ingress/ingressAdvanced.yaml
Normal 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: ""
|
||||
49
templates/questions/ingress/ingressDefault.yaml
Normal file
49
templates/questions/ingress/ingressDefault.yaml
Normal 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
|
||||
242
templates/questions/ingress/ingressList.yaml
Normal file
242
templates/questions/ingress/ingressList.yaml
Normal 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]]
|
||||
7
templates/questions/ingress/ingressRoot.yaml
Normal file
7
templates/questions/ingress/ingressRoot.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: Ingress
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
21
templates/questions/metrics/metrics.yaml
Normal file
21
templates/questions/metrics/metrics.yaml
Normal 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:
|
||||
21
templates/questions/metrics/metrics3m.yaml
Normal file
21
templates/questions/metrics/metrics3m.yaml
Normal 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:
|
||||
21
templates/questions/metrics/metrics60m.yaml
Normal file
21
templates/questions/metrics/metrics60m.yaml
Normal 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:
|
||||
14
templates/questions/metrics/prometheusRule.yaml
Normal file
14
templates/questions/metrics/prometheusRule.yaml
Normal 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
|
||||
266
templates/questions/persistence/persistenceBasic.yaml
Normal file
266
templates/questions/persistence/persistenceBasic.yaml
Normal 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: ""
|
||||
289
templates/questions/persistence/persistenceList.yaml
Normal file
289
templates/questions/persistence/persistenceList.yaml
Normal 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: ""
|
||||
8
templates/questions/persistence/persistenceRoot.yaml
Normal file
8
templates/questions/persistence/persistenceRoot.yaml
Normal 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:
|
||||
5
templates/questions/persistence/vctRoot.yaml
Normal file
5
templates/questions/persistence/vctRoot.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
- variable: volumeClaimTemplates
|
||||
label: Integrated Persistent Storage
|
||||
description: Integrated Persistent Storage
|
||||
group: Storage and Persistence
|
||||
schema:
|
||||
425
templates/questions/postgresql/postgresql.yaml
Normal file
425
templates/questions/postgresql/postgresql.yaml
Normal 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: ""
|
||||
1
templates/questions/replicas/replica1.yaml
Normal file
1
templates/questions/replicas/replica1.yaml
Normal file
@ -0,0 +1 @@
|
||||
default: 1
|
||||
1
templates/questions/replicas/replica2.yaml
Normal file
1
templates/questions/replicas/replica2.yaml
Normal file
@ -0,0 +1 @@
|
||||
default: 3
|
||||
1
templates/questions/replicas/replica3.yaml
Normal file
1
templates/questions/replicas/replica3.yaml
Normal file
@ -0,0 +1 @@
|
||||
default: 2
|
||||
6
templates/questions/replicas/replicas.yaml
Normal file
6
templates/questions/replicas/replicas.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
- variable: replicas
|
||||
description: Number of desired pod replicas
|
||||
label: Desired Replicas
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
18
templates/questions/security/securityContextAdvanced.yaml
Normal file
18
templates/questions/security/securityContextAdvanced.yaml
Normal 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
|
||||
14
templates/questions/security/securityContextContainer.yaml
Normal file
14
templates/questions/security/securityContextContainer.yaml
Normal 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"
|
||||
27
templates/questions/security/securityContextPod.yaml
Normal file
27
templates/questions/security/securityContextPod.yaml
Normal 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
|
||||
14
templates/questions/security/securityContextRoot.yaml
Normal file
14
templates/questions/security/securityContextRoot.yaml
Normal 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
|
||||
78
templates/questions/service/serviceExpert.yaml
Normal file
78
templates/questions/service/serviceExpert.yaml
Normal 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
|
||||
8
templates/questions/service/serviceExpertRoot.yaml
Normal file
8
templates/questions/service/serviceExpertRoot.yaml
Normal 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:
|
||||
134
templates/questions/service/serviceList.yaml
Normal file
134
templates/questions/service/serviceList.yaml
Normal 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
|
||||
7
templates/questions/service/serviceMain.yaml
Normal file
7
templates/questions/service/serviceMain.yaml
Normal 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:
|
||||
7
templates/questions/service/serviceRoot.yaml
Normal file
7
templates/questions/service/serviceRoot.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
- variable: service
|
||||
group: Networking and Services
|
||||
label: Configure Service(s)
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
17
templates/questions/service/serviceSelectorClusterIP.yaml
Normal file
17
templates/questions/service/serviceSelectorClusterIP.yaml
Normal 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)
|
||||
13
templates/questions/service/serviceSelectorExtras.yaml
Normal file
13
templates/questions/service/serviceSelectorExtras.yaml
Normal 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:
|
||||
17
templates/questions/service/serviceSelectorLoadBalancer.yaml
Normal file
17
templates/questions/service/serviceSelectorLoadBalancer.yaml
Normal 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)
|
||||
24
templates/questions/traefik/addPrefixMiddleware.yaml
Normal file
24
templates/questions/traefik/addPrefixMiddleware.yaml
Normal 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: ""
|
||||
42
templates/questions/traefik/basicAuthMiddleware.yaml
Normal file
42
templates/questions/traefik/basicAuthMiddleware.yaml
Normal 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: ""
|
||||
51
templates/questions/traefik/bufferingMiddleware.yaml
Normal file
51
templates/questions/traefik/bufferingMiddleware.yaml
Normal 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: ""
|
||||
29
templates/questions/traefik/chainMiddleware.yaml
Normal file
29
templates/questions/traefik/chainMiddleware.yaml
Normal 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: ""
|
||||
@ -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: ""
|
||||
@ -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: ""
|
||||
@ -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: ""
|
||||
70
templates/questions/traefik/forwardAuthMiddleware.yaml
Normal file
70
templates/questions/traefik/forwardAuthMiddleware.yaml
Normal 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: ""
|
||||
32
templates/questions/traefik/forwardedHeaders.yaml
Normal file
32
templates/questions/traefik/forwardedHeaders.yaml
Normal 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
|
||||
106
templates/questions/traefik/geoBlockMiddleware.yaml
Normal file
106
templates/questions/traefik/geoBlockMiddleware.yaml
Normal 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: ""
|
||||
53
templates/questions/traefik/ipWhitelistMiddleware.yaml
Normal file
53
templates/questions/traefik/ipWhitelistMiddleware.yaml
Normal 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: ""
|
||||
41
templates/questions/traefik/modsecurityMiddleware.yaml
Normal file
41
templates/questions/traefik/modsecurityMiddleware.yaml
Normal 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
|
||||
33
templates/questions/traefik/proxyProtocol.yaml
Normal file
33
templates/questions/traefik/proxyProtocol.yaml
Normal 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
|
||||
29
templates/questions/traefik/rateLimitMiddleware.yaml
Normal file
29
templates/questions/traefik/rateLimitMiddleware.yaml
Normal 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
|
||||
31
templates/questions/traefik/realIPMiddleware.yaml
Normal file
31
templates/questions/traefik/realIPMiddleware.yaml
Normal 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: ""
|
||||
34
templates/questions/traefik/redirectRegexMiddleware.yaml
Normal file
34
templates/questions/traefik/redirectRegexMiddleware.yaml
Normal 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
|
||||
33
templates/questions/traefik/redirectSchemeMiddleware.yaml
Normal file
33
templates/questions/traefik/redirectSchemeMiddleware.yaml
Normal 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
|
||||
@ -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: ""
|
||||
29
templates/questions/traefik/stripPrefixRegexMiddleware.yaml
Normal file
29
templates/questions/traefik/stripPrefixRegexMiddleware.yaml
Normal 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: ""
|
||||
58
templates/questions/traefik/themeParkMiddleware.yaml
Normal file
58
templates/questions/traefik/themeParkMiddleware.yaml
Normal 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: ""
|
||||
50
templates/questions/velero/veleroSchedule.yaml
Normal file
50
templates/questions/velero/veleroSchedule.yaml
Normal 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"
|
||||
56
templates/questions/velero/veleroSchedulesList.yaml
Normal file
56
templates/questions/velero/veleroSchedulesList.yaml
Normal 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"
|
||||
12
templates/questions/workload/podSpec.yaml
Normal file
12
templates/questions/workload/podSpec.yaml
Normal 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:
|
||||
7
templates/questions/workload/replicas1.yaml
Normal file
7
templates/questions/workload/replicas1.yaml
Normal 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
|
||||
7
templates/questions/workload/replicas2.yaml
Normal file
7
templates/questions/workload/replicas2.yaml
Normal 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
|
||||
7
templates/questions/workload/replicas3.yaml
Normal file
7
templates/questions/workload/replicas3.yaml
Normal 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
|
||||
13
templates/questions/workload/workload.yaml
Normal file
13
templates/questions/workload/workload.yaml
Normal 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:
|
||||
10
templates/questions/workload/workloadDaemonset.yaml
Normal file
10
templates/questions/workload/workloadDaemonset.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
- variable: type
|
||||
label: Type (Advanced)
|
||||
schema:
|
||||
type: string
|
||||
default: DaemonSet
|
||||
enum:
|
||||
- value: Deployment
|
||||
description: Deployment
|
||||
- value: DaemonSet
|
||||
description: DaemonSet
|
||||
10
templates/questions/workload/workloadDeployment.yaml
Normal file
10
templates/questions/workload/workloadDeployment.yaml
Normal 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
7
templates/security.tpl
Normal file
@ -0,0 +1,7 @@
|
||||
# Security Overview
|
||||
|
||||
<link href="https://truecharts.org/static/trivy.css" type="text/css" rel="stylesheet" />
|
||||
|
||||
## Helm-Chart
|
||||
|
||||
### Scan Results
|
||||
21
templates/trivy-config.tpl
Normal file
21
templates/trivy-config.tpl
Normal 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 }}
|
||||
23
templates/trivy-container.tpl
Normal file
23
templates/trivy-container.tpl
Normal 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 }}
|
||||
4
tools/pre-commit-install.bat
Normal file
4
tools/pre-commit-install.bat
Normal file
@ -0,0 +1,4 @@
|
||||
pip install pre-commit
|
||||
git config --unset-all core.hooksPath
|
||||
cd ..
|
||||
pre-commit install
|
||||
Loading…
Reference in New Issue
Block a user