From e7bd552a109731cbdb2724f81c031310f7cbd6ee Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Tue, 30 Apr 2024 18:47:42 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- incubator/kometa/2.0.0/.helmignore | 30 + incubator/kometa/2.0.0/CHANGELOG.md | 3 + incubator/kometa/2.0.0/Chart.yaml | 36 + incubator/kometa/2.0.0/README.md | 54 + incubator/kometa/2.0.0/app-changelog.md | 3 + incubator/kometa/2.0.0/app-readme.md | 8 + .../kometa/2.0.0/charts/common-22.0.0.tgz | Bin 0 -> 97434 bytes incubator/kometa/2.0.0/icon-small.webp | Bin 0 -> 1056 bytes incubator/kometa/2.0.0/icon.webp | Bin 0 -> 2842 bytes incubator/kometa/2.0.0/ix_values.yaml | 69 + incubator/kometa/2.0.0/questions.yaml | 2608 +++++++++++++++++ incubator/kometa/2.0.0/templates/NOTES.txt | 1 + incubator/kometa/2.0.0/templates/_secret.tpl | 17 + incubator/kometa/2.0.0/templates/common.yaml | 11 + incubator/kometa/2.0.0/values.yaml | 0 incubator/kometa/item.yaml | 4 + 16 files changed, 2844 insertions(+) create mode 100644 incubator/kometa/2.0.0/.helmignore create mode 100644 incubator/kometa/2.0.0/CHANGELOG.md create mode 100644 incubator/kometa/2.0.0/Chart.yaml create mode 100644 incubator/kometa/2.0.0/README.md create mode 100644 incubator/kometa/2.0.0/app-changelog.md create mode 100644 incubator/kometa/2.0.0/app-readme.md create mode 100644 incubator/kometa/2.0.0/charts/common-22.0.0.tgz create mode 100644 incubator/kometa/2.0.0/icon-small.webp create mode 100644 incubator/kometa/2.0.0/icon.webp create mode 100644 incubator/kometa/2.0.0/ix_values.yaml create mode 100755 incubator/kometa/2.0.0/questions.yaml create mode 100644 incubator/kometa/2.0.0/templates/NOTES.txt create mode 100644 incubator/kometa/2.0.0/templates/_secret.tpl create mode 100644 incubator/kometa/2.0.0/templates/common.yaml create mode 100644 incubator/kometa/2.0.0/values.yaml create mode 100644 incubator/kometa/item.yaml diff --git a/incubator/kometa/2.0.0/.helmignore b/incubator/kometa/2.0.0/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/incubator/kometa/2.0.0/.helmignore @@ -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 diff --git a/incubator/kometa/2.0.0/CHANGELOG.md b/incubator/kometa/2.0.0/CHANGELOG.md new file mode 100644 index 00000000000..941abb8a218 --- /dev/null +++ b/incubator/kometa/2.0.0/CHANGELOG.md @@ -0,0 +1,3 @@ +*for the complete changelog, please refer to the website* + +**Important:** \ No newline at end of file diff --git a/incubator/kometa/2.0.0/Chart.yaml b/incubator/kometa/2.0.0/Chart.yaml new file mode 100644 index 00000000000..1ab452adc96 --- /dev/null +++ b/incubator/kometa/2.0.0/Chart.yaml @@ -0,0 +1,36 @@ +annotations: + max_scale_version: 24.04.1 + min_scale_version: 24.04.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: 2.0.0 +dependencies: + - name: common + version: 22.0.0 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Python script to update metadata and automatically build collections. +home: https://truecharts.org/charts/incubator/kometa +icon: https://github.com/truecharts/charts/tree/master/charts/incubator/kometa/icon.webp +keywords: + - kometa +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: kometa +sources: + - https://github.com/kometa-team/kometa + - https://github.com/truecharts/charts/tree/master/charts/incubator/kometa + - https://hub.docker.com/r/kometateam/kometa +type: application +version: 2.0.0 diff --git a/incubator/kometa/2.0.0/README.md b/incubator/kometa/2.0.0/README.md new file mode 100644 index 00000000000..16e941597f7 --- /dev/null +++ b/incubator/kometa/2.0.0/README.md @@ -0,0 +1,54 @@ +--- +title: README +--- + +## General Info + +TrueCharts can be installed as both _normal_ Helm Charts or as TrueNAS SCALE Apps. +Both solutions are fully supported, but we heavily advice the use of normal Helm Charts where possible + +For more information about this Chart, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/plex-meta-manager) + +**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)** + +## Installation + +### Helm-Chart installation + +To install TrueCharts Helm charts using Helm, you can use our OCI Repository. + +`helm install mychart oci://tccr.io/truecharts/CHARTNAME` + +For more information on how to install TrueCharts Helm charts, checkout the instructions on the website: https://truecharts.org/helm/ + +### TrueNAS SCALE Apps + +For more information on how to use TrueCharts as TrueNAS SCALE Apps, please checkout the [quick-start guides for TrueNAS SCALE](https://truecharts.org/scale/guides/scale-intro). + +## Configuration Options + +To view the chart specific options, please view Values.yaml included in the chart. + +All our Charts use a shared "common" library chart that contains most of the templating and options. +For the complete overview of all available options, please checkout the documentation for them on the website: https://truecharts.org/common/ + +## Chart Specific Guides and information + +All our charts have dedicated documentation pages. +The documentation for this chart can be found here: +https://truecharts.org/charts/incubator/kometa + +## Support + +- 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/general/sponsor) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/incubator/kometa/2.0.0/app-changelog.md b/incubator/kometa/2.0.0/app-changelog.md new file mode 100644 index 00000000000..d5c213a90a4 --- /dev/null +++ b/incubator/kometa/2.0.0/app-changelog.md @@ -0,0 +1,3 @@ + + +## [kometa-2.0.0]kometa-2.0.0 (2024-04-30) \ No newline at end of file diff --git a/incubator/kometa/2.0.0/app-readme.md b/incubator/kometa/2.0.0/app-readme.md new file mode 100644 index 00000000000..f52d018e10e --- /dev/null +++ b/incubator/kometa/2.0.0/app-readme.md @@ -0,0 +1,8 @@ +Python script to update metadata and automatically build collections. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/kometa](https://truecharts.org/charts/incubator/kometa) + +--- + +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! diff --git a/incubator/kometa/2.0.0/charts/common-22.0.0.tgz b/incubator/kometa/2.0.0/charts/common-22.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e9bef6592f81627708015dcaa4f2303e9cc00f63 GIT binary patch literal 97434 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 aIrkT^7S=Uwz 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 literal 0 HcmV?d00001 diff --git a/incubator/kometa/2.0.0/ix_values.yaml b/incubator/kometa/2.0.0/ix_values.yaml new file mode 100644 index 00000000000..01ab617158b --- /dev/null +++ b/incubator/kometa/2.0.0/ix_values.yaml @@ -0,0 +1,69 @@ +image: + repository: kometateam/kometa + tag: v2.0.0 + pullPolicy: IfNotPresent + +securityContext: + container: + runAsNonRoot: false + readOnlyRootFilesystem: false + runAsUser: 0 + runAsGroup: 0 + +service: + main: + enabled: false + ports: + main: + enabled: false + +kometa: + run: false + no_countdown: true + time: + - "00:00" + # plex_url: "" + # plex_token: "" + +workload: + main: + podSpec: + initContainers: + create-init-config-file: + enabled: true + type: init + imageSelector: "image" + command: + - /bin/sh + - -c + args: + - | + echo "Creating config.yml file..." + if [ -f /config/config.yml ]; then + echo "Config file exists! Skipping..." + else + echo "Config file is missing, getting a new one!" + curl -fLvo /config/config.yml https://raw.githubusercontent.com/kometa-team/kometa/master/config/config.yml.template || (echo "Downloading config file, FAILED..." && exit 1) + fi + containers: + main: + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + envFrom: + - secretRef: + name: "secret" + +persistence: + config: + enabled: true + mountPath: /config + targetSelectAll: true + +portal: + open: + enabled: false diff --git a/incubator/kometa/2.0.0/questions.yaml b/incubator/kometa/2.0.0/questions.yaml new file mode 100755 index 00000000000..e8d23ef3f35 --- /dev/null +++ b/incubator/kometa/2.0.0/questions.yaml @@ -0,0 +1,2608 @@ +groups: + - name: Image + description: | + Configured the images to be used for the Chart. + It's wise to use "digest pinned" tags and to avoid using "latest". + + Checkout the following documentation for more information: + - https://truecharts.org/common/#images + + + - name: General + description: | + For TrueNAS SCALE We've grouped a number of settings here, that all effact how apps run in general. + + Checkout the following documentation for more information: + - https://truecharts.org/common/global/ + - https://truecharts.org/common/#tz + - https://truecharts.org/common/podoptions/ + - Image Pull Secrets + + + - name: Workload + description: | + These settings configure how the actual Pods and containers are running. + Generally, on SCALE, we only expose a limited subset of these settings for the primary workload and container. + + Checkout the following documentation for more information: + - https://truecharts.org/common/workload/ + - https://truecharts.org/common/container/ + + + - name: App Configuration + description: | + Every application has different values that may be required to run or have multiple options that the user may choose to enable or disable to change the behavior of the application. + Most options should have a Tooltip (Circled Question Mark) to further describe said option. + + To find more information, lookup your chart-specific documentation in the Charts List: https://truecharts.org/charts/description-list/ + + - name: Services + description: | + Service and Networking options for any applications are contained here. + Some applications may have complicated networking setups with multiple options or some may have no options here at all. + + Options here include the service and port configurations for the application, and more may be enabled or changed under the Advanced Settings and Show Expert Config boxes. + + Checkout the following documentation for more information: + - https://truecharts.org/common/service/ + + - name: Networking + description: | + Contains advanced networking options that are not actively supported by the TrueCharts team. + Currently only contains scaleExternalInterfaces. + + Checkout the following documentation for more information: + - https://truecharts.org/common/scaleexternalinterface/ + + - name: Persistence + description: | + Many applications will have certain options for storage to be configurable by the user, the main two being PVC and hostpath but may include other types. + This storage is called Persistence since it is not deleted upon restart or upgrade of an application. + + Checkout the following documentation for more information: + - https://truecharts.org/common/persistence/ + - https://truecharts.org/scale/guides/nfs-share/ + - https://truecharts.org/general/faq/#why-pvc-is-recommended-over-hostpath + + + - name: Ingress + description: | + Ingress (more commonly known as Reverse Proxy) settings can be configured here. This is how Kubernetes connects your Applications in containers to FQDNs (fully qualified domain names). + If you choose to enable this you must have a "Ingress Provider" aka "Reverse Proxy" installed (We highly advice Traefik: https://truecharts.org/charts/premium/traefik/) + It also requiresa DNS service to actually resolve the DNS name of the FQDN specified. + + Checkout the following documentation for more information: + - https://truecharts.org/common/ingress/ + + + - name: SecurityContext + description: | + The security settings for each application and/or permissions that each application may have for the files/directories created. + Each application will come with predefined permissions but users may want to change certain setting depending on their usage or capabilities. + + Unless necessary users are advised to keep this section mostly to defaults. + + Checkout the following documentation for more information: + - https://truecharts.org/common/securitycontext/ + + + - name: Resources + description: | + Resources limits that have been defined by each application are in this section. + Most will have a specific default that some users may want to change based on their specific hardware or needs. + + This also contains the options to mount GPUs or, more precisely, "request" GPU's to be mounted. + + Checkout the following documentation for more information: + - https://truecharts.org/common/resources/ + + - name: Devices + description: | + These are special "mountpoints" that can be used to mount miscelanious USB and PCI devices using special hostPath mounts. + For clearity we've decided to seperate this from persistence on SCALE. + + Checkout the following documentation for more information: + - https://truecharts.org/common/persistence/device/ + - https://truecharts.org/scale/guides/pci-passthrough/ + + - name: Middlewares + description: Traefik Middlewares + + - name: StorageClass + description: | + StorageClasses define where to storage Storage. + + Checkout the following documentation for more information: + + - name: Metrics + description: | + Contains options to configure Prometheus metrics for the application. + + Checkout the following documentation for more information: + - https://truecharts.org/common/metrics/ + + + - name: Addons + description: | + Addons that are supplied by the TrueCharts team to add additional capabilities for users to use on top of the application’s defaults. + Things included here are VPN addons, Codeserver for editing files inside the application’s container, Netshoot for network troubelshooting, etc. + + Generally not required for use but may be necessary or usefull at times for specific applications. + + Checkout the following documentation for more information: + - https://truecharts.org/common/addons/ + - https://truecharts.org/scale/guides/vpn-setup/ + + + - name: Experimental + description: | + Experimental Configuration Options + Often these are not fully flushed-out, could randomly break or might not work at-all. + + - name: Postgresql + description: | + For Postgresql we use "CloudNative-PG" as a backend, which has to be installed first. + + Checkout the following documentation for more information: + - https://truecharts.org/common/cnpg/ + - https://truecharts.org/scale/guides/sql-export/ + - https://truecharts.org/scale/guides/recover-cnpg/ + + - name: Dependencies + description: | + contains dependency setting for which we, currently, do not have seperate catagories (yet) + + + - name: Documentation + description: | + We added this section to make everyone aware that OpenSource isn't always easy. + It doesn't keep existing without signficant ongoing support, so please consider supporting TrueCharts and other OpenSource projects. + + Before installing, be sure you've followed the https://truecharts.org/scale/guides/getting-started/ + We would also advice going over our https://truecharts.org/scale/guides/scale-intro/ + and many of the other documentation pages... + +portals: {} +questions: + - variable: global + group: General + 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 + + - variable: credentialsList + group: General + label: "Credentials (Experimental)" + schema: + type: list + default: [] + items: + - variable: credentialsEntry + label: "Enter Credentials" + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: "Name" + schema: + type: string + required: true + default: "" + - variable: type + label: Type + description: "Type of Credential" + schema: + type: string + default: "s3" + enum: + - value: s3 + description: s3 Storage + - variable: url + label: "url" + schema: + type: string + default: "" + required: true + - variable: path + label: "path" + description: "Path Prefix not needed for most cases" + schema: + type: string + default: "" + - variable: region + label: "region" + description: "region is primarily for AWS not needed for most cases" + schema: + show_if: [["type", "=", "s3"]] + type: string + default: "" + - variable: bucket + label: "bucket" + schema: + show_if: [["type", "=", "s3"]] + type: string + default: "" + required: true + - variable: accessKey + label: "accessKey" + schema: + show_if: [["type", "=", "s3"]] + type: string + default: "" + required: true + - variable: secretKey + label: "secretKey" + schema: + show_if: [["type", "=", "s3"]] + type: string + default: "" + required: true + - variable: encrKey + label: "encrKey" + description: "The Encryption key is needed for tools like volsync if not needed it will be ignored" + schema: + show_if: [["type", "=", "s3"]] + type: string + default: "MYSECRETPASSPHRASE" + required: true + + - variable: workload + group: "Workload" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + + - 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 + + - 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 + + - variable: TZ + label: Timezone + group: "General" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + - variable: podOptions + group: "General" + 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" + 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: "" + + - variable: kometa + group: App Configuration + label: Kometa Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: plex_url + label: Plex Url + schema: + type: string + required: true + default: "" + - variable: plex_token + label: Plex Token + schema: + type: string + required: true + private: true + default: "" + - variable: run + label: Kometa Run + description: Perform a run immediately, bypassing the time to run flag. + schema: + type: boolean + default: false + show_subquestions_if: false + subquestions: + - variable: times + label: Kometa Times + description: "Specify the time of day that Plex Meta Manager will run. Format: HH:MM" + schema: + type: list + default: ["00:00"] + items: + - variable: timeEntry + label: Time Entry + schema: + type: string + required: true + default: "" + - variable: no_countdown + label: Kometa No Countdown + description: Run without displaying a countdown to the next scheduled run. + schema: + type: boolean + default: true + - variable: scaleExternalInterface + description: 'Add External Interfaces (Experimental, might change or be removed without further notice)' + label: Add external Interfaces (Experimental) + 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 + + + - variable: serviceList + label: Add Manual Custom Services + group: 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 + + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Persistence + schema: + additional_attrs: true + type: dict + attrs: + + - variable: config + label: App Config Storage + description: Stores the Application Configuration. + schema: + additional_attrs: true + type: dict + attrs: + - 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
+ 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: volsync + label: 'VolSync (Experimental)' + description: Backup, Restore and Synchronise PVC storage + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: VolSyncEntry + label: VolSync Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: "Name of backup configuration" + schema: + type: string + default: "" + required: true + - variable: type + label: Type VolSync/Backup + description: Sets the VolSync Type + schema: + type: string + default: "restic" + enum: + - value: restic + description: Restic + - variable: credentials + label: Credentials + description: "Name of credentials in the credentials section" + schema: + type: string + default: "" + required: true + - variable: dest + label: VolSync Destination (Restore) + description: VolSYnc Destination is the location where data is the reciever and configures recovery of backups + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: true + - variable: src + label: VolSync Source (Backup) + description: VolSYnc Source is the location where data is the sender and creates backups to storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: true + - 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: "" + + - variable: persistenceList + label: Additional App Storage + group: 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
+ 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: volsync + label: 'VolSync (Experimental)' + description: Backup, Restore and Synchronise PVC storage + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: VolSyncEntry + label: VolSync Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: "Name of backup configuration" + schema: + type: string + default: "" + required: true + - variable: type + label: Type VolSync/Backup + description: Sets the VolSync Type + schema: + type: string + default: "restic" + enum: + - value: restic + description: Restic + - variable: credentials + label: Credentials + description: "Name of credentials in the credentials section" + schema: + type: string + default: "" + required: true + - variable: dest + label: VolSync Destination (Restore) + description: VolSYnc Destination is the location where data is the reciever and configures recovery of backups + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: true + - variable: src + label: VolSync Source (Backup) + description: VolSYnc Source is the location where data is the sender and creates backups to storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable + schema: + type: boolean + default: true + - 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: "" + + - variable: securityContext + group: SecurityContext + 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 + + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + # 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" + + - 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 + + - 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 + + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources + 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: 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" + +# - variable: horizontalPodAutoscaler +# group: Experimental +# 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: Experimental + 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 + + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + + - 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 + + - 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 + + - 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 + + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + 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 +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true + diff --git a/incubator/kometa/2.0.0/templates/NOTES.txt b/incubator/kometa/2.0.0/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/incubator/kometa/2.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/kometa/2.0.0/templates/_secret.tpl b/incubator/kometa/2.0.0/templates/_secret.tpl new file mode 100644 index 00000000000..928e95f7105 --- /dev/null +++ b/incubator/kometa/2.0.0/templates/_secret.tpl @@ -0,0 +1,17 @@ +{{/* Define the secret */}} +{{- define "kometa.secret" -}} + +{{- $kometa := .Values.kometa }} +enabled: true +data: + {{/* KOMETA */}} + KOMETA_CONFIG: "/config/config.yml" + {{- if not $kometa.run }} + KOMETA_TIMES: {{ join "," $kometa.times | quote }} + KOMETA_NO_COUNTDOWN: {{ $kometa.no_countdown | quote }} + {{- end }} + KOMETA_RUN: {{ $kometa.run | quote }} + {{/* plex */}} + KOMETA_PLEX_URL: {{ $kometa.plex_url | quote }} + KOMETA_PLEX_TOKEN: {{ $kometa.plex_token | quote }} +{{- end -}} diff --git a/incubator/kometa/2.0.0/templates/common.yaml b/incubator/kometa/2.0.0/templates/common.yaml new file mode 100644 index 00000000000..3bdc3b3a54c --- /dev/null +++ b/incubator/kometa/2.0.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{/* Render secret for kometa */}} +{{- $secret := include "kometa.secret" . | fromYaml -}} +{{- if $secret -}} + {{- $_ := set .Values.secret "secret" $secret -}} +{{- end -}} + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/kometa/2.0.0/values.yaml b/incubator/kometa/2.0.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/incubator/kometa/item.yaml b/incubator/kometa/item.yaml new file mode 100644 index 00000000000..39f871cb6b6 --- /dev/null +++ b/incubator/kometa/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://github.com/truecharts/charts/tree/master/charts/incubator/kometa/icon.webp +categories: + - media +screenshots: []