From 292ea65ea21f2f9c75bd2c4437a8ad913d07b8e8 Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 8 Feb 2021 14:50:00 +0100 Subject: [PATCH] Add Stage-2 Apps Please consider all these as mostly feature complete BETA Apps for the time being Signed-off-by: Kjeld Schouten-Lebbing --- charts/jellyfin/0.1.0/.helmignore | 24 + charts/jellyfin/0.1.0/Chart.lock | 6 + charts/jellyfin/0.1.0/Chart.yaml | 22 + charts/jellyfin/0.1.0/LICENSE | 201 ++++++++ charts/jellyfin/0.1.0/README.md | 5 + charts/jellyfin/0.1.0/app-readme.md | 3 + .../jellyfin/0.1.0/charts/common-0.10.1.tgz | Bin 0 -> 20794 bytes charts/jellyfin/0.1.0/questions.yaml | 311 ++++++++++++ charts/jellyfin/0.1.0/templates/common.yaml | 1 + charts/jellyfin/0.1.0/test_values.yaml | 43 ++ charts/jellyfin/0.1.0/values.yaml | 48 ++ charts/jellyfin/icon.png | Bin 0 -> 27336 bytes charts/jellyfin/item.yaml | 3 + charts/kms/0.1.0/.helmignore | 24 + charts/kms/0.1.0/Chart.lock | 6 + charts/kms/0.1.0/Chart.yaml | 17 + charts/kms/0.1.0/LICENSE | 201 ++++++++ charts/kms/0.1.0/README.md | 5 + charts/kms/0.1.0/app-readme.md | 3 + charts/kms/0.1.0/charts/common-0.10.1.tgz | Bin 0 -> 20794 bytes charts/kms/0.1.0/questions.yaml | 227 +++++++++ charts/kms/0.1.0/templates/common.yaml | 1 + charts/kms/0.1.0/test_values.yaml | 32 ++ charts/kms/0.1.0/values.yaml | 36 ++ charts/kms/icon.jpg | Bin 0 -> 17533 bytes charts/kms/item.yaml | 3 + charts/node-red/0.1.0/.helmignore | 24 + charts/node-red/0.1.0/Chart.lock | 6 + charts/node-red/0.1.0/Chart.yaml | 20 + charts/node-red/0.1.0/LICENSE | 201 ++++++++ charts/node-red/0.1.0/README.md | 5 + charts/node-red/0.1.0/app-readme.md | 3 + .../node-red/0.1.0/charts/common-0.10.1.tgz | Bin 0 -> 20794 bytes charts/node-red/0.1.0/questions.yaml | 312 ++++++++++++ charts/node-red/0.1.0/templates/common.yaml | 1 + charts/node-red/0.1.0/test_values.yaml | 37 ++ charts/node-red/0.1.0/values.yaml | 41 ++ charts/node-red/item.yaml | 3 + charts/transmission/0.2.0/.helmignore | 24 + charts/transmission/0.2.0/Chart.lock | 6 + charts/transmission/0.2.0/Chart.yaml | 20 + charts/transmission/0.2.0/LICENSE | 201 ++++++++ charts/transmission/0.2.0/README.md | 5 + charts/transmission/0.2.0/app-readme.md | 3 + .../0.2.0/charts/common-0.10.1.tgz | Bin 0 -> 20794 bytes charts/transmission/0.2.0/questions.yaml | 457 ++++++++++++++++++ .../transmission/0.2.0/templates/common.yaml | 1 + charts/transmission/0.2.0/test_values.yaml | 81 ++++ charts/transmission/0.2.0/values.yaml | 61 +++ charts/transmission/item.yaml | 3 + 50 files changed, 2737 insertions(+) create mode 100644 charts/jellyfin/0.1.0/.helmignore create mode 100644 charts/jellyfin/0.1.0/Chart.lock create mode 100644 charts/jellyfin/0.1.0/Chart.yaml create mode 100644 charts/jellyfin/0.1.0/LICENSE create mode 100644 charts/jellyfin/0.1.0/README.md create mode 100644 charts/jellyfin/0.1.0/app-readme.md create mode 100644 charts/jellyfin/0.1.0/charts/common-0.10.1.tgz create mode 100644 charts/jellyfin/0.1.0/questions.yaml create mode 100644 charts/jellyfin/0.1.0/templates/common.yaml create mode 100644 charts/jellyfin/0.1.0/test_values.yaml create mode 100644 charts/jellyfin/0.1.0/values.yaml create mode 100644 charts/jellyfin/icon.png create mode 100644 charts/jellyfin/item.yaml create mode 100644 charts/kms/0.1.0/.helmignore create mode 100644 charts/kms/0.1.0/Chart.lock create mode 100644 charts/kms/0.1.0/Chart.yaml create mode 100644 charts/kms/0.1.0/LICENSE create mode 100644 charts/kms/0.1.0/README.md create mode 100644 charts/kms/0.1.0/app-readme.md create mode 100644 charts/kms/0.1.0/charts/common-0.10.1.tgz create mode 100644 charts/kms/0.1.0/questions.yaml create mode 100644 charts/kms/0.1.0/templates/common.yaml create mode 100644 charts/kms/0.1.0/test_values.yaml create mode 100644 charts/kms/0.1.0/values.yaml create mode 100644 charts/kms/icon.jpg create mode 100644 charts/kms/item.yaml create mode 100644 charts/node-red/0.1.0/.helmignore create mode 100644 charts/node-red/0.1.0/Chart.lock create mode 100644 charts/node-red/0.1.0/Chart.yaml create mode 100644 charts/node-red/0.1.0/LICENSE create mode 100644 charts/node-red/0.1.0/README.md create mode 100644 charts/node-red/0.1.0/app-readme.md create mode 100644 charts/node-red/0.1.0/charts/common-0.10.1.tgz create mode 100644 charts/node-red/0.1.0/questions.yaml create mode 100644 charts/node-red/0.1.0/templates/common.yaml create mode 100644 charts/node-red/0.1.0/test_values.yaml create mode 100644 charts/node-red/0.1.0/values.yaml create mode 100644 charts/node-red/item.yaml create mode 100644 charts/transmission/0.2.0/.helmignore create mode 100644 charts/transmission/0.2.0/Chart.lock create mode 100644 charts/transmission/0.2.0/Chart.yaml create mode 100644 charts/transmission/0.2.0/LICENSE create mode 100644 charts/transmission/0.2.0/README.md create mode 100644 charts/transmission/0.2.0/app-readme.md create mode 100644 charts/transmission/0.2.0/charts/common-0.10.1.tgz create mode 100644 charts/transmission/0.2.0/questions.yaml create mode 100644 charts/transmission/0.2.0/templates/common.yaml create mode 100644 charts/transmission/0.2.0/test_values.yaml create mode 100644 charts/transmission/0.2.0/values.yaml create mode 100644 charts/transmission/item.yaml diff --git a/charts/jellyfin/0.1.0/.helmignore b/charts/jellyfin/0.1.0/.helmignore new file mode 100644 index 00000000000..e559de0a012 --- /dev/null +++ b/charts/jellyfin/0.1.0/.helmignore @@ -0,0 +1,24 @@ +# 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 diff --git a/charts/jellyfin/0.1.0/Chart.lock b/charts/jellyfin/0.1.0/Chart.lock new file mode 100644 index 00000000000..333eba299a4 --- /dev/null +++ b/charts/jellyfin/0.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 +digest: sha256:331c9e36f4741751c9e2d7e88744a78369c7280c45d2a7b207131defacd32027 +generated: "2021-02-05T22:16:21.8150161+01:00" diff --git a/charts/jellyfin/0.1.0/Chart.yaml b/charts/jellyfin/0.1.0/Chart.yaml new file mode 100644 index 00000000000..8e929d1e360 --- /dev/null +++ b/charts/jellyfin/0.1.0/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: 10.6.4 +description: Jellyfin is a Free Software Media System +name: jellyfin +version: 0.1.0 +upstream_version: 4.2.1 +keywords: + - jellyfin + - plex + - emby +home: https://github.com/truecharts/charts/tree/dev/charts/jellyfin +icon: https://raw.githubusercontent.com/truecharts/truecharts/dev/charts/jellyfin/icon.jpg?raw=true +sources: + - https://github.com/k8s-at-home/charts/blob/master/charts/jellyfin + - https://hub.docker.com/r/linuxserver/Jellyfin/ + - https://github.com/jellyfin/jellyfin +maintainers: + - name: TrueCharts +dependencies: + - name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 diff --git a/charts/jellyfin/0.1.0/LICENSE b/charts/jellyfin/0.1.0/LICENSE new file mode 100644 index 00000000000..056d3dab356 --- /dev/null +++ b/charts/jellyfin/0.1.0/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 k8s@Home + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/charts/jellyfin/0.1.0/README.md b/charts/jellyfin/0.1.0/README.md new file mode 100644 index 00000000000..abfb40e275e --- /dev/null +++ b/charts/jellyfin/0.1.0/README.md @@ -0,0 +1,5 @@ +# Jellyfin helm chart + +## Configuration + +Please refer to questions.yaml for a detailed overview on supported configurable items. diff --git a/charts/jellyfin/0.1.0/app-readme.md b/charts/jellyfin/0.1.0/app-readme.md new file mode 100644 index 00000000000..a9758baff00 --- /dev/null +++ b/charts/jellyfin/0.1.0/app-readme.md @@ -0,0 +1,3 @@ +# Jellyfin + +Jellyfin chart is a chart designed to deploy Jellyfin in a TrueNAS SCALE kubernetes cluster. diff --git a/charts/jellyfin/0.1.0/charts/common-0.10.1.tgz b/charts/jellyfin/0.1.0/charts/common-0.10.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b1e1adda23a011e32e820a16c3ba12fa6f720338 GIT binary patch literal 20794 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 Xn1yfr4VZDIn214W;O8#4= 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 Ji)sMc0RW*bThIUi literal 0 HcmV?d00001 diff --git a/charts/jellyfin/0.1.0/questions.yaml b/charts/jellyfin/0.1.0/questions.yaml new file mode 100644 index 00000000000..c2108ae1942 --- /dev/null +++ b/charts/jellyfin/0.1.0/questions.yaml @@ -0,0 +1,311 @@ +groups: + - name: "Container Image" + description: "configure container image" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Networking / service configuration" + - name: "Storage" + description: "configure app volume mounts" + - name: "Ingress" + description: "Ingress configuration" + +portals: + web_portal: + protocols: + - "http" + host: + - "$node_ip" + ports: + - "$variable-service.port.nodePort" + +questions: + # Image related + - variable: image + description: "Docker Image Details" + label: "Docker Image" + group: "Container Image" + schema: + type: dict + required: true + attrs: + - variable: repository + description: "Docker image repository" + label: "Image repository" + schema: + type: string + required: true + default: "linuxserver/jellyfin" + - variable: tag + description: "Tag to use for specified image" + label: "Image Tag" + schema: + type: string + default: "version-10.6.4-1" + - variable: pullPolicy + description: "Docker Image Pull Policy" + label: "Image Pull Policy" + schema: + type: string + default: "IfNotPresent" + enum: + - value: "IfNotPresent" + description: "Only pull image if not present on host" + - value: "Always" + description: "Always pull image even if present on host" + - value: "Never" + description: "Never pull image even if it's not present on host" + + # Configure Time Zone + - variable: timezone + group: "Configuration" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Configure Enviroment Variables + - variable: environmentVariables + label: "Image environment" + group: "Configuration" + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + show_subquestions_if: "NodePort" + subquestions: + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 8096 + editable: false + - variable: nodePort + label: "Node Port to expose for UI" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + + # Enable Host Networking + - variable: hostNetworking + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + +## TrueCharts Specific + + - variable: appVolumeMounts + label: "app storage" + group: "Storage" + schema: + type: dict + attrs: + # Config ------------------------ + - variable: config + label: "config dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "config" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/config" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: media + label: "media dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "media" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/media" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + + - variable: appIngress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: webui + label: "Web Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Web Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: paths + label: "paths" + schema: + type: list + default: [] + items: + - variable: path + label: "Path" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "prefix" + - variable: certType + label: "Select Certificate Type" + schema: + type: string + default: "letsencrypt-prod" + enum: + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "letsencrypt-prod" + description: "Letsencrypt Production Certificates" + - value: "letsencrypt-staging" + description: "Letsencrypt Test Certificates" + - value: "wildcard" + description: "Global Wildcard Certificate" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "existingcert" + description: "Existing Certificate" + show_subquestions_if: "existingcert" + subquestions: + - variable: existingcert + label: "Existing Certificate Name" + schema: + type: string + default: "" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + type: string + default: "" diff --git a/charts/jellyfin/0.1.0/templates/common.yaml b/charts/jellyfin/0.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/jellyfin/0.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/jellyfin/0.1.0/test_values.yaml b/charts/jellyfin/0.1.0/test_values.yaml new file mode 100644 index 00000000000..819d0ebfcbc --- /dev/null +++ b/charts/jellyfin/0.1.0/test_values.yaml @@ -0,0 +1,43 @@ + +# Default values for jellyfin. + +image: + repository: linuxserver/jellyfin + pullPolicy: IfNotPresent + tag: version-10.6.4-1 + +strategy: + type: Recreate + +service: + port: + port: 8096 + +persistence: + config: + enabled: false + emptyDir: false + + media: + enabled: false + emptyDir: false + mountPath: /media + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" + +## TrueCharts Config + +appVolumesEnabled: false +emptyDirVolumes: true + + diff --git a/charts/jellyfin/0.1.0/values.yaml b/charts/jellyfin/0.1.0/values.yaml new file mode 100644 index 00000000000..b89e8233c52 --- /dev/null +++ b/charts/jellyfin/0.1.0/values.yaml @@ -0,0 +1,48 @@ + +# Default values for jellyfin. + +image: + repository: linuxserver/jellyfin + pullPolicy: IfNotPresent + tag: version-10.6.4-1 + +strategy: + type: Recreate + +service: + port: + port: 8096 + +persistence: + config: + enabled: false + emptyDir: false + + media: + enabled: false + emptyDir: false + mountPath: /media + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" + +## TrueCharts Config + +appVolumesEnabled: true + +appVolumeMounts: + config: + enabled: true + emptyDir: false + media: + enabled: true + emptyDir: false diff --git a/charts/jellyfin/icon.png b/charts/jellyfin/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..79c61d185763abef0351c387f468064bc5152984 GIT binary patch literal 27336 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 literal 0 HcmV?d00001 diff --git a/charts/jellyfin/item.yaml b/charts/jellyfin/item.yaml new file mode 100644 index 00000000000..0ca35f4dfd1 --- /dev/null +++ b/charts/jellyfin/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/truecharts/truecharts/dev/charts/jellyfin/icon.png?raw=true diff --git a/charts/kms/0.1.0/.helmignore b/charts/kms/0.1.0/.helmignore new file mode 100644 index 00000000000..e559de0a012 --- /dev/null +++ b/charts/kms/0.1.0/.helmignore @@ -0,0 +1,24 @@ +# 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 diff --git a/charts/kms/0.1.0/Chart.lock b/charts/kms/0.1.0/Chart.lock new file mode 100644 index 00000000000..723bc854ed1 --- /dev/null +++ b/charts/kms/0.1.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 +digest: sha256:331c9e36f4741751c9e2d7e88744a78369c7280c45d2a7b207131defacd32027 +generated: "2021-02-05T22:16:34.4033926+01:00" diff --git a/charts/kms/0.1.0/Chart.yaml b/charts/kms/0.1.0/Chart.yaml new file mode 100644 index 00000000000..5107ef9d0bb --- /dev/null +++ b/charts/kms/0.1.0/Chart.yaml @@ -0,0 +1,17 @@ +apiVersion: v2 +appVersion: latest +description: Private Windows Activation Server for development and testing +name: kms +version: 0.1.0 +keywords: + - kms +home: https://github.com/truecharts/charts/tree/dev/charts/kms +icon: https://github.com/KMS/KMS/blob/phantom-develop/Logo/512.png?raw=true +sources: +maintainers: + - name: TrueCharts +dependencies: + - name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 + diff --git a/charts/kms/0.1.0/LICENSE b/charts/kms/0.1.0/LICENSE new file mode 100644 index 00000000000..056d3dab356 --- /dev/null +++ b/charts/kms/0.1.0/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 k8s@Home + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/charts/kms/0.1.0/README.md b/charts/kms/0.1.0/README.md new file mode 100644 index 00000000000..42a03d92387 --- /dev/null +++ b/charts/kms/0.1.0/README.md @@ -0,0 +1,5 @@ +# KMS helm chart + +## Configuration + +Please refer to questions.yaml for a detailed overview on supported configurable items. diff --git a/charts/kms/0.1.0/app-readme.md b/charts/kms/0.1.0/app-readme.md new file mode 100644 index 00000000000..de06cd0aadc --- /dev/null +++ b/charts/kms/0.1.0/app-readme.md @@ -0,0 +1,3 @@ +# KMS + +KMS chart is a chart designed to deploy KMS in a TrueNAS SCALE kubernetes cluster. diff --git a/charts/kms/0.1.0/charts/common-0.10.1.tgz b/charts/kms/0.1.0/charts/common-0.10.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b1e1adda23a011e32e820a16c3ba12fa6f720338 GIT binary patch literal 20794 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 Xn1yfr4VZDIn214W;O8#4= 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 Ji)sMc0RW*bThIUi literal 0 HcmV?d00001 diff --git a/charts/kms/0.1.0/questions.yaml b/charts/kms/0.1.0/questions.yaml new file mode 100644 index 00000000000..f8da1ed0748 --- /dev/null +++ b/charts/kms/0.1.0/questions.yaml @@ -0,0 +1,227 @@ +groups: + - name: "Container Image" + description: "configure container image" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Networking / service configuration" + - name: "Storage" + description: "configure app volume mounts" + - name: "Ingress" + description: "Ingress configuration" + +portals: + web_portal: + protocols: + - "http" + host: + - "$node_ip" + ports: + - "$variable-service.port.nodePort" + +questions: + # Image related + - variable: image + description: "Docker Image Details" + label: "Docker Image" + group: "Container Image" + schema: + type: dict + required: true + attrs: + - variable: repository + description: "Docker image repository" + label: "Image repository" + schema: + type: string + required: true + default: "pykmsorg/py-kms" + - variable: tag + description: "Tag to use for specified image" + label: "Image Tag" + schema: + type: string + default: "latest" + - variable: pullPolicy + description: "Docker Image Pull Policy" + label: "Image Pull Policy" + schema: + type: string + default: "IfNotPresent" + enum: + - value: "IfNotPresent" + description: "Only pull image if not present on host" + - value: "Always" + description: "Always pull image even if present on host" + - value: "Never" + description: "Never pull image even if it's not present on host" + + # Configure Time Zone + - variable: timezone + group: "Configuration" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Configure Enviroment Variables + - variable: environmentVariables + label: "Image environment" + group: "Configuration" + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + show_subquestions_if: "NodePort" + subquestions: + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 1688 + editable: false + - variable: nodePort + label: "Node Port to expose for UI" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + + # Enable Host Networking + - variable: hostNetworking + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + +## TrueCharts Specific + + - variable: appVolumeMounts + label: "app storage" + group: "Storage" + schema: + type: dict + attrs: + # Config ------------------------ + - variable: config + label: "config dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "config" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/config" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + + - variable: appIngress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: kms + label: "KMS Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable TCP Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + label: "Select Ingress Type" + schema: + type: string + default: "TCP" + required: true + editable: false + enum: + - value: "TCP" + description: "Plain TCP Connections" + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "kms" + required: true + enum: + - value: "kms" + description: "KMS: port 1688" + - variable: certType + label: "Select Certificate Type" + schema: + editable: false + type: string + default: "" + enum: + - value: "" + description: "No Encryption/TLS/Certificates" diff --git a/charts/kms/0.1.0/templates/common.yaml b/charts/kms/0.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/kms/0.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/kms/0.1.0/test_values.yaml b/charts/kms/0.1.0/test_values.yaml new file mode 100644 index 00000000000..ba1a6a8ec27 --- /dev/null +++ b/charts/kms/0.1.0/test_values.yaml @@ -0,0 +1,32 @@ +# Default values for KMS. + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +service: + port: + port: 1688 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: false + emptyDir: false + + +## TrueCharts Values + +appVolumesEnabled: false +emptyDirVolumes: true + + diff --git a/charts/kms/0.1.0/values.yaml b/charts/kms/0.1.0/values.yaml new file mode 100644 index 00000000000..8177dcd1105 --- /dev/null +++ b/charts/kms/0.1.0/values.yaml @@ -0,0 +1,36 @@ +# Default values for KMS. + +image: + repository: pykmsorg/py-kms + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +service: + port: + port: 1688 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: false + emptyDir: false + + +## TrueCharts Values + +appVolumesEnabled: true +emptyDirVolumes: false + +appVolumeMounts: + config: + enabled: true + emptyDir: false + datasetName: "config" + diff --git a/charts/kms/icon.jpg b/charts/kms/icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af7791e1320a823cad29e726c37be99ad8409898 GIT binary patch literal 17533 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 miIeDc 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 Xn1yfr4VZDIn214W;O8#4= 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 Ji)sMc0RW*bThIUi literal 0 HcmV?d00001 diff --git a/charts/node-red/0.1.0/questions.yaml b/charts/node-red/0.1.0/questions.yaml new file mode 100644 index 00000000000..cc711186fa4 --- /dev/null +++ b/charts/node-red/0.1.0/questions.yaml @@ -0,0 +1,312 @@ +groups: + - name: "Container Image" + description: "configure container image" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Networking / service configuration" + - name: "Storage" + description: "configure app volume mounts" + - name: "Ingress" + description: "Ingress configuration" + +portals: + web_portal: + protocols: + - "http" + host: + - "$node_ip" + ports: + - "$variable-service.port.nodePort" + +questions: + # Image related + - variable: image + description: "Docker Image Details" + label: "Docker Image" + group: "Container Image" + schema: + type: dict + required: true + attrs: + - variable: repository + description: "Docker image repository" + label: "Image repository" + schema: + type: string + required: true + default: "nodered/node-red" + - variable: tag + description: "Tag to use for specified image" + label: "Image Tag" + schema: + type: string + default: "1.2.5" + - variable: pullPolicy + description: "Docker Image Pull Policy" + label: "Image Pull Policy" + schema: + type: string + default: "IfNotPresent" + enum: + - value: "IfNotPresent" + description: "Only pull image if not present on host" + - value: "Always" + description: "Always pull image even if present on host" + - value: "Never" + description: "Never pull image even if it's not present on host" + + # Configure Time Zone + - variable: timezone + group: "Configuration" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Configure Enviroment Variables + - variable: environmentVariables + label: "Image environment" + group: "Configuration" + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + show_subquestions_if: "NodePort" + subquestions: + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 1880 + editable: false + - variable: nodePort + label: "Node Port to expose for UI" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + + # Enable Host Networking + - variable: hostNetworking + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + +## TrueCharts Specific + + - variable: appVolumeMounts + label: "app storage" + group: "Storage" + schema: + type: dict + attrs: + # Config ------------------------ + - variable: config + label: "config dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "config" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/config" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: data + label: "data dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "data" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/data" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + + + - variable: appIngress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: webui + label: "Web Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Web Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: paths + label: "paths" + schema: + type: list + default: [] + items: + - variable: path + label: "Path" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "prefix" + - variable: certType + label: "Select Certificate Type" + schema: + type: string + default: "letsencrypt-prod" + enum: + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "letsencrypt-prod" + description: "Letsencrypt Production Certificates" + - value: "letsencrypt-staging" + description: "Letsencrypt Test Certificates" + - value: "wildcard" + description: "Global Wildcard Certificate" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "existingcert" + description: "Existing Certificate" + show_subquestions_if: "existingcert" + subquestions: + - variable: existingcert + label: "Existing Certificate Name" + schema: + type: string + default: "" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + type: string + default: "" diff --git a/charts/node-red/0.1.0/templates/common.yaml b/charts/node-red/0.1.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/node-red/0.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/node-red/0.1.0/test_values.yaml b/charts/node-red/0.1.0/test_values.yaml new file mode 100644 index 00000000000..8ae595b36d0 --- /dev/null +++ b/charts/node-red/0.1.0/test_values.yaml @@ -0,0 +1,37 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.2.5 + +strategy: + type: Recreate + +# See more environment varaibles in the node-red documentation +# https://nodered.org/docs/getting-started/docker +env: {} + # TZ: + # NODE_OPTIONS: + # NODE_RED_ENABLE_PROJECTS: + # NODE_RED_ENABLE_SAFE_MODE: + # FLOWS: + +service: + port: + port: 1880 + +persistence: + data: + enabled: false + emptyDir: false + mountPath: /data + + +## TrueCharts Config + +appVolumesEnabled: false +emptyDirVolumes: true + + + diff --git a/charts/node-red/0.1.0/values.yaml b/charts/node-red/0.1.0/values.yaml new file mode 100644 index 00000000000..922158cdf8a --- /dev/null +++ b/charts/node-red/0.1.0/values.yaml @@ -0,0 +1,41 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.2.5 + +strategy: + type: Recreate + +# See more environment varaibles in the node-red documentation +# https://nodered.org/docs/getting-started/docker +env: {} + # TZ: + # NODE_OPTIONS: + # NODE_RED_ENABLE_PROJECTS: + # NODE_RED_ENABLE_SAFE_MODE: + # FLOWS: + +service: + port: + port: 1880 + +persistence: + data: + enabled: false + emptyDir: false + mountPath: /data + +## TrueCharts Config + +appVolumesEnabled: true + +appVolumeMounts: + config: + enabled: true + emptyDir: false + data: + enabled: true + emptyDir: false + diff --git a/charts/node-red/item.yaml b/charts/node-red/item.yaml new file mode 100644 index 00000000000..31b0c4a8754 --- /dev/null +++ b/charts/node-red/item.yaml @@ -0,0 +1,3 @@ +categories: + - tools +icon_url: https://nodered.org/about/resources/media/node-red-icon-2.png diff --git a/charts/transmission/0.2.0/.helmignore b/charts/transmission/0.2.0/.helmignore new file mode 100644 index 00000000000..e559de0a012 --- /dev/null +++ b/charts/transmission/0.2.0/.helmignore @@ -0,0 +1,24 @@ +# 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 diff --git a/charts/transmission/0.2.0/Chart.lock b/charts/transmission/0.2.0/Chart.lock new file mode 100644 index 00000000000..01a663ab1b0 --- /dev/null +++ b/charts/transmission/0.2.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 +digest: sha256:331c9e36f4741751c9e2d7e88744a78369c7280c45d2a7b207131defacd32027 +generated: "2021-02-05T22:16:22.2636541+01:00" diff --git a/charts/transmission/0.2.0/Chart.yaml b/charts/transmission/0.2.0/Chart.yaml new file mode 100644 index 00000000000..fd1ee01facc --- /dev/null +++ b/charts/transmission/0.2.0/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +appVersion: version-v0.17.153 +description: API Support for your favorite torrent trackers. +name: transmission +version: 0.2.0 +keywords: + - transmission + - torrent + - usenet +home: https://github.com/truecharts/charts/tree/dev/charts/transmission +icon: https://github.com/Jackett/Jackett/blob/phantom-develop/Logo/512.png?raw=true +sources: + - https://github.com/transmission/transmission + - https://hub.docker.com/r/linuxserver/transmission +maintainers: + - name: TrueCharts +dependencies: + - name: common + repository: https://charts.truecharts.org/ + version: 0.10.1 diff --git a/charts/transmission/0.2.0/LICENSE b/charts/transmission/0.2.0/LICENSE new file mode 100644 index 00000000000..056d3dab356 --- /dev/null +++ b/charts/transmission/0.2.0/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 k8s@Home + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/charts/transmission/0.2.0/README.md b/charts/transmission/0.2.0/README.md new file mode 100644 index 00000000000..0acec02e624 --- /dev/null +++ b/charts/transmission/0.2.0/README.md @@ -0,0 +1,5 @@ +# Transmission helm chart + +## Configuration + +Please refer to questions.yaml for a detailed overview on supported configurable items. diff --git a/charts/transmission/0.2.0/app-readme.md b/charts/transmission/0.2.0/app-readme.md new file mode 100644 index 00000000000..1f588a342b5 --- /dev/null +++ b/charts/transmission/0.2.0/app-readme.md @@ -0,0 +1,3 @@ +# Transmission + +Transmission chart is a chart designed to deploy Transmission in a TrueNAS SCALE kubernetes cluster. diff --git a/charts/transmission/0.2.0/charts/common-0.10.1.tgz b/charts/transmission/0.2.0/charts/common-0.10.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b1e1adda23a011e32e820a16c3ba12fa6f720338 GIT binary patch literal 20794 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 Xn1yfr4VZDIn214W;O8#4= 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 Ji)sMc0RW*bThIUi literal 0 HcmV?d00001 diff --git a/charts/transmission/0.2.0/questions.yaml b/charts/transmission/0.2.0/questions.yaml new file mode 100644 index 00000000000..f04087e3168 --- /dev/null +++ b/charts/transmission/0.2.0/questions.yaml @@ -0,0 +1,457 @@ +groups: + - name: "Container Image" + description: "configure container image" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "network / service configuration" + - name: "Storage" + description: "configure app volume mounts" + - name: "Ingress" + description: "Ingress configuration" + +portals: + web_portal: + protocols: + - "http" + host: + - "$node_ip" + ports: + - "$variable-service.port.nodePort" + +questions: + # Image related + - variable: image + description: "Docker Image Details" + label: "Docker Image" + group: "Container Image" + schema: + type: dict + required: true + attrs: + - variable: repository + description: "Docker image repository" + label: "Image repository" + schema: + type: string + required: true + default: "linuxserver/transmission" + - variable: tag + description: "Tag to use for specified image" + label: "Image Tag" + schema: + type: string + default: "version-3.00-r2" + - variable: pullPolicy + description: "Docker Image Pull Policy" + label: "Image Pull Policy" + schema: + type: string + default: "IfNotPresent" + enum: + - value: "IfNotPresent" + description: "Only pull image if not present on host" + - value: "Always" + description: "Always pull image even if present on host" + - value: "Never" + description: "Never pull image even if it's not present on host" + + # Configure Time Zone + - variable: timezone + group: "Configuration" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Configure Enviroment Variables + - variable: environmentVariables + label: "Image environment" + group: "Configuration" + schema: + type: list + default: [] + items: + - variable: environmentVariable + label: "Environment Variable" + schema: + type: dict + attrs: + - variable: name + label: "Name" + schema: + type: string + - variable: value + label: "Value" + schema: + type: string + + - variable: service + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + show_subquestions_if: "NodePort" + subquestions: + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 9091 + editable: false + - variable: nodePort + label: "Node Port to expose for UI" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true + + - variable: appAdditionalServices + group: "Networking" + label: "Configure additional services" + schema: + type: dict + attrs: + - variable: tcp + label: "" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable TCP port for Torrent Connections" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: port + label: "Configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 51413 + required: false + - variable: type + label: "service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort" + - variable: udp + label: "" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable TCP port for Torrent Connections" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: port + label: "Configuration" + schema: + type: dict + attrs: + - variable: port + label: "container port" + schema: + type: int + default: 51413 + required: false + - variable: type + label: "service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "ClusterIP" + description: "ClusterIP" + - value: "NodePort" + description: "NodePort" + + # Enable Host Network + - variable: hostNetwork + group: "Networking" + label: "Enable Host Network" + schema: + type: boolean + default: false + +## TrueCharts Specific + + - variable: appVolumeMounts + label: "app storage" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "config dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "config" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/config" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: downloads + label: "downloads dataset" + schema: + type: dict + $ref: + - "normalize/ixVolume" + attrs: + - variable: datasetName + label: "Dataset Name" + schema: + type: string + default: "downloads" + required: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "/downloads" + editable: false + - variable: hostPathEnabled + label: "host Path Enabled" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + + + - variable: appIngress + label: "" + group: "Ingress" + schema: + type: dict + attrs: + - variable: webui + label: "Web Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable Web Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: paths + label: "paths" + schema: + type: list + default: [] + items: + - variable: path + label: "Path" + schema: + type: dict + attrs: + - variable: path + label: "path" + schema: + type: string + required: true + default: "/" + - variable: pathType + label: "pathType" + schema: + type: string + required: true + default: "prefix" + - variable: certType + label: "Select Certificate Type" + schema: + type: string + default: "letsencrypt-prod" + enum: + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "letsencrypt-prod" + description: "Letsencrypt Production Certificates" + - value: "letsencrypt-staging" + description: "Letsencrypt Test Certificates" + - value: "wildcard" + description: "Global Wildcard Certificate" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "existingcert" + description: "Existing Certificate" + show_subquestions_if: "existingcert" + subquestions: + - variable: existingcert + label: "Existing Certificate Name" + schema: + type: string + default: "" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + type: string + default: "" + - variable: tcp + label: "TCP Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable TCP Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + label: "Select Ingress Type" + schema: + type: string + default: "TCP" + required: true + editable: false + enum: + - value: "TCP" + description: "Plain TCP Connections" + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "torrent-tcp" + required: true + enum: + - value: "torrent-tcp" + description: "Torrent-TCP: port 51413" + - variable: certType + label: "Select Certificate Type" + schema: + editable: false + type: string + default: "" + enum: + - value: "" + description: "No Encryption/TLS/Certificates" + - variable: udp + label: "UDP Ingress Configuration" + group: "Ingress" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable UDP Ingress" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + label: "Select Ingress Type" + schema: + type: string + default: "UDP" + required: true + editable: false + enum: + - value: "UDP" + description: "Plain UDP Connections" + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "torrent-udp" + required: true + enum: + - value: "torrent-udp" + description: "Torrent-UDP: port 51413" diff --git a/charts/transmission/0.2.0/templates/common.yaml b/charts/transmission/0.2.0/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/transmission/0.2.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/transmission/0.2.0/test_values.yaml b/charts/transmission/0.2.0/test_values.yaml new file mode 100644 index 00000000000..1f25c3389f9 --- /dev/null +++ b/charts/transmission/0.2.0/test_values.yaml @@ -0,0 +1,81 @@ +# Default values for Jackett. + +image: + repository: linuxserver/transmission + pullPolicy: IfNotPresent + tag: version-3.00-r2 + +strategy: + type: Recreate + +service: + port: + port: 9091 + + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: false + emptyDir: false + + torrentblackhole: + enabled: false + emptyDir: false + mountPath: /downloads + ## Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + # storageClass: "-" + # accessMode: ReadWriteOnce + # size: 1Gi + ## Do not delete the pvc upon helm uninstall + # skipuninstall: false + # existingClaim: "" + + +## TrueCharts Values + +appVolumesEnabled: false +emptyDirVolumes: true + + + +appVolumeMounts: + config: + enabled: false + emptyDir: true + datasetName: "config" + mountPath: "/config" + downloads: + enabled: false + emptyDir: true + datasetName: "downloads" + mountPath: "/downloads" + + +appAdditionalServicesEnabled: true +appAdditionalServices: + tcp: + enabled: true + type: ClusterIP + port: + port: 51413 + name: bittorrent-tcp + protocol: TCP + targetPort: 51413 + udp: + enabled: true + type: ClusterIP + port: + port: 51413 + name: bittorrent-udp + protocol: UDP + targetPort: 51413 diff --git a/charts/transmission/0.2.0/values.yaml b/charts/transmission/0.2.0/values.yaml new file mode 100644 index 00000000000..603aacdc0e7 --- /dev/null +++ b/charts/transmission/0.2.0/values.yaml @@ -0,0 +1,61 @@ +# Default values for Jackett. + +image: + repository: linuxserver/transmission + pullPolicy: IfNotPresent + tag: version-3.00-r2 + +strategy: + type: Recreate + +service: + port: + port: 9091 + + additionalServices: + + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: false + emptyDir: false + +## TrueCharts Values + +appVolumesEnabled: true +emptyDirVolumes: false + +appVolumeMounts: + config: + enabled: true + emptyDir: false + datasetName: "config" + downloads: + enabled: true + emptyDir: false + datasetName: "downloads" + + +appAdditionalServicesEnabled: true +appAdditionalServices: + tcp: + enabled: true + type: ClusterIP + port: + port: 51413 + name: bittorrent-tcp + protocol: TCP + targetPort: 51413 + udp: + enabled: true + type: ClusterIP + port: + port: 51413 + name: bittorrent-udp + protocol: UDP + targetPort: 51413 diff --git a/charts/transmission/item.yaml b/charts/transmission/item.yaml new file mode 100644 index 00000000000..ef0bb5986ff --- /dev/null +++ b/charts/transmission/item.yaml @@ -0,0 +1,3 @@ +categories: + - download-tools +icon_url: https://upload.wikimedia.org/wikipedia/commons/6/6d/Transmission_icon.png