From 7c3f100bdad674f4e9d382b78763abc7954d3f7d Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Fri, 12 Aug 2022 06:36:44 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- .../{6.0.24 => 6.0.25}/CHANGELOG.md | 18 +- .../freeradius/{6.0.24 => 6.0.25}/Chart.lock | 2 +- .../freeradius/{6.0.24 => 6.0.25}/Chart.yaml | 2 +- .../freeradius/{6.0.24 => 6.0.25}/README.md | 2 +- .../{6.0.24 => 6.0.25}/app-readme.md | 0 .../charts/common-10.4.9.tgz | Bin .../{6.0.24 => 6.0.25}/ix_values.yaml | 2 +- .../{6.0.24 => 6.0.25}/questions.yaml | 2 +- .../{6.0.24 => 6.0.25}/templates/common.yaml | 0 .../freeradius/{6.0.24 => 6.0.25}/values.yaml | 0 stable/ombi/11.0.29/CHANGELOG.md | 99 + stable/ombi/11.0.29/Chart.lock | 6 + stable/ombi/11.0.29/Chart.yaml | 33 + stable/ombi/11.0.29/README.md | 108 + stable/ombi/11.0.29/app-readme.md | 8 + stable/ombi/11.0.29/charts/common-10.4.9.tgz | Bin 0 -> 47357 bytes stable/ombi/11.0.29/ix_values.yaml | 35 + stable/ombi/11.0.29/questions.yaml | 2391 +++++++++++++++++ stable/ombi/11.0.29/templates/common.yaml | 1 + stable/ombi/11.0.29/values.yaml | 0 20 files changed, 2695 insertions(+), 14 deletions(-) rename stable/freeradius/{6.0.24 => 6.0.25}/CHANGELOG.md (91%) rename stable/freeradius/{6.0.24 => 6.0.25}/Chart.lock (80%) rename stable/freeradius/{6.0.24 => 6.0.25}/Chart.yaml (98%) rename stable/freeradius/{6.0.24 => 6.0.25}/README.md (98%) rename stable/freeradius/{6.0.24 => 6.0.25}/app-readme.md (100%) rename stable/freeradius/{6.0.24 => 6.0.25}/charts/common-10.4.9.tgz (100%) rename stable/freeradius/{6.0.24 => 6.0.25}/ix_values.yaml (88%) rename stable/freeradius/{6.0.24 => 6.0.25}/questions.yaml (99%) rename stable/freeradius/{6.0.24 => 6.0.25}/templates/common.yaml (100%) rename stable/freeradius/{6.0.24 => 6.0.25}/values.yaml (100%) create mode 100644 stable/ombi/11.0.29/CHANGELOG.md create mode 100644 stable/ombi/11.0.29/Chart.lock create mode 100644 stable/ombi/11.0.29/Chart.yaml create mode 100644 stable/ombi/11.0.29/README.md create mode 100644 stable/ombi/11.0.29/app-readme.md create mode 100644 stable/ombi/11.0.29/charts/common-10.4.9.tgz create mode 100644 stable/ombi/11.0.29/ix_values.yaml create mode 100644 stable/ombi/11.0.29/questions.yaml create mode 100644 stable/ombi/11.0.29/templates/common.yaml create mode 100644 stable/ombi/11.0.29/values.yaml diff --git a/stable/freeradius/6.0.24/CHANGELOG.md b/stable/freeradius/6.0.25/CHANGELOG.md similarity index 91% rename from stable/freeradius/6.0.24/CHANGELOG.md rename to stable/freeradius/6.0.25/CHANGELOG.md index 2cdd15bace..17e048cda5 100644 --- a/stable/freeradius/6.0.24/CHANGELOG.md +++ b/stable/freeradius/6.0.25/CHANGELOG.md @@ -2,6 +2,15 @@ +## [freeradius-6.0.25](https://github.com/truecharts/charts/compare/freeradius-6.0.24...freeradius-6.0.25) (2022-08-12) + +### Chore + +- update docker general non-major ([#3434](https://github.com/truecharts/charts/issues/3434)) + + + + ## [freeradius-6.0.24](https://github.com/truecharts/charts/compare/freeradius-6.0.23...freeradius-6.0.24) (2022-08-08) ### Chore @@ -88,12 +97,3 @@ ## [freeradius-6.0.15](https://github.com/truecharts/apps/compare/freeradius-6.0.13...freeradius-6.0.15) (2022-07-12) ### Chore - -- update icons ([#3156](https://github.com/truecharts/apps/issues/3156)) -- bump to cleanup old docs and use correct icon urls - - - -## [freeradius-6.0.13](https://github.com/truecharts/apps/compare/freeradius-6.0.12...freeradius-6.0.13) (2022-07-12) - -### Chore diff --git a/stable/freeradius/6.0.24/Chart.lock b/stable/freeradius/6.0.25/Chart.lock similarity index 80% rename from stable/freeradius/6.0.24/Chart.lock rename to stable/freeradius/6.0.25/Chart.lock index 364a742983..1a83d96d6e 100644 --- a/stable/freeradius/6.0.24/Chart.lock +++ b/stable/freeradius/6.0.25/Chart.lock @@ -3,4 +3,4 @@ dependencies: repository: https://library-charts.truecharts.org version: 10.4.9 digest: sha256:ba284a99a55c79f156102daabf938cc9651dce305ca6e8b02c2575b3b34d2cc4 -generated: "2022-08-08T22:48:40.070683139Z" +generated: "2022-08-12T06:30:50.05678505Z" diff --git a/stable/freeradius/6.0.24/Chart.yaml b/stable/freeradius/6.0.25/Chart.yaml similarity index 98% rename from stable/freeradius/6.0.24/Chart.yaml rename to stable/freeradius/6.0.25/Chart.yaml index 2c6d3436cd..ae8da8a6fb 100644 --- a/stable/freeradius/6.0.24/Chart.yaml +++ b/stable/freeradius/6.0.25/Chart.yaml @@ -22,7 +22,7 @@ sources: - https://hub.docker.com/r/freeradius/freeradius-server/ - https://freeradius.org/ type: application -version: 6.0.24 +version: 6.0.25 annotations: truecharts.org/catagories: | - auth diff --git a/stable/freeradius/6.0.24/README.md b/stable/freeradius/6.0.25/README.md similarity index 98% rename from stable/freeradius/6.0.24/README.md rename to stable/freeradius/6.0.25/README.md index 3a5d58b464..85eada0c1c 100644 --- a/stable/freeradius/6.0.24/README.md +++ b/stable/freeradius/6.0.25/README.md @@ -1,6 +1,6 @@ # freeradius -![Version: 6.0.24](https://img.shields.io/badge/Version-6.0.24-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.2.0](https://img.shields.io/badge/AppVersion-3.2.0-informational?style=flat-square) +![Version: 6.0.25](https://img.shields.io/badge/Version-6.0.25-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.2.0](https://img.shields.io/badge/AppVersion-3.2.0-informational?style=flat-square) OpenSource Radius implementation diff --git a/stable/freeradius/6.0.24/app-readme.md b/stable/freeradius/6.0.25/app-readme.md similarity index 100% rename from stable/freeradius/6.0.24/app-readme.md rename to stable/freeradius/6.0.25/app-readme.md diff --git a/stable/freeradius/6.0.24/charts/common-10.4.9.tgz b/stable/freeradius/6.0.25/charts/common-10.4.9.tgz similarity index 100% rename from stable/freeradius/6.0.24/charts/common-10.4.9.tgz rename to stable/freeradius/6.0.25/charts/common-10.4.9.tgz diff --git a/stable/freeradius/6.0.24/ix_values.yaml b/stable/freeradius/6.0.25/ix_values.yaml similarity index 88% rename from stable/freeradius/6.0.24/ix_values.yaml rename to stable/freeradius/6.0.25/ix_values.yaml index 8629f6f24d..7336103123 100644 --- a/stable/freeradius/6.0.24/ix_values.yaml +++ b/stable/freeradius/6.0.25/ix_values.yaml @@ -1,7 +1,7 @@ image: repository: tccr.io/truecharts/freeradius pullPolicy: IfNotPresent - tag: v3.2.0@sha256:af2f56926a046858695857fedbb29e00bc1f9cbfccfbf35cb8a87c435fb996e1 + tag: v3.2.0@sha256:e6a9295ae6caf282e957d0e329810e13bbdedc3bec3865e8ab322a0055107623 securityContext: readOnlyRootFilesystem: false diff --git a/stable/freeradius/6.0.24/questions.yaml b/stable/freeradius/6.0.25/questions.yaml similarity index 99% rename from stable/freeradius/6.0.24/questions.yaml rename to stable/freeradius/6.0.25/questions.yaml index fffc00e02e..edec41d12c 100644 --- a/stable/freeradius/6.0.24/questions.yaml +++ b/stable/freeradius/6.0.25/questions.yaml @@ -848,7 +848,7 @@ questions: type: boolean default: true - variable: readOnly - label: Read Only" + label: Read Only schema: type: boolean default: false diff --git a/stable/freeradius/6.0.24/templates/common.yaml b/stable/freeradius/6.0.25/templates/common.yaml similarity index 100% rename from stable/freeradius/6.0.24/templates/common.yaml rename to stable/freeradius/6.0.25/templates/common.yaml diff --git a/stable/freeradius/6.0.24/values.yaml b/stable/freeradius/6.0.25/values.yaml similarity index 100% rename from stable/freeradius/6.0.24/values.yaml rename to stable/freeradius/6.0.25/values.yaml diff --git a/stable/ombi/11.0.29/CHANGELOG.md b/stable/ombi/11.0.29/CHANGELOG.md new file mode 100644 index 0000000000..0fd48f4158 --- /dev/null +++ b/stable/ombi/11.0.29/CHANGELOG.md @@ -0,0 +1,99 @@ +# Changelog + + + +## [ombi-11.0.29](https://github.com/truecharts/charts/compare/ombi-11.0.28...ombi-11.0.29) (2022-08-12) + +### Chore + +- update docker general non-major ([#3434](https://github.com/truecharts/charts/issues/3434)) + + + + +## [ombi-11.0.28](https://github.com/truecharts/charts/compare/ombi-11.0.27...ombi-11.0.28) (2022-08-10) + +### Chore + +- update docker general non-major ([#3421](https://github.com/truecharts/charts/issues/3421)) + + + + +## [ombi-11.0.27](https://github.com/truecharts/charts/compare/ombi-11.0.26...ombi-11.0.27) (2022-08-08) + +### Chore + +- update helm general non-major helm releases ([#3376](https://github.com/truecharts/charts/issues/3376)) + - replace questions parts with templates ([#3402](https://github.com/truecharts/charts/issues/3402)) + + + + +## [ombi-11.0.26](https://github.com/truecharts/apps/compare/ombi-11.0.25...ombi-11.0.26) (2022-07-29) + +### Chore + +- update docker general non-major ([#3339](https://github.com/truecharts/apps/issues/3339)) + + + + +## [ombi-11.0.25](https://github.com/truecharts/apps/compare/ombi-11.0.24...ombi-11.0.25) (2022-07-26) + +### Chore + +- update home links ([#3291](https://github.com/truecharts/apps/issues/3291)) + - update docker general non-major ([#3301](https://github.com/truecharts/apps/issues/3301)) + - update helm general non-major helm releases ([#3302](https://github.com/truecharts/apps/issues/3302)) + + + + +## [ombi-11.0.24](https://github.com/truecharts/apps/compare/ombi-11.0.23...ombi-11.0.24) (2022-07-23) + +### Chore + +- Auto-update chart README [skip ci] + - Auto-update chart README [skip ci] + - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) + + + + +## [ombi-11.0.24](https://github.com/truecharts/apps/compare/ombi-11.0.23...ombi-11.0.24) (2022-07-23) + +### Chore + +- Auto-update chart README [skip ci] + - update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) + + + + +## [ombi-11.0.24](https://github.com/truecharts/apps/compare/ombi-11.0.23...ombi-11.0.24) (2022-07-23) + +### Chore + +- update helm general non-major helm releases ([#3280](https://github.com/truecharts/apps/issues/3280)) + + + + +## [ombi-11.0.23](https://github.com/truecharts/apps/compare/ombi-11.0.22...ombi-11.0.23) (2022-07-23) + +### Chore + +- update docker general non-major ([#3272](https://github.com/truecharts/apps/issues/3272)) + + + + +## [ombi-11.0.22](https://github.com/truecharts/apps/compare/ombi-11.0.20...ombi-11.0.22) (2022-07-22) + +### Chore + +- Bump all charts to generate config and container references due to huge increase of repository + - update helm general non-major helm releases ([#3268](https://github.com/truecharts/apps/issues/3268)) + + diff --git a/stable/ombi/11.0.29/Chart.lock b/stable/ombi/11.0.29/Chart.lock new file mode 100644 index 0000000000..e92fb43e9b --- /dev/null +++ b/stable/ombi/11.0.29/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.9 +digest: sha256:ba284a99a55c79f156102daabf938cc9651dce305ca6e8b02c2575b3b34d2cc4 +generated: "2022-08-12T06:30:50.061905065Z" diff --git a/stable/ombi/11.0.29/Chart.yaml b/stable/ombi/11.0.29/Chart.yaml new file mode 100644 index 0000000000..9eb4c96b8e --- /dev/null +++ b/stable/ombi/11.0.29/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +appVersion: "4.23.0" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 10.4.9 +deprecated: false +description: Want a Movie or TV Show on Plex or Emby? Use Ombi! +home: https://truecharts.org/docs/charts/stable/ombi +icon: https://truecharts.org/img/hotlink-ok/chart-icons/ombi.png +keywords: + - ombi + - plex + - emby + - sonarr + - radarr + - couchpotato +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: ombi +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/ombi + - https://github.com/tidusjar/Ombi +type: application +version: 11.0.29 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/stable/ombi/11.0.29/README.md b/stable/ombi/11.0.29/README.md new file mode 100644 index 0000000000..9f4fe7c5c0 --- /dev/null +++ b/stable/ombi/11.0.29/README.md @@ -0,0 +1,108 @@ +# ombi + +![Version: 11.0.29](https://img.shields.io/badge/Version-11.0.29-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.23.0](https://img.shields.io/badge/AppVersion-4.23.0-informational?style=flat-square) + +Want a Movie or TV Show on Plex or Emby? Use Ombi! + +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: [ombi](https://truecharts.org/docs/charts/stable/ombi) + +**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)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.truecharts.org | common | 10.4.9 | + +## Installing the Chart + +### TrueNAS SCALE + +To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Installing-an-App). + +### Helm + +To install the chart with the release name `ombi` + +```console +helm repo add TrueCharts https://charts.truecharts.org +helm repo update +helm install ombi TrueCharts/ombi +``` + +## 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/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Upgrade-rollback-delete-an-App). + +### Helm + +To uninstall the `ombi` deployment + +```console +helm uninstall ombi +``` + +## Configuration + +### Helm + +#### Available Settings + +Read through the [values.yaml](./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/k8s-at-home/library-charts/tree/main/charts/stable/common). + +#### Configure using the command line + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install ombi \ + --set env.TZ="America/New York" \ + TrueCharts/ombi +``` + +#### 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 ombi TrueCharts/ombi -f values.yaml +``` + +#### Connecting to other charts + +If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/linking-apps) quick-start guide. + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/manual/SCALE%20Apps/Quick-Start%20Guides/Important-MUST-READ). +- 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/docs/about/sponsor) or contributing back to the project any way you can! + +--- + +All Rights Reserved - The TrueCharts Project diff --git a/stable/ombi/11.0.29/app-readme.md b/stable/ombi/11.0.29/app-readme.md new file mode 100644 index 0000000000..1b0187dcdf --- /dev/null +++ b/stable/ombi/11.0.29/app-readme.md @@ -0,0 +1,8 @@ +Want a Movie or TV Show on Plex or Emby? Use Ombi! + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/docs/charts/stable/ombi](https://truecharts.org/docs/charts/stable/ombi) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can! diff --git a/stable/ombi/11.0.29/charts/common-10.4.9.tgz b/stable/ombi/11.0.29/charts/common-10.4.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0596af14d2b370496420ac3a34d2954226b7a722 GIT binary patch literal 47357 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 F1OP&uJAD8E literal 0 HcmV?d00001 diff --git a/stable/ombi/11.0.29/ix_values.yaml b/stable/ombi/11.0.29/ix_values.yaml new file mode 100644 index 0000000000..97ed619358 --- /dev/null +++ b/stable/ombi/11.0.29/ix_values.yaml @@ -0,0 +1,35 @@ +image: + repository: tccr.io/truecharts/ombi + pullPolicy: IfNotPresent + tag: 4.23.0@sha256:9d91000d6b1b719bb10e722543b682710b08df6ec08ddd47f79dea2bc646b5f2 + +securityContext: + readOnlyRootFilesystem: false + +service: + main: + ports: + main: + port: 3579 + targetPort: 3579 + +persistence: + config: + enabled: true + mountPath: "/config" + +# Enabled mariadb +# ... for more options see https://github.com/tccr.io/truecharts/charts/tree/master/tccr.io/truecharts/mariadb +mariadb: + enabled: false + architecture: standalone + auth: + database: ombi + username: ombi + password: ombi + primary: + persistence: + enabled: false + +portal: + enabled: true diff --git a/stable/ombi/11.0.29/questions.yaml b/stable/ombi/11.0.29/questions.yaml new file mode 100644 index 0000000000..e7259a242d --- /dev/null +++ b/stable/ombi/11.0.29/questions.yaml @@ -0,0 +1,2391 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: Controller + description: Configure Workload Deployment + - name: Container Configuration + description: Additional Container Configuration + - 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: Advanced + description: Advanced Configuration +portals: + open: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: global + label: Global Settings + group: Controller + schema: + type: dict + hidden: true + attrs: + - variable: isSCALE + label: Flag this is SCALE + schema: + type: boolean + default: true + hidden: true + - variable: controller + group: Controller + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: Show Advanced Controller Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: Please specify type of workload to deploy + label: (Advanced) Controller Type + schema: + type: string + required: true + enum: + - value: deployment + description: Deployment + - value: statefulset + description: Statefulset + - value: daemonset + description: Daemonset + default: deployment + - variable: replicas + description: Number of desired pod replicas + label: Desired Replicas + schema: + type: int + required: true + default: 1 + - variable: strategy + description: Please specify type of workload to deploy + label: (Advanced) Update Strategy + schema: + type: string + required: true + enum: + - value: Recreate + description: "Recreate: Kill existing pods before creating new ones" + - value: RollingUpdate + description: "RollingUpdate: Create new pods and then kill old ones" + - value: OnDelete + description: "(Legacy) OnDelete: ignore .spec.template changes" + default: Recreate + - variable: expert + label: Show Expert Configuration Options + 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 + - variable: labelsList + label: Controller Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Controller Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: TZ + label: Timezone + group: Container Configuration + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: envList + label: Image Environment + group: Container Configuration + 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: expertpodconf + group: Container Configuration + label: Show Expert Configuration + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: tty + label: Enable TTY + description: Determines whether containers in a pod runs with TTY enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: stdin + label: Enable STDIN + description: Determines whether containers in a pod runs with stdin enabled. By default pod has it disabled. + group: Workload Details + schema: + type: boolean + default: false + - variable: termination + group: Container Configuration + label: Termination settings + schema: + additional_attrs: true + type: dict + attrs: + - variable: gracePeriodSeconds + label: Grace Period Seconds + schema: + type: int + default: 10 + - variable: podLabelsList + group: Container Configuration + label: Pod Labels + schema: + type: list + default: [] + items: + - variable: podLabelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: podAnnotationsList + group: Container Configuration + label: Pod Annotations + schema: + type: list + default: [] + items: + - variable: podAnnotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: ClusterIP + description: ClusterIP + - value: NodePort + description: NodePort (Advanced) + - value: LoadBalancer + description: LoadBalancer (Advanced) + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: (Advanced) Specify the IP Policy + schema: + show_if: [["type", "!=", "Simple"]] + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: (Advanced) IP Families + description: (Advanced) The IP Families that should be used + schema: + show_if: [["type", "!=", "Simple"]] + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - 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: 3579 + required: true + - variable: advanced + label: Show Advanced Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: Enable the Port + schema: + type: boolean + hidden: true + default: true + - variable: protocol + label: Port Type + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: HTTP + - value: HTTPS + description: HTTPS + - value: TCP + description: TCP + - value: UDP + description: UDP + - variable: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 3579 + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + group: Networking and Services + label: Host-Networking (Complicated) + schema: + type: boolean + default: false + - variable: externalInterfaces + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + 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: + 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 + show_subquestions_if: static + subquestions: + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + 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: dnsPolicy + group: Networking and Services + label: dnsPolicy + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ClusterFirst + description: ClusterFirst + - value: ClusterFirstWithHostNet + description: ClusterFirstWithHostNet + - value: None + description: None + - variable: dnsConfig + label: DNS Configuration + group: Networking and Services + description: Specify custom DNS configuration which will be applied to the pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: nameservers + label: Name Servers + schema: + default: [] + type: list + items: + - variable: nameserver + label: Name Server + schema: + type: string + - variable: options + label: Options + schema: + default: [] + type: list + items: + - variable: option + label: Option Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: searches + label: Searches + schema: + default: [] + type: list + items: + - variable: search + label: Search Entry + schema: + type: string + - 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, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: Simple + enum: + - value: Simple + description: Simple + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: 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: nodePort + label: Node Port (Optional) + description: This port gets exposed to the node. Only considered when service type is NodePort + schema: + type: int + min: 9000 + max: 65535 + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and 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: simplePVC + enum: + - value: simplePVC + description: PVC (simple) + - value: simpleHP + description: Host Path (simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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 + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 999Gi + - variable: hostPathType + label: (Advanced) hostPath Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) storageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: name + label: Name (Optional) + description: "Not required, please set to config when mounting /config or temp when mounting /tmp" + schema: + type: string + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: simpleHP + enum: + - value: simplePVC + description: PVC (Simple) + - value: simpleHP + description: Host Path (Simple) + - value: emptyDir + description: emptyDir + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - 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: setPermissionsSimple + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "simpleHP"]] + type: boolean + default: true + - variable: setPermissions + label: Automatic Permissions + description: Automatically set permissions on install + schema: + show_if: [["type", "=", "hostPath"]] + type: boolean + default: true + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPathSimple + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "simpleHP"]] + type: hostpath + - 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: 999Gi + - variable: hostPathType + label: (Advanced) Host Path Type + schema: + show_if: [["type", "=", "hostPath"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: DirectoryOrCreate + description: DirectoryOrCreate + - value: Directory + description: Directory + - value: FileOrCreate + description: FileOrCreate + - value: File + description: File + - value: Socket + description: Socket + - value: CharDevice + description: CharDevice + - value: BlockDevice + description: BlockDevice + - variable: storageClass + label: (Advanced) StorageClass + description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!" + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: SCALE-ZFS + - variable: accessMode + label: (Advanced) Access Mode + description: Allow or disallow multiple PVC's writhing to the same PV + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: ReadWriteOnce + enum: + - value: ReadWriteOnce + description: ReadWriteOnce + - value: ReadOnlyMany + description: ReadOnlyMany + - value: ReadWriteMany + description: ReadWriteMany + - variable: advanced + label: Show Advanced Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main 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: [] + 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: tls + label: TLS-Settings + schema: + type: list + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: expert + label: Show Expert Configuration Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enableFixedMiddlewares + description: These middlewares enforce a number of best practices. + label: Enable Default Middlewares + schema: + type: boolean + default: true + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: labelsList + label: Labels + schema: + type: list + default: [] + items: + - variable: labelItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: annotationsList + label: Annotations + schema: + type: list + default: [] + items: + - variable: annotationItem + label: Label + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - 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: service + 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: [] + 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: scaleCert + label: Select TrueNAS SCALE Certificate + schema: + type: int + $ref: + - "definitions/certificate" + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: 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: + - 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 + 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: "002" + - 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: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: capabilities + label: Capabilities + schema: + additional_attrs: true + type: dict + attrs: + - variable: drop + label: Drop Capability + schema: + type: list + default: [] + items: + - variable: dropEntry + label: "" + schema: + type: string + - variable: add + label: Add Capability + schema: + type: list + default: [] + items: + - variable: addEntry + label: "" + schema: + type: string + - variable: podSecurityContext + group: Security and Permissions + label: Pod Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: 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 + + - variable: advancedresources + label: Set Custom Resource Limits/Requests (Advanced) + group: Resources and Devices + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: resources + label: "" + 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 10m + 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/docs/manual/SCALE%20Apps/indepth/validation" + schema: + type: string + default: 50Mi + 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: hostPath + 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" + # Specify GPU configuration + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] +# - variable: autoscaling +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - 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: +# additional_attrs: true +# type: dict +# attrs: +# - 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: 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: openvpn + description: OpenVPN + - value: wireguard + description: Wireguard + - variable: openvpn + label: OpenVPN Settings + schema: + 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 + default: "" + required: true + - 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: dict + 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: "" + required: true + - 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 + - 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: 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: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System, Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: NodePort + enum: + - value: NodePort + description: NodePort + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: LoadBalancerIP + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: nodePort + description: Leave Empty to Disable + label: "nodePort" + schema: + type: int + default: 36107 + - 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: promtail + label: Promtail + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: loki + label: Loki URL + schema: + type: string + required: true + - variable: logs + label: Log Paths + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: path + label: Path + schema: + type: string + required: true + - variable: args + label: Promtail Command Line Arguments + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + required: true + - variable: envList + label: Promtail 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 diff --git a/stable/ombi/11.0.29/templates/common.yaml b/stable/ombi/11.0.29/templates/common.yaml new file mode 100644 index 0000000000..c1a366e1cf --- /dev/null +++ b/stable/ombi/11.0.29/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.common.loader.all" . }} diff --git a/stable/ombi/11.0.29/values.yaml b/stable/ombi/11.0.29/values.yaml new file mode 100644 index 0000000000..e69de29bb2