From 872f3c98a3835bf2c32279ac9fd43b2f70b2d25a Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Wed, 8 Nov 2023 15:42:53 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- stable/booksonic-air/10.0.17/CHANGELOG.md | 99 + stable/booksonic-air/10.0.17/Chart.yaml | 25 + stable/booksonic-air/10.0.17/README.md | 27 + stable/booksonic-air/10.0.17/app-changelog.md | 9 + stable/booksonic-air/10.0.17/app-readme.md | 8 + .../10.0.17/charts/common-14.2.3.tgz | Bin 0 -> 72396 bytes stable/booksonic-air/10.0.17/ix_values.yaml | 45 + stable/booksonic-air/10.0.17/questions.yaml | 2029 +++++++++++++++++ .../booksonic-air/10.0.17/templates/NOTES.txt | 1 + .../10.0.17/templates/common.yaml | 1 + stable/booksonic-air/10.0.17/values.yaml | 0 11 files changed, 2244 insertions(+) create mode 100644 stable/booksonic-air/10.0.17/CHANGELOG.md create mode 100644 stable/booksonic-air/10.0.17/Chart.yaml create mode 100644 stable/booksonic-air/10.0.17/README.md create mode 100644 stable/booksonic-air/10.0.17/app-changelog.md create mode 100644 stable/booksonic-air/10.0.17/app-readme.md create mode 100644 stable/booksonic-air/10.0.17/charts/common-14.2.3.tgz create mode 100644 stable/booksonic-air/10.0.17/ix_values.yaml create mode 100644 stable/booksonic-air/10.0.17/questions.yaml create mode 100644 stable/booksonic-air/10.0.17/templates/NOTES.txt create mode 100644 stable/booksonic-air/10.0.17/templates/common.yaml create mode 100644 stable/booksonic-air/10.0.17/values.yaml diff --git a/stable/booksonic-air/10.0.17/CHANGELOG.md b/stable/booksonic-air/10.0.17/CHANGELOG.md new file mode 100644 index 00000000000..b0e2e9e37de --- /dev/null +++ b/stable/booksonic-air/10.0.17/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [booksonic-air-10.0.17](https://github.com/truecharts/charts/compare/booksonic-air-10.0.16...booksonic-air-10.0.17) (2023-11-08) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#14451](https://github.com/truecharts/charts/issues/14451)) + + + + +## [booksonic-air-10.0.16](https://github.com/truecharts/charts/compare/booksonic-air-10.0.15...booksonic-air-10.0.16) (2023-11-05) + +### Chore + +- update helm general non-major ([#14365](https://github.com/truecharts/charts/issues/14365)) + + + + +## [booksonic-air-10.0.15](https://github.com/truecharts/charts/compare/booksonic-air-10.0.14...booksonic-air-10.0.15) (2023-11-03) + +### Chore + +- update helm general non-major ([#14287](https://github.com/truecharts/charts/issues/14287)) + + + + +## [booksonic-air-10.0.14](https://github.com/truecharts/charts/compare/booksonic-air-10.0.13...booksonic-air-10.0.14) (2023-11-01) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#14216](https://github.com/truecharts/charts/issues/14216)) + + + + +## [booksonic-air-10.0.13](https://github.com/truecharts/charts/compare/booksonic-air-10.0.12...booksonic-air-10.0.13) (2023-10-29) + +### Chore + +- Fix typo in categories and make them singular ([#13693](https://github.com/truecharts/charts/issues/13693)) + - update helm general non-major ([#14094](https://github.com/truecharts/charts/issues/14094)) + + + + +## [booksonic-air-10.0.12](https://github.com/truecharts/charts/compare/booksonic-air-10.0.11...booksonic-air-10.0.12) (2023-10-25) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#13957](https://github.com/truecharts/charts/issues/13957)) + + + + +## [booksonic-air-10.0.11](https://github.com/truecharts/charts/compare/booksonic-air-10.0.10...booksonic-air-10.0.11) (2023-10-18) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#13745](https://github.com/truecharts/charts/issues/13745)) + + + + +## [booksonic-air-10.0.10](https://github.com/truecharts/charts/compare/booksonic-air-10.0.9...booksonic-air-10.0.10) (2023-10-11) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#13511](https://github.com/truecharts/charts/issues/13511)) + + + + +## [booksonic-air-10.0.9](https://github.com/truecharts/charts/compare/booksonic-air-10.0.8...booksonic-air-10.0.9) (2023-10-07) + +### Chore + +- update helm general non-major ([#13386](https://github.com/truecharts/charts/issues/13386)) + + + + +## [booksonic-air-10.0.8](https://github.com/truecharts/charts/compare/booksonic-air-10.0.7...booksonic-air-10.0.8) (2023-10-04) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#13243](https://github.com/truecharts/charts/issues/13243)) + + + + +## [booksonic-air-10.0.7](https://github.com/truecharts/charts/compare/booksonic-air-10.0.6...booksonic-air-10.0.7) (2023-09-27) + diff --git a/stable/booksonic-air/10.0.17/Chart.yaml b/stable/booksonic-air/10.0.17/Chart.yaml new file mode 100644 index 00000000000..1573b13e733 --- /dev/null +++ b/stable/booksonic-air/10.0.17/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: "2201.1.0" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 14.2.3 +description: Booksonic is a platform for accessing the audibooks you own wherever you are +home: https://truecharts.org/charts/stable/booksonic-air +icon: https://truecharts.org/img/hotlink-ok/chart-icons/booksonic-air.png +keywords: + - booksonic + - audiobook +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: booksonic-air +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/booksonic-air + - https://github.com/popeen/Booksonic-Air +version: 10.0.17 +annotations: + truecharts.org/category: media + truecharts.org/SCALE-support: "true" diff --git a/stable/booksonic-air/10.0.17/README.md b/stable/booksonic-air/10.0.17/README.md new file mode 100644 index 00000000000..e0a9b8fa8d7 --- /dev/null +++ b/stable/booksonic-air/10.0.17/README.md @@ -0,0 +1,27 @@ +# 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/) + +**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/booksonic-air/10.0.17/app-changelog.md b/stable/booksonic-air/10.0.17/app-changelog.md new file mode 100644 index 00000000000..09530640e7f --- /dev/null +++ b/stable/booksonic-air/10.0.17/app-changelog.md @@ -0,0 +1,9 @@ + + +## [booksonic-air-10.0.17](https://github.com/truecharts/charts/compare/booksonic-air-10.0.16...booksonic-air-10.0.17) (2023-11-08) + +### Chore + +- update container image tccr.io/truecharts/booksonic-air to v2201.1.0 ([#14451](https://github.com/truecharts/charts/issues/14451)) + + \ No newline at end of file diff --git a/stable/booksonic-air/10.0.17/app-readme.md b/stable/booksonic-air/10.0.17/app-readme.md new file mode 100644 index 00000000000..88ff19e3ce3 --- /dev/null +++ b/stable/booksonic-air/10.0.17/app-readme.md @@ -0,0 +1,8 @@ +Booksonic is a platform for accessing the audibooks you own wherever you are + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/booksonic-air](https://truecharts.org/charts/stable/booksonic-air) + +--- + +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/booksonic-air/10.0.17/charts/common-14.2.3.tgz b/stable/booksonic-air/10.0.17/charts/common-14.2.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..03b3f5a1a3cc6385d534aa15217d5bf54ab1b271 GIT binary patch literal 72396 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

Iv+~XZ-pzlL9l#?KO5FjPRi?wt>(jsI1o7ee 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 literal 0 HcmV?d00001 diff --git a/stable/booksonic-air/10.0.17/ix_values.yaml b/stable/booksonic-air/10.0.17/ix_values.yaml new file mode 100644 index 00000000000..b81b391c587 --- /dev/null +++ b/stable/booksonic-air/10.0.17/ix_values.yaml @@ -0,0 +1,45 @@ +image: + repository: tccr.io/truecharts/booksonic-air + pullPolicy: IfNotPresent + tag: v2201.1.0@sha256:95bb34a81ee196b949ed4329eb7b61d4674f8089b1b1ae024f532c9441b3cd25 + +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 10048 + protocol: http + targetPort: 4040 + +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + type: http + path: / + readiness: + type: http + path: / + startup: + type: http + path: / + env: {} + +persistence: + config: + enabled: true + mountPath: /config + +portal: + open: + enabled: true diff --git a/stable/booksonic-air/10.0.17/questions.yaml b/stable/booksonic-air/10.0.17/questions.yaml new file mode 100644 index 00000000000..cac84228efa --- /dev/null +++ b/stable/booksonic-air/10.0.17/questions.yaml @@ -0,0 +1,2029 @@ +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: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - 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: 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: 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: 10048 + 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: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + 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: 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: 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: 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: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + 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: 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: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: certificateIssuer + label: certificateIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - 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: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - 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: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: 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: 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: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - 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: 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/booksonic-air/10.0.17/templates/NOTES.txt b/stable/booksonic-air/10.0.17/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/stable/booksonic-air/10.0.17/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/booksonic-air/10.0.17/templates/common.yaml b/stable/booksonic-air/10.0.17/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/stable/booksonic-air/10.0.17/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/booksonic-air/10.0.17/values.yaml b/stable/booksonic-air/10.0.17/values.yaml new file mode 100644 index 00000000000..e69de29bb2d