diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..cf607c2b --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +*.pyc +*.swp +*.mo +*.o +*.iso +__pycache__ +*.xml +*.pyc +.cache +.pytest_cache +config.py +auto_config.py +.DS_Store +.idea/ +.vscode/ +# IDE resources +.vscode +.idea +.devcontainer/ +Gemfile.lock +.ignore/ +/docs/api/_build/ +/docs/userguide/_build/ +/gui/local_settings.py +gui/static/ +/FreeBSD/ +/filtered-patches/ +/os-base/ +/pbi/ +/sbin/ +src/middlewared/build/ +src/middlewared/dist/ +src/middlewared/middlewared.egg-info/ +.git-repo-setting +nas_source/ +webui/node_modules/ +webui/dll/ +webui/dist/ +npm-debug.log +tests/artifacts/ +tests/test-report.txt +tests/test-report.xml +private_values.yaml +temp/ +library/common-test/charts/ +.cr-release-packages/ +library/common-test/chart.lock diff --git a/.helmdocsignore b/.helmdocsignore new file mode 100644 index 00000000..e69de29b diff --git a/README.md b/README.md index ac2e610d..52c27e1c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # catalog_template -Use this to start your own Basic Catalog +Use this to start your own Basic TrueNAS SCALE Catalog + +It contains: + +- Base folder structure +- Basic required files +- 3 example Trains (charts, stable and test) +- 1 example app in each train (each based on TrueCharts) \ No newline at end of file diff --git a/charts/syncthing/3.1.5/CONFIG.md b/charts/syncthing/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/charts/syncthing/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/charts/syncthing/3.1.5/Chart.lock b/charts/syncthing/3.1.5/Chart.lock new file mode 100644 index 00000000..21034bcf --- /dev/null +++ b/charts/syncthing/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:42.632316521Z" diff --git a/charts/syncthing/3.1.5/Chart.yaml b/charts/syncthing/3.1.5/Chart.yaml new file mode 100644 index 00000000..f6f7c3bf --- /dev/null +++ b/charts/syncthing/3.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: syncthing +version: 3.1.5 +# upstream_version: +appVersion: "auto" +description: P2P file synchronization application +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/stable/syncthing +icon: https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png +keywords: + - syncthing +sources: + - https://syncthing.net/ + - https://github.com/syncthing/syncthing + - https://hub.docker.com/r/syncthing/syncthing +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: luuknieuwdorp + email: luuk@nieuwdorp.me + url: nieuwdorp.me +# annotations: diff --git a/charts/syncthing/3.1.5/README.md b/charts/syncthing/3.1.5/README.md new file mode 100644 index 00000000..fdc91d9c --- /dev/null +++ b/charts/syncthing/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +P2P file synchronization application + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `syncthing` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `syncthing` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/charts/syncthing/3.1.5/app-readme.md b/charts/syncthing/3.1.5/app-readme.md new file mode 100644 index 00000000..7eaa0780 --- /dev/null +++ b/charts/syncthing/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +P2P file synchronization application +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +P2P file synchronization application diff --git a/charts/syncthing/3.1.5/charts/common-3.5.5.tgz b/charts/syncthing/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/charts/syncthing/3.1.5/charts/common-3.5.5.tgz differ diff --git a/charts/syncthing/3.1.5/ix_values.yaml b/charts/syncthing/3.1.5/ix_values.yaml new file mode 100644 index 00000000..2c38d653 --- /dev/null +++ b/charts/syncthing/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: 1.16 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/charts/syncthing/3.1.5/questions.yaml b/charts/syncthing/3.1.5/questions.yaml new file mode 100644 index 00000000..9110b80d --- /dev/null +++ b/charts/syncthing/3.1.5/questions.yaml @@ -0,0 +1,418 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + + # 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 + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "Container port" + schema: + type: int + default: 8384 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8384 + editable: false + hidden: true + # - variable: nodePort + # label: "Host nodePort to expose to (optional)" + # description: "Only gets used when nodePort is selected" + # schema: + # type: int + # min: 9000 + # max: 65535 + # default: 36024 + # required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/var/syncthing" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/charts/syncthing/3.1.5/templates/common.yaml b/charts/syncthing/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/syncthing/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/syncthing/3.1.5/test_values.yaml b/charts/syncthing/3.1.5/test_values.yaml new file mode 100644 index 00000000..b0677868 --- /dev/null +++ b/charts/syncthing/3.1.5/test_values.yaml @@ -0,0 +1,23 @@ +# Default values for Syncthing. + +image: + repository: syncthing/syncthing + pullPolicy: IfNotPresent + tag: 1.16 + +strategy: + type: Recreate + +services: + main: + port: + port: 8384 + +persistence: + config: + enabled: true + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + mountPath: "/var/syncthing/" diff --git a/charts/syncthing/3.1.5/values.yaml b/charts/syncthing/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/charts/syncthing/item.yaml b/charts/syncthing/item.yaml new file mode 100644 index 00000000..62634b42 --- /dev/null +++ b/charts/syncthing/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/syncthing/syncthing/main/assets/logo-128.png diff --git a/features_capability.json b/features_capability.json new file mode 100644 index 00000000..14b386c7 --- /dev/null +++ b/features_capability.json @@ -0,0 +1,42 @@ +{ + "normalize/interfaceConfiguration": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.10-MASTER-somever"} + }, + "normalize/ixVolume": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.10-MASTER-somever"} + }, + "definitions/interface": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.10-MASTER-somever"} + }, + "definitions/gpuConfiguration": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.10-MASTER-somever"} + }, + "definitions/timezone": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.12-MASTER"} + }, + "definitions/nodeIP": { + "stable": {"min": "20.12-ALPHA"}, + "nightlies": {"min": "20.12-MASTER"} + }, + "definitions/certificate": { + "stable": {"min": "21.04-ALPHA"}, + "nightlies": {"min": "21.02-MASTER"} + }, + "definitions/certificateAuthority": { + "stable": {"min": "21.04-ALPHA"}, + "nightlies": {"min": "21.02-MASTER"} + }, + "validations/containerImage": { + "stable": {"min": "21.06-BETA"}, + "nightlies": {"min": "21.04-MASTER"} + }, + "validations/nodePort": { + "stable": {"min": "21.04-ALPHA"}, + "nightlies": {"min": "21.04-MASTER"} + } +} diff --git a/stable/jackett/3.1.5/CONFIG.md b/stable/jackett/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/stable/jackett/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/stable/jackett/3.1.5/Chart.lock b/stable/jackett/3.1.5/Chart.lock new file mode 100644 index 00000000..a225c6db --- /dev/null +++ b/stable/jackett/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:38.578257131Z" diff --git a/stable/jackett/3.1.5/Chart.yaml b/stable/jackett/3.1.5/Chart.yaml new file mode 100644 index 00000000..e29da188 --- /dev/null +++ b/stable/jackett/3.1.5/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: jackett +version: 3.1.5 +upstream_version: 7.0.1 +appVersion: "auto" +description: API Support for your favorite torrent trackers. +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/stable/jackett +icon: https://truecharts.org/_static/img/jackett-icon.png +keywords: + - jackett + - torrent + - usenet +sources: + - https://github.com/truecharts/apps/tree/master/stable/jackett + - https://github.com/k8s-at-home/charts/tree/master/charts/jackett + - https://github.com/Jackett/Jackett + - https://hub.docker.com/r/linuxserver/jackett +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: Ornias1993 + email: kjeld@schouten-lebbing.nl + url: truecharts.org +# annotations: diff --git a/stable/jackett/3.1.5/README.md b/stable/jackett/3.1.5/README.md new file mode 100644 index 00000000..88c3c913 --- /dev/null +++ b/stable/jackett/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +API Support for your favorite torrent trackers. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `jackett` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `jackett` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/stable/jackett/3.1.5/app-readme.md b/stable/jackett/3.1.5/app-readme.md new file mode 100644 index 00000000..7e8f54af --- /dev/null +++ b/stable/jackett/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +API Support for your favorite torrent trackers. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +API Support for your favorite torrent trackers. diff --git a/stable/jackett/3.1.5/charts/common-3.5.5.tgz b/stable/jackett/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/stable/jackett/3.1.5/charts/common-3.5.5.tgz differ diff --git a/stable/jackett/3.1.5/ix_values.yaml b/stable/jackett/3.1.5/ix_values.yaml new file mode 100644 index 00000000..99acca3a --- /dev/null +++ b/stable/jackett/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/jackett + pullPolicy: IfNotPresent + tag: v0.17.1011 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/stable/jackett/3.1.5/questions.yaml b/stable/jackett/3.1.5/questions.yaml new file mode 100644 index 00000000..6de48d7f --- /dev/null +++ b/stable/jackett/3.1.5/questions.yaml @@ -0,0 +1,434 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 9117 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36009 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/stable/jackett/3.1.5/templates/common.yaml b/stable/jackett/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/stable/jackett/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/stable/jackett/3.1.5/test_values.yaml b/stable/jackett/3.1.5/test_values.yaml new file mode 100644 index 00000000..77ee8243 --- /dev/null +++ b/stable/jackett/3.1.5/test_values.yaml @@ -0,0 +1,46 @@ +# Default values for Jackett. + +image: + repository: ghcr.io/truecharts/jackett + pullPolicy: IfNotPresent + tag: v0.17.1011 + +strategy: + type: Recreate + + +services: + main: + enabled: true + port: + port: 9117 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + + +## TrueCharts Values + +ingress: + main: + enabled: true + # Used when including ingress using {{ include "common.ingress" . }} + type: "HTTP" + entrypoint: "websecure" + certType: "" + annotations: {} + hosts: + - host: chart-example.local + path: / diff --git a/stable/jackett/3.1.5/values.yaml b/stable/jackett/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/stable/jackett/item.yaml b/stable/jackett/item.yaml new file mode 100644 index 00000000..8d747307 --- /dev/null +++ b/stable/jackett/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://truecharts.org/_static/img/jackett-icon.png diff --git a/test/appdaemon/0.1.3/CONFIG.md b/test/appdaemon/0.1.3/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/appdaemon/0.1.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/appdaemon/0.1.3/Chart.lock b/test/appdaemon/0.1.3/Chart.lock new file mode 100644 index 00000000..acfc21b3 --- /dev/null +++ b/test/appdaemon/0.1.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:46.438162658Z" diff --git a/test/appdaemon/0.1.3/Chart.yaml b/test/appdaemon/0.1.3/Chart.yaml new file mode 100644 index 00000000..b542ea4e --- /dev/null +++ b/test/appdaemon/0.1.3/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: appdaemon +version: 0.1.3 +appVersion: v4.0.8 +description: AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/appdaemon +icon: https://github.com/hassio-addons/addon-appdaemon/blob/main/appdaemon/icon.png?raw=true +keywords: + - appdaemon + - homeautomation +sources: + - https://github.com/AppDaemon/appdaemon +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: warllo54 + email: 20650065+warllo54@users.noreply.github.com + url: truecharts.org diff --git a/test/appdaemon/0.1.3/README.md b/test/appdaemon/0.1.3/README.md new file mode 100644 index 00000000..ac652fbf --- /dev/null +++ b/test/appdaemon/0.1.3/README.md @@ -0,0 +1,53 @@ +# Introduction + +![Version: 0.1.3](https://img.shields.io/badge/Version-0.1.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.0.8](https://img.shields.io/badge/AppVersion-v4.0.8-informational?style=flat-square) + +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `appdaemon` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `appdaemon` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/appdaemon/0.1.3/app-readme.md b/test/appdaemon/0.1.3/app-readme.md new file mode 100644 index 00000000..b948120c --- /dev/null +++ b/test/appdaemon/0.1.3/app-readme.md @@ -0,0 +1,3 @@ +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant home automation software. It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets. diff --git a/test/appdaemon/0.1.3/charts/common-3.5.5.tgz b/test/appdaemon/0.1.3/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/appdaemon/0.1.3/charts/common-3.5.5.tgz differ diff --git a/test/appdaemon/0.1.3/ix_values.yaml b/test/appdaemon/0.1.3/ix_values.yaml new file mode 100644 index 00000000..ef02d27c --- /dev/null +++ b/test/appdaemon/0.1.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: acockburn/appdaemon + pullPolicy: IfNotPresent + tag: "4.0.8" + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/appdaemon/0.1.3/questions.yaml b/test/appdaemon/0.1.3/questions.yaml new file mode 100644 index 00000000..eae94631 --- /dev/null +++ b/test/appdaemon/0.1.3/questions.yaml @@ -0,0 +1,431 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Docker specific env + - variable: env + group: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: HA_URL + label: "HA URL" + description: "Your HomeAssistant URL" + schema: + type: string + default: "" + required: true + - variable: TOKEN + label: "HA Token" + description: "Your HomeAssistant Token" + schema: + type: string + default: "" + required: true + - variable: DASH_URL + label: "Dashboard URL" + description: "URL of your appdaemon dashboard" + schema: + type: string + default: "" + required: true + - variable: LATITUDE + label: "Latitude" + description: "Latitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: LONGITUDE + label: "Longitude" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + - variable: ELEVATION + label: "Elevation" + description: "Longitude of your home assistant instance" + schema: + type: int + default: 0 + required: true + + + # 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 + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 5050 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 51050 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36052 + required: true +## TrueCharts Specific + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "selfsigned" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/appdaemon/0.1.3/templates/common.yaml b/test/appdaemon/0.1.3/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/appdaemon/0.1.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/appdaemon/0.1.3/test_values.yaml b/test/appdaemon/0.1.3/test_values.yaml new file mode 100644 index 00000000..031febf0 --- /dev/null +++ b/test/appdaemon/0.1.3/test_values.yaml @@ -0,0 +1,40 @@ +image: + repository: ghcr.io/truecharts/appdaemon + pullPolicy: IfNotPresent + tag: "v4.0.8" + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +timezone: "America/Chicago" + +env: + LATITUDE: 46 + LONGITUDE: -94 + ELEVATION: 1217 + DASH_URL: "http://0.0.0.0:5050" + +services: + main: + port: + port: 5050 + tcp: + enabled: true + type: ClusterIP + port: + port: 51050 + protocol: TCP + targetPort: 51050 + +customStorage: + - name: config + enabled: true + mountPath: /conf + emptyDir: true diff --git a/test/appdaemon/0.1.3/values.yaml b/test/appdaemon/0.1.3/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/appdaemon/item.yaml b/test/appdaemon/item.yaml new file mode 100644 index 00000000..4f0aa859 --- /dev/null +++ b/test/appdaemon/item.yaml @@ -0,0 +1,3 @@ +categories: + - utilities +icon_url: https://github.com/hassio-addons/addon-appdaemon/blob/main/appdaemon/logo.png?raw=true diff --git a/test/bazarr/3.1.5/CONFIG.md b/test/bazarr/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/bazarr/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/bazarr/3.1.5/Chart.lock b/test/bazarr/3.1.5/Chart.lock new file mode 100644 index 00000000..ecc7d8d0 --- /dev/null +++ b/test/bazarr/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:46.949866373Z" diff --git a/test/bazarr/3.1.5/Chart.yaml b/test/bazarr/3.1.5/Chart.yaml new file mode 100644 index 00000000..0737efb2 --- /dev/null +++ b/test/bazarr/3.1.5/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: bazarr +version: 3.1.5 +upstream_version: 5.2.1 +appVersion: "auto" +description: Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/bazarr +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png +keywords: + - bazarr + - radarr + - bazarr + - subtitles + - usenet + - torrent +sources: + - https://github.com/truecharts/apps/tree/master/incubator/bazarr + - https://github.com/k8s-at-home/charts/tree/master/charts/bazarr + - https://github.com/Bazarr/Bazarr + - https://hub.docker.com/r/linuxserver/bazarr +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: Ornias1993 + email: kjeld@schouten-lebbing.nl + url: truecharts.org +# annotations: diff --git a/test/bazarr/3.1.5/README.md b/test/bazarr/3.1.5/README.md new file mode 100644 index 00000000..97a3c184 --- /dev/null +++ b/test/bazarr/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `bazarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `bazarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/bazarr/3.1.5/app-readme.md b/test/bazarr/3.1.5/app-readme.md new file mode 100644 index 00000000..2d112915 --- /dev/null +++ b/test/bazarr/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements diff --git a/test/bazarr/3.1.5/charts/common-3.5.5.tgz b/test/bazarr/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/bazarr/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/bazarr/3.1.5/ix_values.yaml b/test/bazarr/3.1.5/ix_values.yaml new file mode 100644 index 00000000..e6a02921 --- /dev/null +++ b/test/bazarr/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/bazarr + pullPolicy: IfNotPresent + tag: v0.9.3-beta.9 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/bazarr/3.1.5/questions.yaml b/test/bazarr/3.1.5/questions.yaml new file mode 100644 index 00000000..3ed15945 --- /dev/null +++ b/test/bazarr/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 6767 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36025 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/bazarr/3.1.5/templates/common.yaml b/test/bazarr/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/bazarr/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/bazarr/3.1.5/test_values.yaml b/test/bazarr/3.1.5/test_values.yaml new file mode 100644 index 00000000..6994e190 --- /dev/null +++ b/test/bazarr/3.1.5/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Bazarr. + +image: + repository: ghcr.io/truecharts/bazarr + pullPolicy: IfNotPresent + tag: v0.9.3-beta.9 + +strategy: + type: Recreate + +services: + main: + port: + port: 6767 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/bazarr/3.1.5/values.yaml b/test/bazarr/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/bazarr/item.yaml b/test/bazarr/item.yaml new file mode 100644 index 00000000..06f251b3 --- /dev/null +++ b/test/bazarr/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png diff --git a/test/calibre-web/3.1.5/CONFIG.md b/test/calibre-web/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/calibre-web/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/calibre-web/3.1.5/Chart.lock b/test/calibre-web/3.1.5/Chart.lock new file mode 100644 index 00000000..dcf93a0d --- /dev/null +++ b/test/calibre-web/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:47.41843612Z" diff --git a/test/calibre-web/3.1.5/Chart.yaml b/test/calibre-web/3.1.5/Chart.yaml new file mode 100644 index 00000000..aa7b65d1 --- /dev/null +++ b/test/calibre-web/3.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: calibre-web +version: 3.1.5 +upstream_version: 4.3.1 +appVersion: "auto" +description: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/calibre-web +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png +keywords: + - calibre-web + - calibre + - ebook +sources: + - https://github.com/truecharts/apps/tree/master/incubator/calibre-web + - https://github.com/k8s-at-home/charts/tree/master/charts/calibre-web + - https://hub.docker.com/r/linuxserver/calibre-web/ + - https://github.com/janeczku/calibre-web +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/calibre-web/3.1.5/README.md b/test/calibre-web/3.1.5/README.md new file mode 100644 index 00000000..f0442d6f --- /dev/null +++ b/test/calibre-web/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `calibre-web` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `calibre-web` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/calibre-web/3.1.5/app-readme.md b/test/calibre-web/3.1.5/app-readme.md new file mode 100644 index 00000000..6c20a1a3 --- /dev/null +++ b/test/calibre-web/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. diff --git a/test/calibre-web/3.1.5/charts/common-3.5.5.tgz b/test/calibre-web/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/calibre-web/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/calibre-web/3.1.5/ix_values.yaml b/test/calibre-web/3.1.5/ix_values.yaml new file mode 100644 index 00000000..5e42c4a5 --- /dev/null +++ b/test/calibre-web/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.11 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/calibre-web/3.1.5/questions.yaml b/test/calibre-web/3.1.5/questions.yaml new file mode 100644 index 00000000..9039761f --- /dev/null +++ b/test/calibre-web/3.1.5/questions.yaml @@ -0,0 +1,449 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8083 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36015 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/calibre-web/3.1.5/templates/common.yaml b/test/calibre-web/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/calibre-web/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/calibre-web/3.1.5/test_values.yaml b/test/calibre-web/3.1.5/test_values.yaml new file mode 100644 index 00000000..5e2636af --- /dev/null +++ b/test/calibre-web/3.1.5/test_values.yaml @@ -0,0 +1,37 @@ +# Default values for Calibre-Web. + +image: + repository: linuxserver/calibre-web + pullPolicy: IfNotPresent + tag: version-0.6.11 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 8083 + +env: {} + # TZ: + # PUID: + # PGID: + # UMASK: + # DOCKER_MODS: + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/calibre-web/3.1.5/values.yaml b/test/calibre-web/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/calibre-web/item.yaml b/test/calibre-web/item.yaml new file mode 100644 index 00000000..73a1a5a7 --- /dev/null +++ b/test/calibre-web/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png diff --git a/test/deluge/3.1.5/CONFIG.md b/test/deluge/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/deluge/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/deluge/3.1.5/Chart.lock b/test/deluge/3.1.5/Chart.lock new file mode 100644 index 00000000..319c29a1 --- /dev/null +++ b/test/deluge/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:47.885553069Z" diff --git a/test/deluge/3.1.5/Chart.yaml b/test/deluge/3.1.5/Chart.yaml new file mode 100644 index 00000000..d2f93d61 --- /dev/null +++ b/test/deluge/3.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: deluge +version: 3.1.5 +# upstream_version: +appVersion: "auto" +description: Deluge App for TrueNAS SCALE +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/deluge +icon: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200 +keywords: + - transmission + - torrent + - usenet +sources: + - https://github.com/truecharts/apps/tree/master/incubator/deluge + - https://github.com/deluge-torrent/deluge +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/deluge/3.1.5/README.md b/test/deluge/3.1.5/README.md new file mode 100644 index 00000000..bfcbb4e5 --- /dev/null +++ b/test/deluge/3.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Deluge App for TrueNAS SCALE + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `deluge` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `deluge` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/deluge/3.1.5/app-readme.md b/test/deluge/3.1.5/app-readme.md new file mode 100644 index 00000000..0bce0f81 --- /dev/null +++ b/test/deluge/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Deluge App for TrueNAS SCALE +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Deluge App for TrueNAS SCALE diff --git a/test/deluge/3.1.5/charts/common-3.5.5.tgz b/test/deluge/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/deluge/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/deluge/3.1.5/ix_values.yaml b/test/deluge/3.1.5/ix_values.yaml new file mode 100644 index 00000000..14051dce --- /dev/null +++ b/test/deluge/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/deluge/3.1.5/questions.yaml b/test/deluge/3.1.5/questions.yaml new file mode 100644 index 00000000..d4db5c6e --- /dev/null +++ b/test/deluge/3.1.5/questions.yaml @@ -0,0 +1,571 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: +## Portal Button + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true +## Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" +## Configure Time Zone + - variable: timezone + group: "Container Image" + label: "Timezone" + schema: + type: string + default: "Australia/Hobart" + $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 +## Enable Host Network + - variable: hostNetwork + group: "Networking" + label: "Enable Host Network" + schema: + type: boolean + default: false + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8112 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36026 + required: true + - variable: tcp + label: "" + description: "TCP port for Torrent Connections" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable TCP port for Torrent Connections" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: name + label: "port name" + schema: + type: string + default: "torrent-tcp" + hidden: true + - variable: protocol + label: "Protocol" + schema: + type: string + default: "TCP" + hidden: true + - variable: port + label: "container port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "container targetport" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: nodePort + label: "Node Port to expose" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: false + - variable: udp + label: "" + description: "UDP port for Torrent Connections" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable UDP port for Torrent Connections" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: name + label: "port name" + schema: + type: string + default: "torrent-udp" + hidden: true + - variable: protocol + label: "Protocol" + schema: + type: string + default: "UDP" + hidden: true + - variable: port + label: "container port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: targetport + label: "container targetport" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: nodePort + label: "Node Port to expose" + schema: + type: int + min: 9000 + max: 65535 + default: 51413 + required: false + +## Ingres + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/deluge/3.1.5/templates/common.yaml b/test/deluge/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/deluge/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/deluge/3.1.5/test_values.yaml b/test/deluge/3.1.5/test_values.yaml new file mode 100644 index 00000000..127213f2 --- /dev/null +++ b/test/deluge/3.1.5/test_values.yaml @@ -0,0 +1,44 @@ +# Default values for deluge. + +image: + repository: linuxserver/deluge + pullPolicy: IfNotPresent + tag: version-2.0.3-2201906121747ubuntu18.04.1 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 8112 + tcp: + enabled: true + type: ClusterIP + port: + port: 51413 + protocol: TCP + targetPort: 51413 + udp: + enabled: true + type: ClusterIP + port: + port: 51413 + protocol: UDP + targetPort: 51413 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/deluge/3.1.5/values.yaml b/test/deluge/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/deluge/item.yaml b/test/deluge/item.yaml new file mode 100644 index 00000000..0a1a793e --- /dev/null +++ b/test/deluge/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars2.githubusercontent.com/u/6733935?v=3&s=200 diff --git a/test/fireflyiii/1.0.1/CONFIG.md b/test/fireflyiii/1.0.1/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/fireflyiii/1.0.1/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/fireflyiii/1.0.1/Chart.lock b/test/fireflyiii/1.0.1/Chart.lock new file mode 100644 index 00000000..49f381fc --- /dev/null +++ b/test/fireflyiii/1.0.1/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +- name: postgresql + repository: https://charts.bitnami.com/bitnami + version: 10.4.2 +digest: sha256:feb1c5155f10c340b5a984ce39eb7c532c938ac71287bfa65398ef3fe458c902 +generated: "2021-05-06T13:29:51.104635038Z" diff --git a/test/fireflyiii/1.0.1/Chart.yaml b/test/fireflyiii/1.0.1/Chart.yaml new file mode 100644 index 00000000..9ece33f5 --- /dev/null +++ b/test/fireflyiii/1.0.1/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: fireflyiii +version: 1.0.1 +appVersion: "auto" +description: A free and open source personal finance manager +type: application +deprecated: false +home: https://github.com/firefly-iii/firefly-iii/ +icon: https://www.firefly-iii.org/assets/logo/color.png +keywords: + - fireflyiii + - finacial +sources: + - https://github.com/firefly-iii/firefly-iii/ +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + - name: postgresql + version: 10.4.2 + repository: https://charts.bitnami.com/bitnami + condition: postgresql.enabled +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: warllo54 + email: 20650065+warllo54@users.noreply.github.com + url: truecharts.org diff --git a/test/fireflyiii/1.0.1/README.md b/test/fireflyiii/1.0.1/README.md new file mode 100644 index 00000000..8e87f22a --- /dev/null +++ b/test/fireflyiii/1.0.1/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.1](https://img.shields.io/badge/Version-1.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A free and open source personal finance manager + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | postgresql | 10.4.2 | +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `fireflyiii` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `fireflyiii` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/fireflyiii/1.0.1/app-readme.md b/test/fireflyiii/1.0.1/app-readme.md new file mode 100644 index 00000000..15307675 --- /dev/null +++ b/test/fireflyiii/1.0.1/app-readme.md @@ -0,0 +1,3 @@ +A free and open source personal finance manager +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A free and open source personal finance manager diff --git a/test/fireflyiii/1.0.1/charts/common-3.5.5.tgz b/test/fireflyiii/1.0.1/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/fireflyiii/1.0.1/charts/common-3.5.5.tgz differ diff --git a/test/fireflyiii/1.0.1/charts/postgresql-10.4.2.tgz b/test/fireflyiii/1.0.1/charts/postgresql-10.4.2.tgz new file mode 100644 index 00000000..1067fe42 Binary files /dev/null and b/test/fireflyiii/1.0.1/charts/postgresql-10.4.2.tgz differ diff --git a/test/fireflyiii/1.0.1/ix_values.yaml b/test/fireflyiii/1.0.1/ix_values.yaml new file mode 100644 index 00000000..ee3a8213 --- /dev/null +++ b/test/fireflyiii/1.0.1/ix_values.yaml @@ -0,0 +1,41 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jc5x/firefly-iii + pullPolicy: IfNotPresent + tag: latest + +env: + DB_USERNAME: fireflyiii + DB_DATABASE: fireflyiii + DB_CONNECTION: pgsql + DB_PORT: 5432 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: postgresql_host + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: fireflyiii + postgresqlDatabase: fireflyiii + existingSecret: dbcreds + persistence: + enabled: true + existingClaim: db +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/fireflyiii/1.0.1/questions.yaml b/test/fireflyiii/1.0.1/questions.yaml new file mode 100644 index 00000000..f2ebe1aa --- /dev/null +++ b/test/fireflyiii/1.0.1/questions.yaml @@ -0,0 +1,562 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + + # Docker specific env + - variable: env + group: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: APP_KEY + label: "App Key" + description: "Your unique 32 application character key" + schema: + type: string + default: "" + required: true + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 51080 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36048 + required: true + +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: db + label: "Database Storage" + description: "Stores the Application database." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: nameOverride + label: "Override PVC Name (advanced)" + description: "Forces a certain name for the PVC" + schema: + type: string + default: "db" + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: dbbackup + label: "Database Backup Storage" + description: "Stores the Application database backups." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 0 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/fireflyiii/1.0.1/templates/common.yaml b/test/fireflyiii/1.0.1/templates/common.yaml new file mode 100644 index 00000000..64e027ac --- /dev/null +++ b/test/fireflyiii/1.0.1/templates/common.yaml @@ -0,0 +1,5 @@ +{{/* Make sure all variables are set properly */}} +{{- include "common.values.setup" . }} + +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/test/fireflyiii/1.0.1/templates/secrets.yaml b/test/fireflyiii/1.0.1/templates/secrets.yaml new file mode 100644 index 00000000..2227b0eb --- /dev/null +++ b/test/fireflyiii/1.0.1/templates/secrets.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Secret +metadata: + labels: + {{- include "common.labels" . | nindent 4 }} + name: dbcreds +{{- $previous := lookup "v1" "Secret" .Release.Namespace "dbcreds" }} +{{- $dbPass := "" }} +data: +{{- if $previous }} + {{- $dbPass = ( index $previous.data "postgresql-password" ) | b64dec }} + postgresql-password: {{ ( index $previous.data "postgresql-password" ) }} + postgresql-postgres-password: {{ ( index $previous.data "postgresql-postgres-password" ) }} +{{- else }} + {{- $dbPass = randAlphaNum 50 }} + postgresql-password: {{ $dbPass | b64enc | quote }} + postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }} +{{- end }} + url: {{ ( printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase ) | b64enc | quote }} + postgresql_host: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }} +type: Opaque diff --git a/test/fireflyiii/1.0.1/test_values.yaml b/test/fireflyiii/1.0.1/test_values.yaml new file mode 100644 index 00000000..7c5ca267 --- /dev/null +++ b/test/fireflyiii/1.0.1/test_values.yaml @@ -0,0 +1,78 @@ +# Default values for Bitwarden. + +image: + repository: jc5x/firefly-iii + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 8080 + tcp: + enabled: true + type: ClusterIP + port: + port: 51080 + protocol: TCP + targetPort: 51080 + +env: + DB_USERNAME: firefly + DB_DATABASE: firefly + DB_CONNECTION: pgsql + DB_PORT: 5432 + APP_Key: AGcfkCUS233ZWmBXztYbdyCs2u7kkz55 + +envValueFrom: + DB_HOST: + secretKeyRef: + name: dbcreds + key: url + DB_PASSWORD: + secretKeyRef: + name: dbcreds + key: postgresql-password + +persistence: + data: + enabled: true + mountPath: "/var/www/html/storage/upload" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + db: + nameOverride: "db" + enabled: true + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + dbbackup: + enabled: true + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + + +# Enabled postgres +# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/postgresql +postgresql: + enabled: true + postgresqlUsername: firefly + postgresqlDatabase: firefly + existingSecret: dbcreds + persistence: + enabled: false + existingClaim: db diff --git a/test/fireflyiii/1.0.1/values.yaml b/test/fireflyiii/1.0.1/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/fireflyiii/item.yaml b/test/fireflyiii/item.yaml new file mode 100644 index 00000000..1cbbc68a --- /dev/null +++ b/test/fireflyiii/item.yaml @@ -0,0 +1,3 @@ +categories: + - finacial +icon_url: https://www.firefly-iii.org/assets/logo/color.png diff --git a/test/freshrss/3.1.5/CONFIG.md b/test/freshrss/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/freshrss/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/freshrss/3.1.5/Chart.lock b/test/freshrss/3.1.5/Chart.lock new file mode 100644 index 00000000..0d2e642f --- /dev/null +++ b/test/freshrss/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:54.451281697Z" diff --git a/test/freshrss/3.1.5/Chart.yaml b/test/freshrss/3.1.5/Chart.yaml new file mode 100644 index 00000000..89a2f7d6 --- /dev/null +++ b/test/freshrss/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: freshrss +version: 3.1.5 +upstream_version: 2.3.1 +appVersion: "auto" +description: FreshRSS is a self-hosted RSS feed aggregator +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/freshrss +icon: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true +keywords: + - freshrss + - rss +sources: + - https://github.com/truecharts/apps/tree/master/incubator/freshrss + - https://github.com/k8s-at-home/charts/tree/master/charts/freshrss + - https://github.com/FreshRSS/FreshRSS + - https://hub.docker.com/r/linuxserver/freshrss +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/freshrss/3.1.5/README.md b/test/freshrss/3.1.5/README.md new file mode 100644 index 00000000..b8d65a65 --- /dev/null +++ b/test/freshrss/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +FreshRSS is a self-hosted RSS feed aggregator + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `freshrss` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `freshrss` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/freshrss/3.1.5/app-readme.md b/test/freshrss/3.1.5/app-readme.md new file mode 100644 index 00000000..7d8a844b --- /dev/null +++ b/test/freshrss/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +FreshRSS is a self-hosted RSS feed aggregator +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +FreshRSS is a self-hosted RSS feed aggregator diff --git a/test/freshrss/3.1.5/charts/common-3.5.5.tgz b/test/freshrss/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/freshrss/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/freshrss/3.1.5/ix_values.yaml b/test/freshrss/3.1.5/ix_values.yaml new file mode 100644 index 00000000..9de79c78 --- /dev/null +++ b/test/freshrss/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/freshrss/3.1.5/questions.yaml b/test/freshrss/3.1.5/questions.yaml new file mode 100644 index 00000000..ffb0a95d --- /dev/null +++ b/test/freshrss/3.1.5/questions.yaml @@ -0,0 +1,451 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36029 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/freshrss/3.1.5/templates/common.yaml b/test/freshrss/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/freshrss/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/freshrss/3.1.5/test_values.yaml b/test/freshrss/3.1.5/test_values.yaml new file mode 100644 index 00000000..4c31242e --- /dev/null +++ b/test/freshrss/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for FreshRSS. + +image: + repository: linuxserver/freshrss + pullPolicy: IfNotPresent + tag: version-1.18.0 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/freshrss/3.1.5/values.yaml b/test/freshrss/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/freshrss/item.yaml b/test/freshrss/item.yaml new file mode 100644 index 00000000..b77c41d4 --- /dev/null +++ b/test/freshrss/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/FreshRSS/FreshRSS/blob/master/docs/img/FreshRSS-logo.png?raw=true diff --git a/test/gaps/3.1.5/CONFIG.md b/test/gaps/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/gaps/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/gaps/3.1.5/Chart.lock b/test/gaps/3.1.5/Chart.lock new file mode 100644 index 00000000..f4952b7c --- /dev/null +++ b/test/gaps/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:54.917308943Z" diff --git a/test/gaps/3.1.5/Chart.yaml b/test/gaps/3.1.5/Chart.yaml new file mode 100644 index 00000000..8e4a8f97 --- /dev/null +++ b/test/gaps/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: gaps +version: 3.1.5 +upstream_version: 1.1.1 +appVersion: "auto" +description: Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/gaps +icon: https://raw.githubusercontent.com/JasonHHouse/gaps/master/images/Final-Black.png +keywords: + - gaps + - plex + - plex-media-server +sources: + - https://github.com/truecharts/apps/tree/master/incubator/gaps + - https://github.com/k8s-at-home/charts/tree/master/charts/gaps + - https://github.com/JasonHHouse/gaps +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/gaps/3.1.5/README.md b/test/gaps/3.1.5/README.md new file mode 100644 index 00000000..c5ab0643 --- /dev/null +++ b/test/gaps/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `gaps` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `gaps` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/gaps/3.1.5/app-readme.md b/test/gaps/3.1.5/app-readme.md new file mode 100644 index 00000000..25aa9e69 --- /dev/null +++ b/test/gaps/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection. diff --git a/test/gaps/3.1.5/charts/common-3.5.5.tgz b/test/gaps/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/gaps/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/gaps/3.1.5/ix_values.yaml b/test/gaps/3.1.5/ix_values.yaml new file mode 100644 index 00000000..d1117766 --- /dev/null +++ b/test/gaps/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/gaps/3.1.5/questions.yaml b/test/gaps/3.1.5/questions.yaml new file mode 100644 index 00000000..7447b505 --- /dev/null +++ b/test/gaps/3.1.5/questions.yaml @@ -0,0 +1,437 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8484 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36030 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/usr/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/gaps/3.1.5/templates/common.yaml b/test/gaps/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/gaps/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/gaps/3.1.5/test_values.yaml b/test/gaps/3.1.5/test_values.yaml new file mode 100644 index 00000000..ed003b80 --- /dev/null +++ b/test/gaps/3.1.5/test_values.yaml @@ -0,0 +1,26 @@ +# Default values for Gaps. + +image: + repository: housewrecker/gaps + pullPolicy: IfNotPresent + tag: v0.8.8 + +strategy: + type: Recreate + +services: + main: + port: + port: 8484 + +env: {} + # TZ: UTC + +persistence: + data: + enabled: true + mountPath: "/usr/data" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/gaps/3.1.5/values.yaml b/test/gaps/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/gaps/item.yaml b/test/gaps/item.yaml new file mode 100644 index 00000000..5fe657ea --- /dev/null +++ b/test/gaps/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/JasonHHouse/gaps/master/images/Final-Black.png diff --git a/test/grocy/3.1.5/CONFIG.md b/test/grocy/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/grocy/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/grocy/3.1.5/Chart.lock b/test/grocy/3.1.5/Chart.lock new file mode 100644 index 00000000..68e5cfd9 --- /dev/null +++ b/test/grocy/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:55.353851311Z" diff --git a/test/grocy/3.1.5/Chart.yaml b/test/grocy/3.1.5/Chart.yaml new file mode 100644 index 00000000..c0b86fc5 --- /dev/null +++ b/test/grocy/3.1.5/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: grocy +version: 3.1.5 +upstream_version: 4.3.1 +appVersion: "auto" +description: ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/grocy +icon: https://github.com/grocy/grocy/raw/master/public/img/appicons/mstile-150x150.png +keywords: + - grocy +sources: + - https://github.com/truecharts/apps/tree/master/incubator/grocy + - https://github.com/k8s-at-home/charts/tree/master/charts/grocy + - https://github.com/grocy/grocy +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/grocy/3.1.5/README.md b/test/grocy/3.1.5/README.md new file mode 100644 index 00000000..48ea0db9 --- /dev/null +++ b/test/grocy/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `grocy` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `grocy` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/grocy/3.1.5/app-readme.md b/test/grocy/3.1.5/app-readme.md new file mode 100644 index 00000000..e0fe6314 --- /dev/null +++ b/test/grocy/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home diff --git a/test/grocy/3.1.5/charts/common-3.5.5.tgz b/test/grocy/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/grocy/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/grocy/3.1.5/ix_values.yaml b/test/grocy/3.1.5/ix_values.yaml new file mode 100644 index 00000000..06ee1e3d --- /dev/null +++ b/test/grocy/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/grocy + tag: version-v2.7.1 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/grocy/3.1.5/questions.yaml b/test/grocy/3.1.5/questions.yaml new file mode 100644 index 00000000..a0354443 --- /dev/null +++ b/test/grocy/3.1.5/questions.yaml @@ -0,0 +1,449 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36031 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/grocy/3.1.5/templates/common.yaml b/test/grocy/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/grocy/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/grocy/3.1.5/test_values.yaml b/test/grocy/3.1.5/test_values.yaml new file mode 100644 index 00000000..a6a2a176 --- /dev/null +++ b/test/grocy/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for grocy. + +image: + repository: linuxserver/grocy + tag: version-v2.7.1 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/grocy/3.1.5/values.yaml b/test/grocy/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/grocy/item.yaml b/test/grocy/item.yaml new file mode 100644 index 00000000..fccd77cd --- /dev/null +++ b/test/grocy/item.yaml @@ -0,0 +1,3 @@ +categories: + - Home-Automation +icon_url: https://github.com/grocy/grocy/raw/master/public/img/appicons/mstile-150x150.png diff --git a/test/heimdall/3.1.5/CONFIG.md b/test/heimdall/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/heimdall/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/heimdall/3.1.5/Chart.lock b/test/heimdall/3.1.5/Chart.lock new file mode 100644 index 00000000..cacfa930 --- /dev/null +++ b/test/heimdall/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:55.828605151Z" diff --git a/test/heimdall/3.1.5/Chart.yaml b/test/heimdall/3.1.5/Chart.yaml new file mode 100644 index 00000000..518e04c3 --- /dev/null +++ b/test/heimdall/3.1.5/Chart.yaml @@ -0,0 +1,26 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: heimdall +version: 3.1.5 +upstream_version: 4.1.1 +appVersion: "auto" +description: An Application dashboard and launcher +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/heimdall +icon: https://i.imgur.com/mM4tcO5.png +keywords: + - heimdall +sources: + - https://github.com/truecharts/apps/tree/master/incubator/heimdall + - https://github.com/k8s-at-home/charts/tree/master/charts/heimdall +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/heimdall/3.1.5/README.md b/test/heimdall/3.1.5/README.md new file mode 100644 index 00000000..d7c114c3 --- /dev/null +++ b/test/heimdall/3.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +An Application dashboard and launcher + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `heimdall` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `heimdall` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/heimdall/3.1.5/app-readme.md b/test/heimdall/3.1.5/app-readme.md new file mode 100644 index 00000000..3fb24ea7 --- /dev/null +++ b/test/heimdall/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +An Application dashboard and launcher +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +An Application dashboard and launcher diff --git a/test/heimdall/3.1.5/charts/common-3.5.5.tgz b/test/heimdall/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/heimdall/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/heimdall/3.1.5/ix_values.yaml b/test/heimdall/3.1.5/ix_values.yaml new file mode 100644 index 00000000..bdcc3ce0 --- /dev/null +++ b/test/heimdall/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/heimdall/3.1.5/questions.yaml b/test/heimdall/3.1.5/questions.yaml new file mode 100644 index 00000000..58181732 --- /dev/null +++ b/test/heimdall/3.1.5/questions.yaml @@ -0,0 +1,450 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/heimdall/3.1.5/templates/common.yaml b/test/heimdall/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/heimdall/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/heimdall/3.1.5/test_values.yaml b/test/heimdall/3.1.5/test_values.yaml new file mode 100644 index 00000000..ae76faf7 --- /dev/null +++ b/test/heimdall/3.1.5/test_values.yaml @@ -0,0 +1,39 @@ +# Default values for grocy. + +image: + repository: linuxserver/heimdall + tag: version-2.2.2 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # TZ: + # PUID: + # PGID: + +probes: + startup: + enabled: true + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/heimdall/3.1.5/values.yaml b/test/heimdall/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/heimdall/item.yaml b/test/heimdall/item.yaml new file mode 100644 index 00000000..6caccc75 --- /dev/null +++ b/test/heimdall/item.yaml @@ -0,0 +1,3 @@ +categories: + - organizers +icon_url: https://i.imgur.com/mM4tcO5.png diff --git a/test/lazylibrarian/3.1.5/CONFIG.md b/test/lazylibrarian/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/lazylibrarian/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/lazylibrarian/3.1.5/Chart.lock b/test/lazylibrarian/3.1.5/Chart.lock new file mode 100644 index 00000000..65292a03 --- /dev/null +++ b/test/lazylibrarian/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:56.313756383Z" diff --git a/test/lazylibrarian/3.1.5/Chart.yaml b/test/lazylibrarian/3.1.5/Chart.yaml new file mode 100644 index 00000000..94eca5a2 --- /dev/null +++ b/test/lazylibrarian/3.1.5/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: lazylibrarian +version: 3.1.5 +upstream_version: 2.1.0 +appVersion: "latest" +description: Get all your books, like series with Sonarr... +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/lazylibrarian +icon: https://lazylibrarian.gitlab.io/logo.svg +keywords: + - lazylibrarian + - ebooks +sources: + - https://github.com/truecharts/apps/tree/master/incubator/lazylibrarian + - https://github.com/k8s-at-home/charts/tree/master/charts/lazylibrarian + - https://gitlab.com/LazyLibrarian/LazyLibrarian.git + - https://lazylibrarian.gitlab.io +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: Ornias1993 + email: kjeld@schouten-lebbing.nl + url: truecharts.org +# annotations: diff --git a/test/lazylibrarian/3.1.5/README.md b/test/lazylibrarian/3.1.5/README.md new file mode 100644 index 00000000..56385ef9 --- /dev/null +++ b/test/lazylibrarian/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +Get all your books, like series with Sonarr... + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `lazylibrarian` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lazylibrarian` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/lazylibrarian/3.1.5/app-readme.md b/test/lazylibrarian/3.1.5/app-readme.md new file mode 100644 index 00000000..c67c1844 --- /dev/null +++ b/test/lazylibrarian/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Get all your books, like series with Sonarr... +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Get all your books, like series with Sonarr... diff --git a/test/lazylibrarian/3.1.5/charts/common-3.5.5.tgz b/test/lazylibrarian/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/lazylibrarian/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/lazylibrarian/3.1.5/ix_values.yaml b/test/lazylibrarian/3.1.5/ix_values.yaml new file mode 100644 index 00000000..553b98db --- /dev/null +++ b/test/lazylibrarian/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/lazylibrarian/3.1.5/questions.yaml b/test/lazylibrarian/3.1.5/questions.yaml new file mode 100644 index 00000000..248cf4c9 --- /dev/null +++ b/test/lazylibrarian/3.1.5/questions.yaml @@ -0,0 +1,451 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 5299 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36033 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/lazylibrarian/3.1.5/templates/common.yaml b/test/lazylibrarian/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/lazylibrarian/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/lazylibrarian/3.1.5/test_values.yaml b/test/lazylibrarian/3.1.5/test_values.yaml new file mode 100644 index 00000000..23d51564 --- /dev/null +++ b/test/lazylibrarian/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for LazyLibrarian. + +image: + repository: linuxserver/lazylibrarian + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 5299 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/lazylibrarian/3.1.5/values.yaml b/test/lazylibrarian/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/lazylibrarian/item.yaml b/test/lazylibrarian/item.yaml new file mode 100644 index 00000000..9c98c1c5 --- /dev/null +++ b/test/lazylibrarian/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://lazylibrarian.gitlab.io/logo.svg diff --git a/test/lychee/3.1.5/CONFIG.md b/test/lychee/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/lychee/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/lychee/3.1.5/Chart.lock b/test/lychee/3.1.5/Chart.lock new file mode 100644 index 00000000..73850d9b --- /dev/null +++ b/test/lychee/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:56.76465654Z" diff --git a/test/lychee/3.1.5/Chart.yaml b/test/lychee/3.1.5/Chart.yaml new file mode 100644 index 00000000..32e24374 --- /dev/null +++ b/test/lychee/3.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: lychee +version: 3.1.5 +upstream_version: 2.3.1 +appVersion: "auto" +description: Lychee is a free photo-management tool, which runs on your server or web-space +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/lychee +icon: https://github.com/LycheeOrg/Lychee/blob/master/Banner.png?raw=true +keywords: + - lychee + - photo + - pictures +sources: + - https://github.com/truecharts/apps/tree/master/incubator/lychee + - https://github.com/k8s-at-home/charts/tree/master/charts/lychee + - https://github.com/LycheeOrg/Lychee + - https://hub.docker.com/r/lycheeorg/lychee +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/lychee/3.1.5/README.md b/test/lychee/3.1.5/README.md new file mode 100644 index 00000000..27772b14 --- /dev/null +++ b/test/lychee/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Lychee is a free photo-management tool, which runs on your server or web-space + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `lychee` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `lychee` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/lychee/3.1.5/app-readme.md b/test/lychee/3.1.5/app-readme.md new file mode 100644 index 00000000..b420d9b3 --- /dev/null +++ b/test/lychee/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Lychee is a free photo-management tool, which runs on your server or web-space +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Lychee is a free photo-management tool, which runs on your server or web-space diff --git a/test/lychee/3.1.5/charts/common-3.5.5.tgz b/test/lychee/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/lychee/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/lychee/3.1.5/ix_values.yaml b/test/lychee/3.1.5/ix_values.yaml new file mode 100644 index 00000000..63bb15fa --- /dev/null +++ b/test/lychee/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/lychee/3.1.5/questions.yaml b/test/lychee/3.1.5/questions.yaml new file mode 100644 index 00000000..53e656bb --- /dev/null +++ b/test/lychee/3.1.5/questions.yaml @@ -0,0 +1,450 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36034 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/lychee/3.1.5/templates/common.yaml b/test/lychee/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/lychee/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/lychee/3.1.5/test_values.yaml b/test/lychee/3.1.5/test_values.yaml new file mode 100644 index 00000000..d333576f --- /dev/null +++ b/test/lychee/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for Lychee. + +image: + repository: lycheeorg/lychee-laravel + pullPolicy: IfNotPresent + tag: v4.3.0 + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # PHP_TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/lychee/3.1.5/values.yaml b/test/lychee/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/lychee/item.yaml b/test/lychee/item.yaml new file mode 100644 index 00000000..f4a427e5 --- /dev/null +++ b/test/lychee/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/LycheeOrg/Lychee/blob/master/Banner.png?raw=true diff --git a/test/navidrome/3.1.5/CONFIG.md b/test/navidrome/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/navidrome/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/navidrome/3.1.5/Chart.lock b/test/navidrome/3.1.5/Chart.lock new file mode 100644 index 00000000..7bc1bf1a --- /dev/null +++ b/test/navidrome/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:57.203494707Z" diff --git a/test/navidrome/3.1.5/Chart.yaml b/test/navidrome/3.1.5/Chart.yaml new file mode 100644 index 00000000..72932899 --- /dev/null +++ b/test/navidrome/3.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: navidrome +version: 3.1.5 +upstream_version: 2.3.1 +appVersion: "auto" +description: Navidrome is an open source web-based music collection server and streamer +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/navidrome +icon: https://raw.githubusercontent.com/navidrome/navidrome/v0.42.0/ui/src/icons/android-icon-192x192.png +keywords: + - navidrome + - music + - streaming +sources: + - https://github.com/truecharts/apps/tree/master/incubator/navidrome + - https://github.com/k8s-at-home/charts/tree/master/charts/navidrome + - https://github.com/deluan/navidrome + - https://hub.docker.com/r/deluan/navidrome +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/navidrome/3.1.5/README.md b/test/navidrome/3.1.5/README.md new file mode 100644 index 00000000..5e5e1c74 --- /dev/null +++ b/test/navidrome/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Navidrome is an open source web-based music collection server and streamer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `navidrome` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `navidrome` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/navidrome/3.1.5/app-readme.md b/test/navidrome/3.1.5/app-readme.md new file mode 100644 index 00000000..4f10b994 --- /dev/null +++ b/test/navidrome/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Navidrome is an open source web-based music collection server and streamer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Navidrome is an open source web-based music collection server and streamer diff --git a/test/navidrome/3.1.5/charts/common-3.5.5.tgz b/test/navidrome/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/navidrome/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/navidrome/3.1.5/ix_values.yaml b/test/navidrome/3.1.5/ix_values.yaml new file mode 100644 index 00000000..e473a71b --- /dev/null +++ b/test/navidrome/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.42.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/navidrome/3.1.5/questions.yaml b/test/navidrome/3.1.5/questions.yaml new file mode 100644 index 00000000..8758663b --- /dev/null +++ b/test/navidrome/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 4533 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36027 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/navidrome/3.1.5/templates/common.yaml b/test/navidrome/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/navidrome/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/navidrome/3.1.5/test_values.yaml b/test/navidrome/3.1.5/test_values.yaml new file mode 100644 index 00000000..2446a844 --- /dev/null +++ b/test/navidrome/3.1.5/test_values.yaml @@ -0,0 +1,30 @@ +# Default values for Navidrome. + +image: + repository: deluan/navidrome + pullPolicy: IfNotPresent + tag: 0.42.1 + +strategy: + type: Recreate + +services: + main: + port: + port: 4533 + +env: + ND_SCANINTERVAL: "15m" + ND_LOGLEVEL: "info" + ND_SESSIONTIMEOUT: "24h" + ND_ENABLETRANSCODINGCONFIG: "true" + ND_MUSICFOLDER: "/music" + +persistence: + data: + enabled: true + mountPath: "/data" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/navidrome/3.1.5/values.yaml b/test/navidrome/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/navidrome/item.yaml b/test/navidrome/item.yaml new file mode 100644 index 00000000..576fa6c3 --- /dev/null +++ b/test/navidrome/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/navidrome/navidrome/v0.42.0/ui/src/icons/android-icon-192x192.png diff --git a/test/node-red/3.1.5/CONFIG.md b/test/node-red/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/node-red/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/node-red/3.1.5/Chart.lock b/test/node-red/3.1.5/Chart.lock new file mode 100644 index 00000000..97540c4a --- /dev/null +++ b/test/node-red/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:57.699027831Z" diff --git a/test/node-red/3.1.5/Chart.yaml b/test/node-red/3.1.5/Chart.yaml new file mode 100644 index 00000000..fc4384e3 --- /dev/null +++ b/test/node-red/3.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: node-red +version: 3.1.5 +upstream_version: 5.2.1 +appVersion: "auto" +description: Node-RED is low-code programming for event-driven applications +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/node-red +icon: https://nodered.org/about/resources/media/node-red-icon-2.png +keywords: + - node-red + - nodered +sources: + - https://github.com/truecharts/apps/tree/master/incubator/node-red + - https://github.com/k8s-at-home/charts/tree/master/charts/node-red + - https://github.com/node-red/node-red-docker +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/node-red/3.1.5/README.md b/test/node-red/3.1.5/README.md new file mode 100644 index 00000000..ef5216e0 --- /dev/null +++ b/test/node-red/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Node-RED is low-code programming for event-driven applications + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `node-red` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `node-red` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/node-red/3.1.5/app-readme.md b/test/node-red/3.1.5/app-readme.md new file mode 100644 index 00000000..6ecbe710 --- /dev/null +++ b/test/node-red/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Node-RED is low-code programming for event-driven applications +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Node-RED is low-code programming for event-driven applications diff --git a/test/node-red/3.1.5/charts/common-3.5.5.tgz b/test/node-red/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/node-red/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/node-red/3.1.5/ix_values.yaml b/test/node-red/3.1.5/ix_values.yaml new file mode 100644 index 00000000..48dd3201 --- /dev/null +++ b/test/node-red/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.4 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/node-red/3.1.5/questions.yaml b/test/node-red/3.1.5/questions.yaml new file mode 100644 index 00000000..eb29b285 --- /dev/null +++ b/test/node-red/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 1880 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36028 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/node-red/3.1.5/templates/common.yaml b/test/node-red/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/node-red/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/node-red/3.1.5/test_values.yaml b/test/node-red/3.1.5/test_values.yaml new file mode 100644 index 00000000..4339f588 --- /dev/null +++ b/test/node-red/3.1.5/test_values.yaml @@ -0,0 +1,32 @@ +# Default values for node-red. + +image: + repository: nodered/node-red + pullPolicy: IfNotPresent + tag: 1.3.4 + +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: + +services: + main: + port: + port: 1880 + +persistence: + data: + enabled: true + mountPath: "/data" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/node-red/3.1.5/values.yaml b/test/node-red/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/node-red/item.yaml b/test/node-red/item.yaml new file mode 100644 index 00000000..31b0c4a8 --- /dev/null +++ b/test/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/test/nzbget/3.1.5/CONFIG.md b/test/nzbget/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/nzbget/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/nzbget/3.1.5/Chart.lock b/test/nzbget/3.1.5/Chart.lock new file mode 100644 index 00000000..9d35bc3f --- /dev/null +++ b/test/nzbget/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:58.151914285Z" diff --git a/test/nzbget/3.1.5/Chart.yaml b/test/nzbget/3.1.5/Chart.yaml new file mode 100644 index 00000000..863ecde8 --- /dev/null +++ b/test/nzbget/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: nzbget +version: 3.1.5 +upstream_version: 7.3.1 +appVersion: "auto" +description: NZBGet is a Usenet downloader client +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/nzbget +icon: https://avatars1.githubusercontent.com/u/3368377?s=400&v=4 +keywords: + - nzbget + - usenet +sources: + - https://github.com/truecharts/apps/tree/master/incubator/nzbget + - https://github.com/k8s-at-home/charts/tree/master/charts/nzbget + - https://hub.docker.com/r/linuxserver/nzbget/ + - https://nzbget.net/ +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/nzbget/3.1.5/README.md b/test/nzbget/3.1.5/README.md new file mode 100644 index 00000000..927dec88 --- /dev/null +++ b/test/nzbget/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +NZBGet is a Usenet downloader client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `nzbget` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbget` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/nzbget/3.1.5/app-readme.md b/test/nzbget/3.1.5/app-readme.md new file mode 100644 index 00000000..bde861cf --- /dev/null +++ b/test/nzbget/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +NZBGet is a Usenet downloader client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +NZBGet is a Usenet downloader client diff --git a/test/nzbget/3.1.5/charts/common-3.5.5.tgz b/test/nzbget/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/nzbget/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/nzbget/3.1.5/ix_values.yaml b/test/nzbget/3.1.5/ix_values.yaml new file mode 100644 index 00000000..08de88a7 --- /dev/null +++ b/test/nzbget/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/nzbget + pullPolicy: IfNotPresent + tag: v21.0 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/nzbget/3.1.5/questions.yaml b/test/nzbget/3.1.5/questions.yaml new file mode 100644 index 00000000..842b21e7 --- /dev/null +++ b/test/nzbget/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 6789 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36021 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/nzbget/3.1.5/templates/common.yaml b/test/nzbget/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/nzbget/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/nzbget/3.1.5/test_values.yaml b/test/nzbget/3.1.5/test_values.yaml new file mode 100644 index 00000000..212877c5 --- /dev/null +++ b/test/nzbget/3.1.5/test_values.yaml @@ -0,0 +1,23 @@ +# Default values for nzbget. + +image: + repository: ghcr.io/truecharts/nzbget + pullPolicy: IfNotPresent + tag: v21.0 + +strategy: + type: Recreate + +services: + main: + port: + port: 6789 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/nzbget/3.1.5/values.yaml b/test/nzbget/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/nzbget/item.yaml b/test/nzbget/item.yaml new file mode 100644 index 00000000..86059d18 --- /dev/null +++ b/test/nzbget/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars1.githubusercontent.com/u/3368377?s=400&v=4 diff --git a/test/nzbhydra/3.1.5/CONFIG.md b/test/nzbhydra/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/nzbhydra/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/nzbhydra/3.1.5/Chart.lock b/test/nzbhydra/3.1.5/Chart.lock new file mode 100644 index 00000000..cef5aa69 --- /dev/null +++ b/test/nzbhydra/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:58.660164697Z" diff --git a/test/nzbhydra/3.1.5/Chart.yaml b/test/nzbhydra/3.1.5/Chart.yaml new file mode 100644 index 00000000..5d35ede6 --- /dev/null +++ b/test/nzbhydra/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: nzbhydra +version: 3.1.5 +upstream_version: 5.3.1 +appVersion: "auto" +description: Usenet meta search +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/nzbhydra +icon: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png +keywords: + - nzbhydra + - usenet +sources: + - https://github.com/truecharts/apps/tree/master/incubator/nzbhydra + - https://github.com/k8s-at-home/charts/tree/master/charts/nzbhydra + - https://hub.docker.com/r/linuxserver/nzbhydra2 + - https://github.com/theotherp/nzbhydra2 +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/nzbhydra/3.1.5/README.md b/test/nzbhydra/3.1.5/README.md new file mode 100644 index 00000000..a3cd6644 --- /dev/null +++ b/test/nzbhydra/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Usenet meta search + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `nzbhydra` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `nzbhydra` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/nzbhydra/3.1.5/app-readme.md b/test/nzbhydra/3.1.5/app-readme.md new file mode 100644 index 00000000..2012c83a --- /dev/null +++ b/test/nzbhydra/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Usenet meta search +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Usenet meta search diff --git a/test/nzbhydra/3.1.5/charts/common-3.5.5.tgz b/test/nzbhydra/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/nzbhydra/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/nzbhydra/3.1.5/ix_values.yaml b/test/nzbhydra/3.1.5/ix_values.yaml new file mode 100644 index 00000000..0a6fde47 --- /dev/null +++ b/test/nzbhydra/3.1.5/ix_values.yaml @@ -0,0 +1,51 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.1 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/nzbhydra/3.1.5/questions.yaml b/test/nzbhydra/3.1.5/questions.yaml new file mode 100644 index 00000000..a620bab6 --- /dev/null +++ b/test/nzbhydra/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 5076 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36041 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/nzbhydra/3.1.5/templates/common.yaml b/test/nzbhydra/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/nzbhydra/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/nzbhydra/3.1.5/test_values.yaml b/test/nzbhydra/3.1.5/test_values.yaml new file mode 100644 index 00000000..5baf1ad7 --- /dev/null +++ b/test/nzbhydra/3.1.5/test_values.yaml @@ -0,0 +1,64 @@ +# Default values for nzbhydra. + +image: + repository: ghcr.io/truecharts/nzbhydra2 + pullPolicy: IfNotPresent + tag: v3.14.1 + +strategy: + type: Recreate + +services: + main: + port: + port: 5076 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/livenessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + readiness: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + startup: + custom: true + enabled: true + spec: + failureThreshold: 5 + httpGet: + path: /actuator/health/readinessState + port: http + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 10 + + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/nzbhydra/3.1.5/values.yaml b/test/nzbhydra/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/nzbhydra/item.yaml b/test/nzbhydra/item.yaml new file mode 100644 index 00000000..9da6666b --- /dev/null +++ b/test/nzbhydra/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png diff --git a/test/organizr/3.1.5/CONFIG.md b/test/organizr/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/organizr/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/organizr/3.1.5/Chart.lock b/test/organizr/3.1.5/Chart.lock new file mode 100644 index 00000000..3afb86bf --- /dev/null +++ b/test/organizr/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:59.129683638Z" diff --git a/test/organizr/3.1.5/Chart.yaml b/test/organizr/3.1.5/Chart.yaml new file mode 100644 index 00000000..631c1abc --- /dev/null +++ b/test/organizr/3.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: organizr +version: 3.1.5 +upstream_version: 3.2.1 +appVersion: "latest" +description: HTPC/Homelab Services Organizer +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/organizr +icon: https://github.com/causefx/Organizr/blob/v2-master/plugins/images/organizr/logo.png?raw=true +keywords: + - organizr +sources: + - https://github.com/truecharts/apps/tree/master/incubator/organizr + - https://github.com/k8s-at-home/charts/tree/master/charts/organizr + - https://github.com/causefx/Organizr + - https://hub.docker.com/r/organizr/organizr +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/organizr/3.1.5/README.md b/test/organizr/3.1.5/README.md new file mode 100644 index 00000000..dd5cdedc --- /dev/null +++ b/test/organizr/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +HTPC/Homelab Services Organizer + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `organizr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `organizr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/organizr/3.1.5/app-readme.md b/test/organizr/3.1.5/app-readme.md new file mode 100644 index 00000000..0bfeec6a --- /dev/null +++ b/test/organizr/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +HTPC/Homelab Services Organizer +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +HTPC/Homelab Services Organizer diff --git a/test/organizr/3.1.5/charts/common-3.5.5.tgz b/test/organizr/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/organizr/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/organizr/3.1.5/ix_values.yaml b/test/organizr/3.1.5/ix_values.yaml new file mode 100644 index 00000000..19a9fa1e --- /dev/null +++ b/test/organizr/3.1.5/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/organizr/3.1.5/questions.yaml b/test/organizr/3.1.5/questions.yaml new file mode 100644 index 00000000..35051230 --- /dev/null +++ b/test/organizr/3.1.5/questions.yaml @@ -0,0 +1,502 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36046 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/organizr/3.1.5/templates/common.yaml b/test/organizr/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/organizr/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/organizr/3.1.5/test_values.yaml b/test/organizr/3.1.5/test_values.yaml new file mode 100644 index 00000000..c784dfb7 --- /dev/null +++ b/test/organizr/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for Organizr. + +image: + repository: organizr/organizr + pullPolicy: Always + tag: latest + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/organizr/3.1.5/values.yaml b/test/organizr/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/organizr/item.yaml b/test/organizr/item.yaml new file mode 100644 index 00000000..8d111e1f --- /dev/null +++ b/test/organizr/item.yaml @@ -0,0 +1,3 @@ +categories: + - organizers +icon_url: https://github.com/causefx/Organizr/blob/v2-master/plugins/images/organizr/logo.png?raw=true diff --git a/test/podgrab/1.0.3/CONFIG.md b/test/podgrab/1.0.3/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/podgrab/1.0.3/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/podgrab/1.0.3/Chart.lock b/test/podgrab/1.0.3/Chart.lock new file mode 100644 index 00000000..ad7bd61f --- /dev/null +++ b/test/podgrab/1.0.3/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:29:59.589063587Z" diff --git a/test/podgrab/1.0.3/Chart.yaml b/test/podgrab/1.0.3/Chart.yaml new file mode 100644 index 00000000..da35df55 --- /dev/null +++ b/test/podgrab/1.0.3/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: podgrab +version: 1.0.3 +upstream_version: 1.0.0 +appVersion: "latest" +description: A self-hosted podcast manager to download episodes as soon as they become live. +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/podgrab +icon: https://truecharts.org/_static/img/podgrab-icon.png +keywords: + - podgrab +sources: + - https://github.com/akhilrex/podgrab + - https://hub.docker.com/r/akhilrex/podgrab +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: warllo54 + email: 20650065+warllo54@users.noreply.github.com + url: truecharts.org diff --git a/test/podgrab/1.0.3/README.md b/test/podgrab/1.0.3/README.md new file mode 100644 index 00000000..9977071a --- /dev/null +++ b/test/podgrab/1.0.3/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 1.0.3](https://img.shields.io/badge/Version-1.0.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +A self-hosted podcast manager to download episodes as soon as they become live. + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `podgrab` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `podgrab` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/podgrab/1.0.3/app-readme.md b/test/podgrab/1.0.3/app-readme.md new file mode 100644 index 00000000..9d85b5de --- /dev/null +++ b/test/podgrab/1.0.3/app-readme.md @@ -0,0 +1,3 @@ +A self-hosted podcast manager to download episodes as soon as they become live. +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A self-hosted podcast manager to download episodes as soon as they become live. diff --git a/test/podgrab/1.0.3/charts/common-3.5.5.tgz b/test/podgrab/1.0.3/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/podgrab/1.0.3/charts/common-3.5.5.tgz differ diff --git a/test/podgrab/1.0.3/ix_values.yaml b/test/podgrab/1.0.3/ix_values.yaml new file mode 100644 index 00000000..4d5da6cf --- /dev/null +++ b/test/podgrab/1.0.3/ix_values.yaml @@ -0,0 +1,16 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: latest + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/podgrab/1.0.3/questions.yaml b/test/podgrab/1.0.3/questions.yaml new file mode 100644 index 00000000..023e9e17 --- /dev/null +++ b/test/podgrab/1.0.3/questions.yaml @@ -0,0 +1,454 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + +# App env variables + - variable: env + group: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: PASSWORD + label: "Password" + description: "Desired Password" + schema: + type: string + default: "" + required: false + - variable: CHECK_FREQUENCY + label: "Update Frequency" + description: "Interval to check for new podcasts" + schema: + type: int + default: 240 + required: true + + # 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 + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 51080 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36047 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Config Storage" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "1Gi" + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/podgrab/1.0.3/templates/common.yaml b/test/podgrab/1.0.3/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/podgrab/1.0.3/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/podgrab/1.0.3/test_values.yaml b/test/podgrab/1.0.3/test_values.yaml new file mode 100644 index 00000000..6982fed0 --- /dev/null +++ b/test/podgrab/1.0.3/test_values.yaml @@ -0,0 +1,47 @@ +# Default values for podgrab. + +image: + repository: akhilrex/podgrab + pullPolicy: Always + tag: latest + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + +services: + main: + port: + port: 8080 + tcp: + enabled: true + type: ClusterIP + port: + port: 51080 + protocol: TCP + targetPort: 51080 + +env: + PASSWORD: secretpasswordgoeshere + CHECK_FREQUENCY: 240 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +customStorage: + - name: assets + enabled: true + mountPath: "/assets" + emptyDir: true diff --git a/test/podgrab/1.0.3/values.yaml b/test/podgrab/1.0.3/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/podgrab/item.yaml b/test/podgrab/item.yaml new file mode 100644 index 00000000..8fea192f --- /dev/null +++ b/test/podgrab/item.yaml @@ -0,0 +1,3 @@ +categories: + - mutlimedia +icon_url: https://truecharts.org/_static/img/podgrab-icon.png diff --git a/test/qbittorrent/3.1.5/CONFIG.md b/test/qbittorrent/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/qbittorrent/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/qbittorrent/3.1.5/Chart.lock b/test/qbittorrent/3.1.5/Chart.lock new file mode 100644 index 00000000..42139f48 --- /dev/null +++ b/test/qbittorrent/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:00.098310198Z" diff --git a/test/qbittorrent/3.1.5/Chart.yaml b/test/qbittorrent/3.1.5/Chart.yaml new file mode 100644 index 00000000..37d8d5de --- /dev/null +++ b/test/qbittorrent/3.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: qbittorrent +version: 3.1.5 +upstream_version: 7.2.1 +appVersion: "auto" +description: qBittorrent is a cross-platform free and open-source BitTorrent client +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/qbittorrent +icon: https://cloud.githubusercontent.com/assets/14862437/23586868/89ef2922-01c4-11e7-869c-52aafcece17f.png +keywords: + - qbittorrent + - torrrent +sources: + - https://github.com/truecharts/apps/tree/master/incubator/qbittorrent + - https://github.com/k8s-at-home/charts/tree/master/charts/qbittorrent + - https://hub.docker.com/r/linuxserver/qbittorrent/ +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/qbittorrent/3.1.5/README.md b/test/qbittorrent/3.1.5/README.md new file mode 100644 index 00000000..885309a1 --- /dev/null +++ b/test/qbittorrent/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +qBittorrent is a cross-platform free and open-source BitTorrent client + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `qbittorrent` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `qbittorrent` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/qbittorrent/3.1.5/app-readme.md b/test/qbittorrent/3.1.5/app-readme.md new file mode 100644 index 00000000..5d26b483 --- /dev/null +++ b/test/qbittorrent/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +qBittorrent is a cross-platform free and open-source BitTorrent client +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +qBittorrent is a cross-platform free and open-source BitTorrent client diff --git a/test/qbittorrent/3.1.5/charts/common-3.5.5.tgz b/test/qbittorrent/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/qbittorrent/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/qbittorrent/3.1.5/ix_values.yaml b/test/qbittorrent/3.1.5/ix_values.yaml new file mode 100644 index 00000000..a99eddee --- /dev/null +++ b/test/qbittorrent/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/qbittorrent/3.1.5/questions.yaml b/test/qbittorrent/3.1.5/questions.yaml new file mode 100644 index 00000000..d2494a1b --- /dev/null +++ b/test/qbittorrent/3.1.5/questions.yaml @@ -0,0 +1,563 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36039 + required: true + - variable: tcp + label: "TCP Torrent connections" + description: "This service is used to process incomming torrent connections over TCP" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + hidden: true + enum: + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "container port" + schema: + type: int + default: 6881 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true + - variable: udp + label: "UDP Torrent connections" + description: "This service is used to process incomming torrent connections over UDP" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "NodePort" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + hidden: true + enum: + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "container port" + schema: + type: int + default: 6881 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 51413 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36040 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/qbittorrent/3.1.5/templates/common.yaml b/test/qbittorrent/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/qbittorrent/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/qbittorrent/3.1.5/templates/configmap.yaml b/test/qbittorrent/3.1.5/templates/configmap.yaml new file mode 100644 index 00000000..f8549d96 --- /dev/null +++ b/test/qbittorrent/3.1.5/templates/configmap.yaml @@ -0,0 +1,45 @@ +## +# 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. +# +# `SPDX-License-Identifier: Apache-2.0` +# +# This file is considered to be modified by the TrueCharts Project. +## + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "common.names.fullname" . }}-scripts + labels: + {{- include "common.labels" . | nindent 4 }} +data: + {{- $bittorrentPort := "" -}} + {{- $bittorrentPort = .Values.services.tcp.port.port -}} + {{- if $bittorrentPort }} + 31-update-port: |- + #!/bin/bash + QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" + INCOMING_PORT={{- $bittorrentPort }} + + incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) + if [[ -z "${incoming_port_exist}" ]]; then + incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') + if [[ ! -z "${incoming_exist}" ]]; then + # Get line number of Incoming + LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) + sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} + else + echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} + fi + fi + {{- end }} diff --git a/test/qbittorrent/3.1.5/test_values.yaml b/test/qbittorrent/3.1.5/test_values.yaml new file mode 100644 index 00000000..02e101f8 --- /dev/null +++ b/test/qbittorrent/3.1.5/test_values.yaml @@ -0,0 +1,60 @@ +# Default values for qbittorrent. + +image: + repository: ghcr.io/truecharts/qbittorrent + pullPolicy: IfNotPresent + tag: v4.3.5 + +strategy: + type: Recreate + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + # UMASK: 022 + +services: + main: + port: + port: 8080 + tcp: + enabled: true + type: ClusterIP + port: + port: 6881 + protocol: TCP + targetPort: 51413 + udp: + enabled: true + type: ClusterIP + port: + port: 6881 + protocol: UDP + targetPort: 51413 + + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" + +additionalVolumes: + - name: qbittorrent-scripts + emptyDir: {} + ## When you want to enable automatic port configuration at startup, adjust this to: + # configMap: + # name: -scripts + # defaultMode: 511 + +additionalVolumeMounts: + - mountPath: /config/custom-cont-init.d + name: qbittorrent-scripts + + +appAdditionalServicesEnabled: true +appAdditionalServices: diff --git a/test/qbittorrent/3.1.5/values.yaml b/test/qbittorrent/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/qbittorrent/item.yaml b/test/qbittorrent/item.yaml new file mode 100644 index 00000000..a366e589 --- /dev/null +++ b/test/qbittorrent/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://cloud.githubusercontent.com/assets/14862437/23586868/89ef2922-01c4-11e7-869c-52aafcece17f.png diff --git a/test/readarr/3.1.5/CONFIG.md b/test/readarr/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/readarr/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/readarr/3.1.5/Chart.lock b/test/readarr/3.1.5/Chart.lock new file mode 100644 index 00000000..ab4b8a02 --- /dev/null +++ b/test/readarr/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:00.428743745Z" diff --git a/test/readarr/3.1.5/Chart.yaml b/test/readarr/3.1.5/Chart.yaml new file mode 100644 index 00000000..041ee3f5 --- /dev/null +++ b/test/readarr/3.1.5/Chart.yaml @@ -0,0 +1,35 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: readarr +version: 3.1.5 +upstream_version: 2.1.0 +appVersion: "auto" +description: A fork of Radarr to work with Books & AudioBooks +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/readarr +icon: https://github.com/Readarr/Readarr/blob/develop/Logo/1024.png?raw=true +keywords: + - readarr + - torrent + - usenet + - AudioBooks + - ebooks +sources: + - https://github.com/truecharts/apps/tree/master/incubator/readarr + - https://github.com/k8s-at-home/charts/tree/master/charts/readarr + - https://github.com/Readarr/Readarr + - https://readarr.com +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: Ornias1993 + email: kjeld@schouten-lebbing.nl + url: truecharts.org +# annotations: diff --git a/test/readarr/3.1.5/README.md b/test/readarr/3.1.5/README.md new file mode 100644 index 00000000..dded0c18 --- /dev/null +++ b/test/readarr/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +A fork of Radarr to work with Books & AudioBooks + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `readarr` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `readarr` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/readarr/3.1.5/app-readme.md b/test/readarr/3.1.5/app-readme.md new file mode 100644 index 00000000..ec0ebb21 --- /dev/null +++ b/test/readarr/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +A fork of Radarr to work with Books & AudioBooks +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +A fork of Radarr to work with Books & AudioBooks diff --git a/test/readarr/3.1.5/charts/common-3.5.5.tgz b/test/readarr/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/readarr/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/readarr/3.1.5/ix_values.yaml b/test/readarr/3.1.5/ix_values.yaml new file mode 100644 index 00000000..8e161d6d --- /dev/null +++ b/test/readarr/3.1.5/ix_values.yaml @@ -0,0 +1,37 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.643 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/readarr/3.1.5/questions.yaml b/test/readarr/3.1.5/questions.yaml new file mode 100644 index 00000000..840fe89a --- /dev/null +++ b/test/readarr/3.1.5/questions.yaml @@ -0,0 +1,436 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8787 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36038 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/readarr/3.1.5/templates/common.yaml b/test/readarr/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/readarr/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/readarr/3.1.5/test_values.yaml b/test/readarr/3.1.5/test_values.yaml new file mode 100644 index 00000000..09676bb4 --- /dev/null +++ b/test/readarr/3.1.5/test_values.yaml @@ -0,0 +1,49 @@ +# Default values for Radarr. + +image: + repository: ghcr.io/truecharts/readarr + pullPolicy: IfNotPresent + tag: v0.1.0.643 + +strategy: + type: Recreate + +services: + main: + port: + port: 8787 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +probes: + liveness: + enabled: true + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:8787/api/v1/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/readarr/3.1.5/values.yaml b/test/readarr/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/readarr/item.yaml b/test/readarr/item.yaml new file mode 100644 index 00000000..e409535f --- /dev/null +++ b/test/readarr/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://github.com/Readarr/Readarr/blob/develop/Logo/1024.png?raw=true diff --git a/test/sabnzbd/3.1.5/CONFIG.md b/test/sabnzbd/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/sabnzbd/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/sabnzbd/3.1.5/Chart.lock b/test/sabnzbd/3.1.5/Chart.lock new file mode 100644 index 00000000..5c046e33 --- /dev/null +++ b/test/sabnzbd/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:00.676279356Z" diff --git a/test/sabnzbd/3.1.5/Chart.yaml b/test/sabnzbd/3.1.5/Chart.yaml new file mode 100644 index 00000000..281a1644 --- /dev/null +++ b/test/sabnzbd/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: sabnzbd +version: 3.1.5 +upstream_version: 5.0.1 +appVersion: "auto" +description: Free and easy binary newsreader +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/sabnzbd +icon: https://avatars1.githubusercontent.com/u/960698?s=400&v=4 +keywords: + - sabnzbd + - usenet +sources: + - https://github.com/truecharts/apps/tree/master/incubator/sabnzbd + - https://github.com/k8s-at-home/charts/tree/master/charts/sabnzbd + - https://hub.docker.com/r/linuxserver/sabnzbd/ + - https://sabnzbd.org/ +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/sabnzbd/3.1.5/README.md b/test/sabnzbd/3.1.5/README.md new file mode 100644 index 00000000..cfa2b2d0 --- /dev/null +++ b/test/sabnzbd/3.1.5/README.md @@ -0,0 +1,56 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Free and easy binary newsreader + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `sabnzbd` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `sabnzbd` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/sabnzbd/3.1.5/app-readme.md b/test/sabnzbd/3.1.5/app-readme.md new file mode 100644 index 00000000..05e7f339 --- /dev/null +++ b/test/sabnzbd/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Free and easy binary newsreader +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Free and easy binary newsreader diff --git a/test/sabnzbd/3.1.5/charts/common-3.5.5.tgz b/test/sabnzbd/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/sabnzbd/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/sabnzbd/3.1.5/ix_values.yaml b/test/sabnzbd/3.1.5/ix_values.yaml new file mode 100644 index 00000000..70a2cef7 --- /dev/null +++ b/test/sabnzbd/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ghcr.io/truecharts/sabnzbd + pullPolicy: IfNotPresent + tag: v3.2.1 + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/sabnzbd/3.1.5/questions.yaml b/test/sabnzbd/3.1.5/questions.yaml new file mode 100644 index 00000000..d47bf059 --- /dev/null +++ b/test/sabnzbd/3.1.5/questions.yaml @@ -0,0 +1,452 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + + # Docker specific env + - variable: env + group: "Configuration" + label: "Image Environment" + schema: + type: dict + attrs: + - variable: HOST_WHITELIST_ENTRIES + label: "HostName Whitelist" + description: "If you use a reverse proxy, you might need to enter your hostname's here (comma seperated)" + schema: + type: string + default: "" + required: false + # 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 + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36045 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: true + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/sabnzbd/3.1.5/templates/common.yaml b/test/sabnzbd/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/sabnzbd/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/sabnzbd/3.1.5/test_values.yaml b/test/sabnzbd/3.1.5/test_values.yaml new file mode 100644 index 00000000..b5ccdd61 --- /dev/null +++ b/test/sabnzbd/3.1.5/test_values.yaml @@ -0,0 +1,28 @@ +# Default values for Sabnzbd. + +image: + repository: ghcr.io/truecharts/sabnzbd + pullPolicy: IfNotPresent + tag: v3.2.1 + +strategy: + type: Recreate + +services: + main: + port: + port: 8080 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/sabnzbd/3.1.5/values.yaml b/test/sabnzbd/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/sabnzbd/item.yaml b/test/sabnzbd/item.yaml new file mode 100644 index 00000000..b81149d2 --- /dev/null +++ b/test/sabnzbd/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars1.githubusercontent.com/u/960698?s=400&v=4 diff --git a/test/truecommand/3.1.5/CONFIG.md b/test/truecommand/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/truecommand/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/truecommand/3.1.5/Chart.lock b/test/truecommand/3.1.5/Chart.lock new file mode 100644 index 00000000..7d44d79e --- /dev/null +++ b/test/truecommand/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:00.892306191Z" diff --git a/test/truecommand/3.1.5/Chart.yaml b/test/truecommand/3.1.5/Chart.yaml new file mode 100644 index 00000000..c8ab27ff --- /dev/null +++ b/test/truecommand/3.1.5/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: truecommand +version: 3.1.5 +# upstream_version: 1.1.0 +appVersion: "nightly" +description: Aggregated management of TrueNAS devices +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/truecommand +icon: https://www.ixsystems.com/documentation/truecommand/1.2/_static/tv-logo.png +keywords: + - truecommand +sources: + - https://github.com/truecharts/apps/tree/master/incubator/truecommand + - https://hub.docker.com/r/ixsystems/truecommand +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org + - name: Ornias1993 + email: kjeld@schouten-lebbing.nl + url: truecharts.org +# annotations: diff --git a/test/truecommand/3.1.5/README.md b/test/truecommand/3.1.5/README.md new file mode 100644 index 00000000..8caf3b92 --- /dev/null +++ b/test/truecommand/3.1.5/README.md @@ -0,0 +1,54 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: nightly](https://img.shields.io/badge/AppVersion-nightly-informational?style=flat-square) + +Aggregated management of TrueNAS devices + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `truecommand` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `truecommand` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/truecommand/3.1.5/app-readme.md b/test/truecommand/3.1.5/app-readme.md new file mode 100644 index 00000000..8e146848 --- /dev/null +++ b/test/truecommand/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Aggregated management of TrueNAS devices +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Aggregated management of TrueNAS devices diff --git a/test/truecommand/3.1.5/charts/common-3.5.5.tgz b/test/truecommand/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/truecommand/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/truecommand/3.1.5/ix_values.yaml b/test/truecommand/3.1.5/ix_values.yaml new file mode 100644 index 00000000..d2b8ab2a --- /dev/null +++ b/test/truecommand/3.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: nightly + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/truecommand/3.1.5/questions.yaml b/test/truecommand/3.1.5/questions.yaml new file mode 100644 index 00000000..1701b241 --- /dev/null +++ b/test/truecommand/3.1.5/questions.yaml @@ -0,0 +1,453 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 80 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36044 + required: true +## TrueCharts Specific + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: data + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/data" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/truecommand/3.1.5/templates/common.yaml b/test/truecommand/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/truecommand/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/truecommand/3.1.5/test_values.yaml b/test/truecommand/3.1.5/test_values.yaml new file mode 100644 index 00000000..ee4eb28f --- /dev/null +++ b/test/truecommand/3.1.5/test_values.yaml @@ -0,0 +1,35 @@ +# Default values for Jackett. + +image: + repository: ixsystems/truecommand + pullPolicy: IfNotPresent + tag: nightly + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +services: + main: + port: + port: 80 + +env: {} + # TZ: UTC + # PUID: 1001 + # PGID: 1001 + +persistence: + data: + enabled: true + mountPath: "/data" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/truecommand/3.1.5/values.yaml b/test/truecommand/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/truecommand/item.yaml b/test/truecommand/item.yaml new file mode 100644 index 00000000..9c10785b --- /dev/null +++ b/test/truecommand/item.yaml @@ -0,0 +1,3 @@ +categories: + - Administration +icon_url: https://www.ixsystems.com/documentation/truecommand/1.2/_static/tv-logo.png diff --git a/test/tvheadend/4.1.5/CONFIG.md b/test/tvheadend/4.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/tvheadend/4.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/tvheadend/4.1.5/Chart.lock b/test/tvheadend/4.1.5/Chart.lock new file mode 100644 index 00000000..3987b9bb --- /dev/null +++ b/test/tvheadend/4.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:01.11612182Z" diff --git a/test/tvheadend/4.1.5/Chart.yaml b/test/tvheadend/4.1.5/Chart.yaml new file mode 100644 index 00000000..2e376dda --- /dev/null +++ b/test/tvheadend/4.1.5/Chart.yaml @@ -0,0 +1,30 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: tvheadend +version: 4.1.5 +upstream_version: 1.1.2 +appVersion: "latest" +description: TVheadend - a TV streaming server and digital video recorder +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/tvheadend +icon: https://avatars.githubusercontent.com/u/1908588?s=200&v=4 +keywords: + - tvheadend + - tv + - streaming + - dvb +sources: + - https://github.com/truecharts/apps/tree/master/incubator/tvheadend + - https://github.com/k8s-at-home/charts/tree/master/charts/tvheadend + - https://github.com/tvheadend/tvheadend +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/tvheadend/4.1.5/README.md b/test/tvheadend/4.1.5/README.md new file mode 100644 index 00000000..63f3c617 --- /dev/null +++ b/test/tvheadend/4.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 4.1.5](https://img.shields.io/badge/Version-4.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square) + +TVheadend - a TV streaming server and digital video recorder + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `tvheadend` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `tvheadend` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/tvheadend/4.1.5/app-readme.md b/test/tvheadend/4.1.5/app-readme.md new file mode 100644 index 00000000..972a532e --- /dev/null +++ b/test/tvheadend/4.1.5/app-readme.md @@ -0,0 +1,3 @@ +TVheadend - a TV streaming server and digital video recorder +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +TVheadend - a TV streaming server and digital video recorder diff --git a/test/tvheadend/4.1.5/charts/common-3.5.5.tgz b/test/tvheadend/4.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/tvheadend/4.1.5/charts/common-3.5.5.tgz differ diff --git a/test/tvheadend/4.1.5/ix_values.yaml b/test/tvheadend/4.1.5/ix_values.yaml new file mode 100644 index 00000000..1d54e5cb --- /dev/null +++ b/test/tvheadend/4.1.5/ix_values.yaml @@ -0,0 +1,15 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: latest + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/tvheadend/4.1.5/questions.yaml b/test/tvheadend/4.1.5/questions.yaml new file mode 100644 index 00000000..5a869bcc --- /dev/null +++ b/test/tvheadend/4.1.5/questions.yaml @@ -0,0 +1,492 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + + # Configure Time Zone + - variable: timezone + group: "Container Image" + label: "Timezone" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + # Service Configuration + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTP" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 9981 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36042 + required: true + - variable: htsp + label: "HTSP service" + description: "Service to connect to htsp" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + hidden: true + enum: + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "container port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 9982 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36043 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/config" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/tvheadend/4.1.5/templates/common.yaml b/test/tvheadend/4.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/tvheadend/4.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/tvheadend/4.1.5/test_values.yaml b/test/tvheadend/4.1.5/test_values.yaml new file mode 100644 index 00000000..4d5ca71d --- /dev/null +++ b/test/tvheadend/4.1.5/test_values.yaml @@ -0,0 +1,44 @@ +# Default values for tvheadend. + +image: + repository: linuxserver/tvheadend + pullPolicy: IfNotPresent + tag: latest + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +# See https://github.com/linuxserver/docker-tvheadend#parameters +env: {} + # PUID: 1000 + # PGID: 1000 + # TZ: Europe/London + # RUN_OPTS: + +services: + main: + port: + port: 9981 + htsp: + enabled: true + type: ClusterIP + port: + port: 9982 + protocol: TCP + targetPort: 9982 + +persistence: + config: + enabled: true + mountPath: "/config" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/tvheadend/4.1.5/values.yaml b/test/tvheadend/4.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/tvheadend/item.yaml b/test/tvheadend/item.yaml new file mode 100644 index 00000000..4e787795 --- /dev/null +++ b/test/tvheadend/item.yaml @@ -0,0 +1,3 @@ +categories: + - media +icon_url: https://avatars.githubusercontent.com/u/1908588?s=200&v=4 diff --git a/test/unifi/3.1.5/CONFIG.md b/test/unifi/3.1.5/CONFIG.md new file mode 100644 index 00000000..6d760c18 --- /dev/null +++ b/test/unifi/3.1.5/CONFIG.md @@ -0,0 +1,8 @@ +# Configuration Options + +##### Connecting to other apps +If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide: +https://truecharts.org/manual/linking/ + +##### Available config options +In the future this page is going to contain an automated list of options available in the installation/edit UI. diff --git a/test/unifi/3.1.5/Chart.lock b/test/unifi/3.1.5/Chart.lock new file mode 100644 index 00000000..1cb7fec5 --- /dev/null +++ b/test/unifi/3.1.5/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://truecharts.org/ + version: 3.5.5 +digest: sha256:ea66c36be2fa73e56bc33f7e89af9ce338cdfbed0b347484888e87228b825015 +generated: "2021-05-06T13:30:01.348637242Z" diff --git a/test/unifi/3.1.5/Chart.yaml b/test/unifi/3.1.5/Chart.yaml new file mode 100644 index 00000000..744da8ed --- /dev/null +++ b/test/unifi/3.1.5/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +kubeVersion: ">=1.16.0-0" +name: unifi +version: 3.1.5 +upstream_version: 1.5.1 +appVersion: "auto" +description: Ubiquiti Network's Unifi Controller +type: application +deprecated: false +home: https://github.com/truecharts/apps/tree/master/incubator/unifi +icon: https://dl.ubnt.com/press/logo-UniFi.png +keywords: + - ubiquiti + - unifi +sources: + - https://github.com/truecharts/apps/tree/master/incubator/unifi + - https://github.com/jacobalberty/unifi-docker + - https://unifi-network.ui.com +dependencies: + - name: common + repository: https://truecharts.org/ + version: 3.5.5 + # condition: +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: truecharts.org +# annotations: diff --git a/test/unifi/3.1.5/README.md b/test/unifi/3.1.5/README.md new file mode 100644 index 00000000..048495ca --- /dev/null +++ b/test/unifi/3.1.5/README.md @@ -0,0 +1,55 @@ +# Introduction + +![Version: 3.1.5](https://img.shields.io/badge/Version-3.1.5-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: auto](https://img.shields.io/badge/AppVersion-auto-informational?style=flat-square) + +Ubiquiti Network's Unifi Controller + +TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation. +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)** + +## Source Code + +* +* +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://truecharts.org/ | common | 3.5.5 | + +## Installing the Chart + +To install the chart with the release name `unifi` + +- Open TrueNAS SCALE +- Go to Apps +- Click "Install" for this specific Apps +- Fill out the configuration form + +## Uninstalling the Chart + +To uninstall the `unifi` deployment + +- Open TrueNAS SCALE +- Go to Apps +- Go to "Installed Apps" +- Expand the menu in the top-right corner of this App +- Click "Remove" for this specific Apps + +The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release. + +## Support + +- See the [Wiki](https://truecharts.org) +- Open a [issue](https://github.com/truecharts/apps/issues/new/choose) +- Ask a [question](https://github.com/truecharts/apps/discussions) + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) +All Rights Reserved - The TrueCharts Project diff --git a/test/unifi/3.1.5/app-readme.md b/test/unifi/3.1.5/app-readme.md new file mode 100644 index 00000000..0e6732e4 --- /dev/null +++ b/test/unifi/3.1.5/app-readme.md @@ -0,0 +1,3 @@ +Ubiquiti Network's Unifi Controller +This App is supplied by TrueCharts, for more information please visit https://truecharts.org +Ubiquiti Network's Unifi Controller diff --git a/test/unifi/3.1.5/charts/common-3.5.5.tgz b/test/unifi/3.1.5/charts/common-3.5.5.tgz new file mode 100644 index 00000000..d01688bb Binary files /dev/null and b/test/unifi/3.1.5/charts/common-3.5.5.tgz differ diff --git a/test/unifi/3.1.5/ix_values.yaml b/test/unifi/3.1.5/ix_values.yaml new file mode 100644 index 00000000..a7c2aa22 --- /dev/null +++ b/test/unifi/3.1.5/ix_values.yaml @@ -0,0 +1,21 @@ +## +# This file contains Values.yaml content that gets added to the output of questions.yaml +# It's ONLY meant for content that the user is NOT expected to change. +# Example: Everything under "image" is not included in questions.yaml but is included here. +## + +image: + repository: jacobalberty/unifi + tag: 6.1.71 + pullPolicy: IfNotPresent + + +envTpl: +# Permissions Settings + UNIFI_GID: "{{ .Values.PUID }}" + UNIFI_UID: "{{ .Values.PGID }}" + +## +# Most other defaults are set in questions.yaml +# For other options please refer to the wiki, default_values.yaml or the common library chart +## diff --git a/test/unifi/3.1.5/questions.yaml b/test/unifi/3.1.5/questions.yaml new file mode 100644 index 00000000..9b329892 --- /dev/null +++ b/test/unifi/3.1.5/questions.yaml @@ -0,0 +1,635 @@ +groups: + - name: "Container Image" + description: "Image to be used for container" + - name: "Workload Configuration" + description: "Configure workload deployment" + - name: "Configuration" + description: "additional container configuration" + - name: "Networking" + description: "Configure / service for container" + - name: "Storage" + description: "Persist and share data that is separate from the lifecycle of the container" + - name: "Resources and Devices" + description: "Specify resources/devices to be allocated to workload" + - name: "Reverse Proxy Configuration" + description: "Reverse Proxy configuration" + - name: "Advanced" + description: "Advanced Configuration" + - name: "WARNING" + description: "WARNING" +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true + + # Update Policy + - variable: strategyType + group: "Container Image" + label: "Update Strategy" + schema: + type: string + default: "Recreate" + enum: + - value: "RollingUpdate" + description: "Create new pods and then kill old ones" + - value: "Recreate" + description: "Kill existing pods before creating new ones" + # Configure Time Zone + - variable: timezone + group: "Container Image" + 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 + # Enable Host Networking + - variable: hostNetwork + group: "Networking" + label: "Enable Host Networking" + schema: + type: boolean + default: false + - variable: services + group: "Networking" + label: "Configure Service" + schema: + type: dict + attrs: + - variable: main + label: "Main service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "HTTPS" + hidden: false + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - variable: port + label: "container port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8443 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36035 + required: true + - variable: tcp + label: "Unifi Device Communications" + description: "This services is used for devices to communicate with the controller" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "TCP" + hidden: true + enum: + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "container port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 8080 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36036 + required: true + - variable: udp + label: "Stun Device Communications" + description: "This services is used for devices to communicate with the controller using STUN" + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the service" + schema: + type: boolean + default: true + hidden: true + - variable: type + label: "Service type" + description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System" + schema: + type: string + default: "ClusterIP" + enum: + - value: "NodePort" + description: "NodePort" + - value: "ClusterIP" + description: "ClusterIP" + - variable: port + label: "Port configuration" + schema: + type: dict + attrs: + - variable: protocol + label: "Port Type" + schema: + type: string + default: "UDP" + hidden: true + enum: + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: port + label: "container port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: targetport + label: "Internal Service port" + description: "When connecting internally to this App, you'll need this port" + schema: + type: int + default: 3478 + editable: false + hidden: true + - variable: nodePort + label: "(optional) host nodePort to expose to" + description: "only get used when nodePort is selected" + schema: + type: int + min: 9000 + max: 65535 + default: 36037 + required: true + - variable: persistence + label: "Integrated Persistent Storage" + description: "Websocket Service" + group: "Storage" + schema: + type: dict + attrs: + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + type: dict + attrs: + - variable: enabled + label: "Enable the storage" + schema: + type: boolean + default: true + hidden: true + - variable: storageClass + label: "Type of Storage" + description: " Warning: Anything other than Internal will break rollback!" + schema: + type: string + default: "" + enum: + - value: "" + description: "Internal" + - variable: mountPath + label: "mountPath" + description: "Path inside the container the storage is mounted" + schema: + type: string + default: "/unifi" + hidden: true + - variable: emptyDir + label: "Mount a ramdisk instead of actual storage" + schema: + type: boolean + default: false + hidden: true + - variable: accessMode + label: "Access Mode (Advanced)" + description: "Allow or disallow multiple PVC's writhing to the same PVC" + schema: + type: string + default: "ReadWriteOnce" + enum: + - value: "ReadWriteOnce" + description: "ReadWriteOnce" + - value: "ReadOnlyMany" + description: "ReadOnlyMany" + - value: "ReadWriteMany" + description: "ReadWriteMany" + - variable: size + label: "Size quotum of storage" + schema: + type: string + default: "100Gi" + + + - variable: customStorage + label: "Custom app storage" + group: "Storage" + schema: + type: list + default: [] + items: + - variable: volumeMount + label: "Custom Storage" + schema: + type: dict + attrs: + - variable: enabled + label: "Enabled" + schema: + type: boolean + default: true + required: true + hidden: true + editable: false + - variable: setPermissions + label: "Automatic Permissions" + description: "Automatically set permissions on install" + schema: + type: boolean + default: true + hidden: false + - variable: readOnly + label: "Mount as ReadOnly" + description: "prevent any write from being done to the mounted volume" + schema: + type: boolean + default: false + hidden: false + - variable: emptyDir + label: "emptyDir" + schema: + type: boolean + default: false + hidden: true + editable: false + - variable: mountPath + label: "Mount Path" + description: "Path to mount inside the pod" + schema: + type: path + required: true + default: "" + editable: true + - variable: hostPath + label: "Host Path" + schema: + type: hostpath + required: true + - variable: ingress + label: "" + group: "Reverse Proxy Configuration" + schema: + type: dict + attrs: + - variable: main + label: "WebUI" + schema: + type: dict + attrs: + - variable: certType + label: "Select Reverse-Proxy Type" + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: "Disabled" + - value: "" + description: "No Encryption/TLS/Certificates" + - value: "selfsigned" + description: "Self-Signed Certificate" + - value: "ixcert" + description: "TrueNAS SCALE Certificate" + - variable: type + label: "Reverse Proxy Type" + schema: + type: string + default: "HTTP" + hidden: true + editable: false + required: true + - variable: serviceName + label: "Service name to proxy to" + schema: + hidden: true + editable: false + type: string + default: "" + - variable: entrypoint + label: "Select Entrypoint" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "websecure" + required: true + enum: + - value: "websecure" + description: "Websecure: HTTPS/TLS port 443" + - variable: hosts + label: "Hosts" + schema: + show_if: [["certType", "!=", "disabled"]] + type: list + default: [] + items: + - variable: host + label: "Host" + schema: + type: dict + attrs: + - variable: host + label: "Domain Name" + required: true + schema: + type: string + - variable: path + label: "path" + schema: + type: string + required: true + hidden: true + default: "/" + - variable: certificate + label: "Select TrueNAS SCALE Certificate" + schema: + type: int + show_if: [["certType", "=", "ixcert"]] + $ref: + - "definitions/certificate" + - variable: authForwardURL + label: "Forward Authentication URL" + schema: + show_if: [["certType", "!=", "disabled"]] + type: string + default: "" + - variable: tcp + label: "TCP Ingress Configuration" + 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 + hidden: true + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "unificom" + required: true + enum: + - value: "unificom" + description: "Unifi Communications TCP: port 8080" + - variable: udp + label: "UDP Ingress Configuration" + 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 + hidden: true + - variable: entrypoint + label: "Select Entrypoint" + schema: + type: string + default: "stun-udp" + required: true + enum: + - value: "stun-udp" + description: "STUN UDP: port 3478" + - variable: PUID + group: "Advanced" + label: "PUID" + description: "Sets the PUID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + + - variable: PGID + group: "Advanced" + label: "PGID" + description: "Sets the PGID env var for LinuxServer.io (compatible) containers" + schema: + type: int + default: 568 + - variable: UMASK + group: "Advanced" + label: "UMASK" + description: "Sets the UMASK env var for LinuxServer.io (compatible) containers" + schema: + type: string + default: "002" + # Enable privileged + - variable: securityContext + group: "Advanced" + label: "Security Context" + schema: + type: dict + attrs: + - variable: privileged + label: "Enable privileged mode for Common-Chart based charts" + schema: + type: boolean + default: false + # Set Pod Security Policy + - variable: podSecurityContext + group: "Advanced" + label: "Pod Security Context" + schema: + type: dict + attrs: + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: supplementalGroups + label: "supplementalGroups" + description: "Additional groups this App needs access to" + schema: + type: list + default: [] + items: + - variable: Group + label: "Group" + schema: + type: int + default: 568 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: "OnRootMismatch" + enum: + - value: "OnRootMismatch" + description: "OnRootMismatch" + - value: "Always" + description: "Always" diff --git a/test/unifi/3.1.5/templates/common.yaml b/test/unifi/3.1.5/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/test/unifi/3.1.5/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/test/unifi/3.1.5/test_values.yaml b/test/unifi/3.1.5/test_values.yaml new file mode 100644 index 00000000..b8989031 --- /dev/null +++ b/test/unifi/3.1.5/test_values.yaml @@ -0,0 +1,54 @@ +# Default values for Unifi. + +image: + repository: jacobalberty/unifi + tag: 6.1.71 + pullPolicy: IfNotPresent + +strategy: + type: Recreate + +# Configure the Security Context for the Pod +podSecurityContext: + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + fsGroup: 0 + +envTpl: +# Permissions Settings + UNIFI_GID: "{{ .Values.PUID }}" + UNIFI_UID: "{{ .Values.PGID }}" + +services: + main: + port: + port: 8443 + tcp: + enabled: true + type: ClusterIP + port: + port: 8080 + protocol: TCP + targetPort: 8080 + udp: + enabled: true + type: ClusterIP + port: + port: 3478 + protocol: UDP + targetPort: 3478 + +env: {} + # TZ: + # PUID: + # PGID: + +persistence: + config: + enabled: true + mountPath: "/unifi" + emptyDir: true + accessMode: ReadWriteOnce + size: 1Gi + storageClass: "" diff --git a/test/unifi/3.1.5/values.yaml b/test/unifi/3.1.5/values.yaml new file mode 100644 index 00000000..e69de29b diff --git a/test/unifi/item.yaml b/test/unifi/item.yaml new file mode 100644 index 00000000..288785c1 --- /dev/null +++ b/test/unifi/item.yaml @@ -0,0 +1,3 @@ +categories: + - Networking +icon_url: https://dl.ubnt.com/press/logo-UniFi.png