Feat: Rework GUI templates (#7545)

* adapt metrics

* Adapt VPN

* Adapt codeserver (remove git related crap)

* add postgresql group, remove vpn group

* restructure securityContext and add testapp for gui testing

* simplify security questions.yaml

* adapt workload GUI

* no message

* no message

* adapt portal configmap name

* add netshoot GUI elements

* add postgresql GUI elements

* whoops

* some more gui fixes

* restructure

* Update Chart.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update vpn.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update common.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update charts/dev/testapp/values.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update charts/dev/testapp/values.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update charts/dev/testapp/values.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Revert "limit fetch depth"

This reverts commit ffb83b1b05bf1e73ecf4fcb834c67f1e008a13ab. (+2 squashed commit)

Squashed commit:

[ffb83b1b05] limit fetch depth

[ce063d6a95] Update ct-install.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update build-release.sh

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

* Update ct-install.yaml

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

---------

Signed-off-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
Kjeld Schouten-Lebbing
2023-02-28 18:38:55 +01:00
committed by GitHub
parent ccb8b27265
commit ff6ec438a4
42 changed files with 3706 additions and 321 deletions
+30
View File
@@ -0,0 +1,30 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png
File diff suppressed because it is too large Load Diff
+32
View File
@@ -0,0 +1,32 @@
apiVersion: v2
appVersion: "0.20.2297"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 12.2.0
deprecated: false
description: testing app for truecharts
home: https://truecharts.org/charts/stable/jackett
icon: https://truecharts.org/img/hotlink-ok/chart-icons/jackett.png
keywords:
- jackett
- torrent
- usenet
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: testapp
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/jackett
- https://ghcr.io/onedr0p/jackett
- https://github.com/Jackett/Jackett
type: application
version: 0.0.1
annotations:
truecharts.org/catagories: |
- media
- test
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
+27
View File
@@ -0,0 +1,27 @@
# 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/stable/)
**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%20Apps/Important-MUST-READ).
- 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*
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

+92
View File
@@ -0,0 +1,92 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}
# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 9117
required: true
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: config
label: "App Config Storage"
description: "Stores the Application Configuration."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressList}
# Include{securityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 568
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 568
# Include{securityContextContainer}
# Include{securityContextAdvanced}
# Include{securityContextPod}
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{resources}
# Include{advanced}
# Include{postgresql}
# Include{postgresqlBasics}
# Include{addons}
# Include{vpn}
# Include{codeserver}
# Include{netshoot}
# Include{documentation}
+1
View File
@@ -0,0 +1 @@
{{- include "tc.v1.common.loader.all" . -}}
+38
View File
@@ -0,0 +1,38 @@
image:
repository: tccr.io/truecharts/jackett
pullPolicy: IfNotPresent
tag: 0.20.2297@sha256:4de1541011cb56935ba5a8e28a58f6cbcf62a903393dc94581eda0b6e2aa117c
securityContext:
container:
readOnlyRootFilesystem: false
service:
main:
ports:
main:
protocol: http
targetPort: 9117
port: 9117
workload:
main:
podSpec:
containers:
main:
probes:
liveness:
path: "/UI/Login"
readiness:
path: "/UI/Login"
startup:
path: "/UI/Login"
persistence:
config:
enabled: true
mountPath: "/config"
portal:
open:
enabled: true
@@ -11,22 +11,6 @@
default: false
show_subquestions_if: true
subquestions:
- variable: git
label: Git Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: deployKey
description: Raw SSH Private Key
label: Deploy Key
schema:
type: string
- variable: deployKeyBase64
description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence
label: Deploy Key Base64
schema:
type: string
- variable: service
label: ""
schema:
@@ -53,48 +37,6 @@
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: ports
label: ""
schema:
@@ -112,12 +54,6 @@
schema:
type: int
default: 36107
- variable: nodePort
description: Leave Empty to Disable
label: nodePort DEPRECATED
schema:
type: int
default: 36107
- variable: envList
label: Codeserver Environment Variables
schema:
+36
View File
@@ -0,0 +1,36 @@
- variable: netshoot
label: Netshoot
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: envList
label: Netshoot Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
+9 -36
View File
@@ -12,12 +12,14 @@
enum:
- value: disabled
description: disabled
- value: openvpn
description: OpenVPN
- value: wireguard
description: Wireguard
- value: gluetun
description: Gluetun
- value: tailscale
description: Tailscale
- value: openvpn
description: OpenVPN (Deprecated)
- value: wireguard
description: Wireguard (Deprecated)
- variable: openvpn
label: OpenVPN Settings
schema:
@@ -139,39 +141,10 @@
- variable: configFile
label: VPN Config File Location
schema:
type: dict
type: string
show_if: [["type", "!=", "disabled"]]
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type
schema:
type: string
default: hostPath
hidden: true
- variable: hostPathType
label: hostPathType
schema:
type: string
default: File
hidden: true
- variable: noMount
label: noMount
schema:
type: boolean
default: true
hidden: true
- variable: hostPath
label: Full Path to File
description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type: string
default: ""
default: ""
- variable: envList
label: VPN Environment Variables
schema:
@@ -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
@@ -0,0 +1,32 @@
- 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..."
group: "General Settings"
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
@@ -0,0 +1,6 @@
- variable: main
label: Main Container
schema:
additional_attrs: true
type: dict
attrs:
@@ -1,7 +0,0 @@
- variable: controller
group: "General Settings"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
@@ -1,19 +0,0 @@
- variable: customcommand
group: "General Settings"
label: "Custom Command"
description: "Do not click this unless you know what you are doing"
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
@@ -1,19 +0,0 @@
- variable: customextraargs
group: "General Settings"
label: "Extra Args"
description: "Do not click this unless you know what you are doing"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string
@@ -6,25 +6,3 @@
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- 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..."
group: "General Settings"
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
@@ -1 +0,0 @@
# No FixedEnvs Present
-13
View File
@@ -1,13 +0,0 @@
- variable: global
label: Global Settings
group: "General Settings"
schema:
type: dict
hidden: true
attrs:
- variable: isSCALE
label: Flag this is SCALE
schema:
type: boolean
default: true
hidden: true
+4 -2
View File
@@ -3,6 +3,8 @@ groups:
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
@@ -19,11 +21,11 @@ groups:
description: Traefik Middlewares
- name: Metrics
description: Metrics
- name: VPN
description: VPN
- name: Addons
description: Addon Configuration
- name: Advanced
description: Advanced Configuration
- name: Postgresql
description: Postgresql
- name: Documentation
description: Documentation
+3 -3
View File
@@ -1,6 +1,6 @@
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
- "$kubernetes-resource_configmap_tcportal-open_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
- "$kubernetes-resource_configmap_tcportal-open_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
- "$kubernetes-resource_configmap_tcportal-open_port"
+12 -27
View File
@@ -5,32 +5,17 @@
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
- variable: main
label: Main Metrics
schema:
type: boolean
default: true
show_subquestions_if: true
subquestions:
- variable: serviceMonitor
label: Service Monitor Settings
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: interval
label: Scrape Interval
description: Scrape interval time
schema:
type: string
default: 1m
required: true
- variable: scrapeTimeout
label: Scrape Timeout
description: Scrape timeout Time
schema:
type: string
default: 30s
required: true
type: boolean
default: true
show_subquestions_if: true
subquestions:
+12 -26
View File
@@ -5,31 +5,17 @@
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
- variable: main
label: Main Metrics
schema:
type: boolean
default: true
show_subquestions_if: true
subquestions:
- variable: serviceMonitor
label: Service Monitor Settings
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: interval
label: Scrape Interval
description: Scrape interval time
schema:
type: string
default: 3m
required: true
- variable: scrapeTimeout
label: Scrape Timeout
description: Scrape timeout Time
schema:
type: string
default: 1m
required: true
type: boolean
default: true
show_subquestions_if: true
subquestions:
+12 -26
View File
@@ -5,31 +5,17 @@
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
- variable: main
label: Main Metrics
schema:
type: boolean
default: true
show_subquestions_if: true
subquestions:
- variable: serviceMonitor
label: Service Monitor Settings
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
description: Enable Prometheus Metrics
schema:
additional_attrs: true
type: dict
attrs:
- variable: interval
label: Scrape Interval
description: Scrape interval time
schema:
type: string
default: 60m
required: true
- variable: scrapeTimeout
label: Scrape Timeout
description: Scrape timeout Time
schema:
type: string
default: 1m
required: true
type: boolean
default: true
show_subquestions_if: true
subquestions:
@@ -0,0 +1,13 @@
- variable: cnpg
group: Postgresql
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Postgresql Database"
schema:
additional_attrs: true
type: dict
attrs:
@@ -0,0 +1,43 @@
- variable: instances
label: Instances
schema:
type: int
default: 2
- variable: storage
label: "Storage"
schema:
additional_attrs: true
type: dict
attrs:
- variable: size
label: Size
schema:
type: string
default: "256Gi"
- variable: walsize
label: Walsize
schema:
type: string
default: "256Gi"
- variable: pooler
label: "Pooler"
schema:
additional_attrs: true
type: dict
attrs:
- variable: instances
label: Instances
schema:
type: int
default: 2
- variable: Monitoring
label: "Metrics"
schema:
additional_attrs: true
type: dict
attrs:
- variable: enablePodMonitor
label: "enablePodMonitor"
schema:
type: boolean
default: true
@@ -1,20 +0,0 @@
- 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
@@ -1,7 +0,0 @@
- variable: podSecurityContext
group: Security and Permissions
label: Pod Security Context
schema:
additional_attrs: true
type: dict
attrs:
@@ -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
@@ -1,14 +0,0 @@
- variable: advancedSecurity
label: Show Advanced Security Settings
group: Security and Permissions
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
@@ -1,23 +1,10 @@
- variable: security
label: Container Security Settings
group: Security and Permissions
schema:
type: dict
additional_attrs: true
attrs:
- variable: editsecurity
label: Change PUID / UMASK values
description: By enabling this you override default set values.
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
# 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
@@ -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
@@ -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
+12
View File
@@ -0,0 +1,12 @@
- variable: podSpec
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: containers
label: Containers
schema:
additional_attrs: true
type: dict
attrs:
@@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "Daemonset"]]
default: 1
@@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "Daemonset"]]
default: 2
@@ -0,0 +1,7 @@
- variable: replicas
label: Replicas (Advanced)
description: Set the number of Replicas
schema:
type: int
show_if: [["type", "!=", "Daemonset"]]
default: 3
@@ -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:
@@ -0,0 +1,10 @@
- variable: type
label: Type (Advanced)
schema:
type: string
default: Daemonset
enum:
- value: Deployment
description: Deployment
- value: Daemonset
description: Daemonset
@@ -0,0 +1,10 @@
- variable: type
label: Type (Advanced)
schema:
type: string
default: Deployment
enum:
- value: Deployment
description: Deployment
- value: Daemonset
description: Daemonset