From 700d184f26c843a8f586e01e78203ed95c8d7eb4 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Sun, 14 Apr 2024 23:13:07 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/slink/1.0.0/.helmignore | 30 + stable/slink/1.0.0/CHANGELOG.md | 3 + stable/slink/1.0.0/Chart.yaml | 39 + stable/slink/1.0.0/README.md | 28 + stable/slink/1.0.0/app-changelog.md | 9 + stable/slink/1.0.0/app-readme.md | 8 + stable/slink/1.0.0/charts/common-20.3.7.tgz | Bin 0 -> 99393 bytes stable/slink/1.0.0/ix_values.yaml | 37 + stable/slink/1.0.0/questions.yaml | 3136 +++++++++++++++++++ stable/slink/1.0.0/templates/NOTES.txt | 1 + stable/slink/1.0.0/templates/common.yaml | 1 + stable/slink/1.0.0/values.yaml | 0 stable/slink/item.yaml | 4 + 13 files changed, 3296 insertions(+) create mode 100644 stable/slink/1.0.0/.helmignore create mode 100644 stable/slink/1.0.0/CHANGELOG.md create mode 100644 stable/slink/1.0.0/Chart.yaml create mode 100644 stable/slink/1.0.0/README.md create mode 100644 stable/slink/1.0.0/app-changelog.md create mode 100644 stable/slink/1.0.0/app-readme.md create mode 100644 stable/slink/1.0.0/charts/common-20.3.7.tgz create mode 100644 stable/slink/1.0.0/ix_values.yaml create mode 100755 stable/slink/1.0.0/questions.yaml create mode 100644 stable/slink/1.0.0/templates/NOTES.txt create mode 100644 stable/slink/1.0.0/templates/common.yaml create mode 100644 stable/slink/1.0.0/values.yaml create mode 100644 stable/slink/item.yaml diff --git a/stable/slink/1.0.0/.helmignore b/stable/slink/1.0.0/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/stable/slink/1.0.0/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/stable/slink/1.0.0/CHANGELOG.md b/stable/slink/1.0.0/CHANGELOG.md new file mode 100644 index 00000000000..941abb8a218 --- /dev/null +++ b/stable/slink/1.0.0/CHANGELOG.md @@ -0,0 +1,3 @@ +*for the complete changelog, please refer to the website* + +**Important:** \ No newline at end of file diff --git a/stable/slink/1.0.0/Chart.yaml b/stable/slink/1.0.0/Chart.yaml new file mode 100644 index 00000000000..a1b7aaa78e6 --- /dev/null +++ b/stable/slink/1.0.0/Chart.yaml @@ -0,0 +1,39 @@ +annotations: + max_scale_version: 24.04.0 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: stable +apiVersion: v2 +appVersion: 1.0.0 +dependencies: + - name: common + version: 20.3.7 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: A self-hosted image sharing platform built with Symfony and SvelteKitī¸. +home: https://truecharts.org/charts/stable/slink +icon: https://truecharts.org/img/hotlink-ok/chart-icons/slink.png +keywords: + - media + - photos + - pictures + - sharing +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: slink +sources: + - https://github.com/andrii-kryvoviaz/slink + - https://github.com/truecharts/charts/tree/master/charts/stab;e/slink + - https://hub.docker.com/r/anirdev/slink +type: application +version: 1.0.0 diff --git a/stable/slink/1.0.0/README.md b/stable/slink/1.0.0/README.md new file mode 100644 index 00000000000..b9c19246520 --- /dev/null +++ b/stable/slink/1.0.0/README.md @@ -0,0 +1,28 @@ +--- +title: README +--- + +## General Info + +TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/slink) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +_All Rights Reserved - The TrueCharts Project_ diff --git a/stable/slink/1.0.0/app-changelog.md b/stable/slink/1.0.0/app-changelog.md new file mode 100644 index 00000000000..03d20816bc5 --- /dev/null +++ b/stable/slink/1.0.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [slink-1.0.0]slink-1.0.0 (2024-04-14) + +### Migrate + + + +- move to stable ([#20780](https://github.com/truecharts/charts/issues/20780)) \ No newline at end of file diff --git a/stable/slink/1.0.0/app-readme.md b/stable/slink/1.0.0/app-readme.md new file mode 100644 index 00000000000..bd9336c09ab --- /dev/null +++ b/stable/slink/1.0.0/app-readme.md @@ -0,0 +1,8 @@ +A self-hosted image sharing platform built with Symfony and SvelteKitī¸. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/slink](https://truecharts.org/charts/stable/slink) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/stable/slink/1.0.0/charts/common-20.3.7.tgz b/stable/slink/1.0.0/charts/common-20.3.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..af5b08a01ea43b8d30c8c86a1a16bd64261501a8 GIT binary patch literal 99393 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ʝe+GOYEfx&O;? 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 literal 0 HcmV?d00001 diff --git a/stable/slink/1.0.0/ix_values.yaml b/stable/slink/1.0.0/ix_values.yaml new file mode 100644 index 00000000000..6d8487e494f --- /dev/null +++ b/stable/slink/1.0.0/ix_values.yaml @@ -0,0 +1,37 @@ +image: + repository: anirdev/slink + pullPolicy: IfNotPresent + tag: v1.0.0@sha256:6c47fcaab5c77b57540602aff5fd11534e480b73f6e06a24926fb22cb326e900 +securityContext: + container: + readOnlyRootFilesystem: false + runAsGroup: 0 + runAsUser: 0 +service: + main: + ports: + main: + protocol: http + port: 3000 +workload: + main: + podSpec: + containers: + main: + env: + ORIGIN: "{{ .Values.chartContext.appUrl }}" + USER_APPROVAL_REQUIRED: true + IMAGE_MAX_SIZE: "15M" +persistence: + database: + enabled: true + mountPath: "/app/var/data" + images: + enabled: true + mountPath: "/app/slink/images" +portal: + open: + enabled: true +ingress: + main: + required: true \ No newline at end of file diff --git a/stable/slink/1.0.0/questions.yaml b/stable/slink/1.0.0/questions.yaml new file mode 100755 index 00000000000..b1dea7eeef9 --- /dev/null +++ b/stable/slink/1.0.0/questions.yaml @@ -0,0 +1,3136 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Backup Configuration + description: Configure Velero Backup Schedule + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Dependencies + description: Dependencies + - name: Documentation + description: Documentation + +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" + +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + + - variable: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: USER_APPROVAL_REQUIRED + label: "User Approval Required" + description: "Whether to require user approval before they can upload images." + schema: + type: boolean + default: true + - variable: IMAGE_MAX_SIZE + label: "Maximum Image Size" + description: "Maximum image size allowed to be uploaded (no more than 50M)." + schema: + type: string + required: true + default: 15M + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + + - variable: imagePullSecretList + group: "General Settings" + label: "Image Pull Secrets" + schema: + type: list + default: [] + items: + - variable: pullsecretentry + label: "Pull Secret" + schema: + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: true + - variable: data + label: Data + schema: + type: dict + additional_attrs: true + attrs: + - variable: registry + label: "Registry" + schema: + type: string + required: true + default: "https://index.docker.io/v1/" + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + private: true + default: "" + - variable: email + label: "Email" + schema: + type: string + required: true + default: "" + + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + + - variable: database + label: "App Database Storage" + description: "Stores the Application Database." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + + - variable: images + label: "Image Storage" + description: "Stores the Images." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name (Optional) + description: Defaults to chart name + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description (Optional) + description: Defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: icon + label: Icon (Optional) + description: Defaults to chart icon + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: widget + label: Widget Settings + schema: + type: dict + additional_attrs: true + show_if: [["enabled", "=", true]] + attrs: + - variable: enabled + label: Enable Widget + description: When disabled all widget annotations are skipped. + schema: + type: boolean + default: true + - variable: custom + label: Options + schema: + type: dict + additional_attrs: true + attrs: + - variable: key + label: API-key (key) + schema: + type: string + default: "" + - variable: customkv + label: Custom Options + schema: + type: list + default: [] + items: + - variable: option + label: Option + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + default: "" + required: true + - variable: value + label: Value + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: overrideService + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: namespace + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID this App of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: 'gpu.intel.com/i915' + label: Add Intel i915 GPUs + schema: + type: int + default: 0 + - variable: 'nvidia.com/gpu' + label: Add NVIDIA GPUs (Experimental) + schema: + type: int + default: 0 + - variable: 'amd.com/gpu' + label: Add AMD GPUs + schema: + type: int + default: 0 + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: ingress + label: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: integrations + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: traefik + label: Traefik + description: Connect ingress with Traefik + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: true + - variable: allowCors + label: 'Allow Cross Origin Requests (advanced)' + schema: + type: boolean + default: false + show_if: [["enabled", "=", true]] + - variable: entrypoints + label: Entrypoints + schema: + type: list + default: ["websecure"] + show_if: [["enabled", "=", true]] + items: + - variable: entrypoint + label: Entrypoint + schema: + type: string + - variable: middlewares + label: Middlewares + schema: + type: list + default: [] + show_if: [["enabled", "=", true]] + items: + - variable: middleware + label: Middleware + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: name + schema: + type: string + default: "" + required: true + - variable: namespace + label: 'namespace (optional)' + schema: + type: string + default: "" + - variable: certManager + label: certManager + description: Connect ingress with certManager + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: certificateIssuer + label: certificateIssuer + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + + - variable: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - variable: openvpn + label: OpenVPN Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: string + show_if: [["type", "!=", "disabled"]] + default: "" + + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + max_length: 10240 + + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true + diff --git a/stable/slink/1.0.0/templates/NOTES.txt b/stable/slink/1.0.0/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/slink/1.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/slink/1.0.0/templates/common.yaml b/stable/slink/1.0.0/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/slink/1.0.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/slink/1.0.0/values.yaml b/stable/slink/1.0.0/values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/stable/slink/item.yaml b/stable/slink/item.yaml new file mode 100644 index 00000000000..632dec470c3 --- /dev/null +++ b/stable/slink/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/slink.png +categories: + - media +screenshots: []