From 850ccf71144eedcd447886e78bc1df33cb199b5a Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Wed, 6 Mar 2024 14:12:55 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/anything-llm/1.0.6/.helmignore | 30 + stable/anything-llm/1.0.6/CHANGELOG.md | 11 + stable/anything-llm/1.0.6/Chart.yaml | 37 + stable/anything-llm/1.0.6/README.md | 28 + stable/anything-llm/1.0.6/app-changelog.md | 3 + stable/anything-llm/1.0.6/app-readme.md | 8 + .../1.0.6/charts/common-17.5.1.tgz | Bin 0 -> 99629 bytes stable/anything-llm/1.0.6/ix_values.yaml | 155 + stable/anything-llm/1.0.6/questions.yaml | 3763 +++++++++++++++++ stable/anything-llm/1.0.6/templates/NOTES.txt | 1 + .../anything-llm/1.0.6/templates/_secrets.tpl | 13 + .../anything-llm/1.0.6/templates/common.yaml | 11 + stable/anything-llm/1.0.6/values.yaml | 0 stable/anything-llm/item.yaml | 4 + .../1.0.0/app-changelog.md | 3 - stable/twofauth/1.0.6/app-changelog.md | 3 - 16 files changed, 4064 insertions(+), 6 deletions(-) create mode 100644 stable/anything-llm/1.0.6/.helmignore create mode 100644 stable/anything-llm/1.0.6/CHANGELOG.md create mode 100644 stable/anything-llm/1.0.6/Chart.yaml create mode 100644 stable/anything-llm/1.0.6/README.md create mode 100644 stable/anything-llm/1.0.6/app-changelog.md create mode 100644 stable/anything-llm/1.0.6/app-readme.md create mode 100644 stable/anything-llm/1.0.6/charts/common-17.5.1.tgz create mode 100644 stable/anything-llm/1.0.6/ix_values.yaml create mode 100755 stable/anything-llm/1.0.6/questions.yaml create mode 100644 stable/anything-llm/1.0.6/templates/NOTES.txt create mode 100644 stable/anything-llm/1.0.6/templates/_secrets.tpl create mode 100644 stable/anything-llm/1.0.6/templates/common.yaml create mode 100644 stable/anything-llm/1.0.6/values.yaml create mode 100644 stable/anything-llm/item.yaml delete mode 100644 stable/game-server-watcher/1.0.0/app-changelog.md delete mode 100644 stable/twofauth/1.0.6/app-changelog.md diff --git a/stable/anything-llm/1.0.6/.helmignore b/stable/anything-llm/1.0.6/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/stable/anything-llm/1.0.6/.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/stable/anything-llm/1.0.6/CHANGELOG.md b/stable/anything-llm/1.0.6/CHANGELOG.md new file mode 100644 index 00000000000..5620e347078 --- /dev/null +++ b/stable/anything-llm/1.0.6/CHANGELOG.md @@ -0,0 +1,11 @@ +--- +title: Changelog +--- + + +*for the complete changelog, please refer to the website* + +**Important:** + + +## [anything-llm-1.0.6](https://github.com/truecharts/charts/compare/anything-llm-1.0.5...anything-llm-1.0.6) (2024-03-06) \ No newline at end of file diff --git a/stable/anything-llm/1.0.6/Chart.yaml b/stable/anything-llm/1.0.6/Chart.yaml new file mode 100644 index 00000000000..fe46d1964c1 --- /dev/null +++ b/stable/anything-llm/1.0.6/Chart.yaml @@ -0,0 +1,37 @@ +annotations: + max_scale_version: 24.04.0 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: AI + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: stable +apiVersion: v2 +appVersion: latest +dependencies: + - name: common + version: 17.5.1 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Open-source ChatGPT experience for LLMs, embedders, and vector databases. +home: https://truecharts.org/charts/stable/anything-llm +icon: https://truecharts.org/img/hotlink-ok/chart-icons/anything-llm.png +keywords: + - anything-llm + - ai +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: anything-llm +sources: + - https://github.com/Mintplex-Labs/anything-llm + - https://github.com/truecharts/charts/tree/master/charts/stable/anything-llm + - https://ghcr.io/mintplex-labs/anything-llm +type: application +version: 1.0.6 diff --git a/stable/anything-llm/1.0.6/README.md b/stable/anything-llm/1.0.6/README.md new file mode 100644 index 00000000000..5b6abe3b8b8 --- /dev/null +++ b/stable/anything-llm/1.0.6/README.md @@ -0,0 +1,28 @@ +--- +title: README +--- + +## General Info + +TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/anything-llm) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/stable/anything-llm/1.0.6/app-changelog.md b/stable/anything-llm/1.0.6/app-changelog.md new file mode 100644 index 00000000000..85e1d081dd2 --- /dev/null +++ b/stable/anything-llm/1.0.6/app-changelog.md @@ -0,0 +1,3 @@ + + +## [anything-llm-1.0.6](https://github.com/truecharts/charts/compare/anything-llm-1.0.5...anything-llm-1.0.6) (2024-03-06) \ No newline at end of file diff --git a/stable/anything-llm/1.0.6/app-readme.md b/stable/anything-llm/1.0.6/app-readme.md new file mode 100644 index 00000000000..2901cfdb189 --- /dev/null +++ b/stable/anything-llm/1.0.6/app-readme.md @@ -0,0 +1,8 @@ +Open-source ChatGPT experience for LLMs, embedders, and vector databases. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/anything-llm](https://truecharts.org/charts/stable/anything-llm) + +--- + +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/stable/anything-llm/1.0.6/charts/common-17.5.1.tgz b/stable/anything-llm/1.0.6/charts/common-17.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6bb96f1f5af2e070961ac6b8a22fe16ff62d5d6f GIT binary patch literal 99629 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ú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 l0zRhXG0)8Mi4n + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + + - variable: hotdir + label: "App HotDir Storage" + description: "Stores the Application HotDir." + 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: 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: outputs + label: "App Outputs Storage" + description: "Stores the Application Outputs." + 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: 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: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + + - 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: [{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: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + + - 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 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 and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: 'gpu.intel.com/i915' + label: Add Intel i915 GPUs + schema: + type: int + default: 0 + - variable: 'nvidia.com/gpu' + label: Add NVIDIA GPUs (Experimental) + schema: + type: int + default: 0 + - variable: 'amd.com/gpu' + label: Add AMD GPUs + schema: + type: int + default: 0 + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + + - 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/stable/anything-llm/1.0.6/templates/NOTES.txt b/stable/anything-llm/1.0.6/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/anything-llm/1.0.6/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/anything-llm/1.0.6/templates/_secrets.tpl b/stable/anything-llm/1.0.6/templates/_secrets.tpl new file mode 100644 index 00000000000..f03181ae0bb --- /dev/null +++ b/stable/anything-llm/1.0.6/templates/_secrets.tpl @@ -0,0 +1,13 @@ +{{/* Define the secrets */}} +{{- define "anythinglmm.secrets" -}} +{{- $secretName := (printf "%s-anythinglmm-secrets" (include "tc.v1.common.lib.chart.names.fullname" $)) }} + +{{- $jwtSecret := randAlphaNum 64 -}} + + {{- with lookup "v1" "Secret" .Release.Namespace $secretName -}} + {{- $jwtSecret = index .data "JWT_SECRET" | b64dec -}} + {{- end }} +enabled: true +data: + JWT_SECRET: {{ $jwtSecret }} +{{- end -}} diff --git a/stable/anything-llm/1.0.6/templates/common.yaml b/stable/anything-llm/1.0.6/templates/common.yaml new file mode 100644 index 00000000000..bbd43da7253 --- /dev/null +++ b/stable/anything-llm/1.0.6/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{/* Render secrets for anythinglmm */}} +{{- $secrets := include "anythinglmm.secrets" . | fromYaml -}} +{{- if $secrets -}} + {{- $_ := set .Values.secret "anythinglmm-secrets" $secrets -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} diff --git a/stable/anything-llm/1.0.6/values.yaml b/stable/anything-llm/1.0.6/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/anything-llm/item.yaml b/stable/anything-llm/item.yaml new file mode 100644 index 00000000000..8ec481ba6f1 --- /dev/null +++ b/stable/anything-llm/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/anything-llm.png +categories: + - AI +screenshots: [] diff --git a/stable/game-server-watcher/1.0.0/app-changelog.md b/stable/game-server-watcher/1.0.0/app-changelog.md deleted file mode 100644 index 62d38ca78a0..00000000000 --- a/stable/game-server-watcher/1.0.0/app-changelog.md +++ /dev/null @@ -1,3 +0,0 @@ - - -## [game-server-watcher-1.0.0](https://github.com/truecharts/charts/compare/game-server-watcher-0.0.4...game-server-watcher-1.0.0) (2024-03-06) \ No newline at end of file diff --git a/stable/twofauth/1.0.6/app-changelog.md b/stable/twofauth/1.0.6/app-changelog.md deleted file mode 100644 index ba28400bb73..00000000000 --- a/stable/twofauth/1.0.6/app-changelog.md +++ /dev/null @@ -1,3 +0,0 @@ - - -## [twofauth-1.0.6](https://github.com/truecharts/charts/compare/twofauth-1.0.5...twofauth-1.0.6) (2024-03-06) \ No newline at end of file