diff --git a/incubator/etesync/4.0.9/CHANGELOG.md b/incubator/etesync/4.0.9/CHANGELOG.md deleted file mode 100644 index faaa5ea8bdb..00000000000 --- a/incubator/etesync/4.0.9/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat diff --git a/incubator/etesync/4.0.9/Chart.yaml b/incubator/etesync/4.0.9/Chart.yaml deleted file mode 100644 index 16ce81f8ee9..00000000000 --- a/incubator/etesync/4.0.9/Chart.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: v2 -appVersion: "0.11.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.2 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.58 -deprecated: false -description: Secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars, tasks and notes. -home: https://truecharts.org/charts/incubator/etesync -icon: https://truecharts.org/img/hotlink-ok/chart-icons/etesync.png -keywords: - - etesync - - sync - - contacts - - calendars - - tasks - - notes -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: etesync -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/etesync - - https://www.etesync.com/ - - https://github.com/etesync - - https://github.com/victor-rds/docker-etebase -type: application -version: 4.0.9 -annotations: - truecharts.org/catagories: | - - productivity - - sync - - contacts - - calendars - - tasks - - notes - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/incubator/etesync/4.0.9/README.md b/incubator/etesync/4.0.9/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/etesync/4.0.9/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/etesync/4.0.9/app-changelog.md b/incubator/etesync/4.0.9/app-changelog.md deleted file mode 100644 index 26528d4a328..00000000000 --- a/incubator/etesync/4.0.9/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15) - -### Feat - -- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611)) - - \ No newline at end of file diff --git a/incubator/etesync/4.0.9/app-readme.md b/incubator/etesync/4.0.9/app-readme.md deleted file mode 100644 index 4ca605e280b..00000000000 --- a/incubator/etesync/4.0.9/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars, tasks and notes. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/etesync](https://truecharts.org/charts/incubator/etesync) - ---- - -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/incubator/etesync/4.0.9/charts/common-12.14.2.tgz b/incubator/etesync/4.0.9/charts/common-12.14.2.tgz deleted file mode 100644 index e3a92f097b6..00000000000 Binary files a/incubator/etesync/4.0.9/charts/common-12.14.2.tgz and /dev/null differ diff --git a/incubator/etesync/4.0.9/charts/redis-6.0.58.tgz b/incubator/etesync/4.0.9/charts/redis-6.0.58.tgz deleted file mode 100644 index 80330703992..00000000000 Binary files a/incubator/etesync/4.0.9/charts/redis-6.0.58.tgz and /dev/null differ diff --git a/incubator/etesync/4.0.9/ix_values.yaml b/incubator/etesync/4.0.9/ix_values.yaml deleted file mode 100644 index 06c1b11a163..00000000000 --- a/incubator/etesync/4.0.9/ix_values.yaml +++ /dev/null @@ -1,100 +0,0 @@ -image: - repository: tccr.io/truecharts/etesync - pullPolicy: IfNotPresent - tag: 0.11.0@sha256:47478da0d1b3ab18d5bfbcd4537fa80305ace94746b01c32e609c7e9e663d860 - -securityContext: - container: - runAsUser: 373 - runAsGroup: 373 - readOnlyRootFilesystem: false - pod: - fsGroup: 373 - -# Docker image configuration docs: -# https://github.com/victor-rds/docker-etebase#settings-and-customization - -# EteSync configuration docs: -# https://github.com/etesync/server#configuration - -workload: - main: - podSpec: - containers: - main: - probes: - liveness: - type: tcp - readiness: - type: tcp - startup: - type: tcp - env: - PORT: "{{ .Values.service.main.ports.main.port }}" - # App - SERVER: http - AUTO_UPDATE: true - ALLOWED_HOSTS: "localhost" - AUTO_SIGNUP: false - LANGUAGE_CODE: "en-us" - TIME_ZONE: "{{ .Values.TZ }}" - - # Debugging - DEBUG: false - SHELL_DEBUG: false - DEBUG_DJANGO: false - - # Postgres - DB_ENGINE: postgres - DATABASE_NAME: "{{ .Values.cnpg.main.database }}" - DATABASE_USER: "{{ .Values.cnpg.main.user }}" - DATABASE_PASSWORD: - secretKeyRef: - name: cnpg-main-user - key: password - DATABASE_HOST: - secretKeyRef: - name: cnpg-main-urls - key: host - DATABASE_PORT: 5432 - REDIS_URI: - secretKeyRef: - expandObjectName: false - name: '{{ printf "%s-%s" .Release.Name "rediscreds" }}' - key: url - # Superuser - SUPER_USER: "admin" - SUPER_PASS: "" - SUPER_EMAIL: "" -service: - main: - ports: - main: - protocol: http - port: 10254 - -persistence: - app: - enabled: true - mountPath: "/data" - secret: - enabled: true - type: secret - readOnly: true - mountPath: "/data/secret.txt" - subPath: "secret.txt" - objectName: "etesync-secret" - -# Enabled postgres -cnpg: - main: - enabled: true - user: etesync - database: etesync - -redis: - enabled: true - -portal: - open: - enabled: true diff --git a/incubator/etesync/4.0.9/questions.yaml b/incubator/etesync/4.0.9/questions.yaml deleted file mode 100644 index 4b8777336ed..00000000000 --- a/incubator/etesync/4.0.9/questions.yaml +++ /dev/null @@ -1,2014 +0,0 @@ -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" - path: "/" - admin: - protocols: - - "$kubernetes-resource_configmap_tcportal-open_protocol" - host: - - "$kubernetes-resource_configmap_tcportal-open_host" - ports: - - "$kubernetes-resource_configmap_tcportal-open_port" - path: "/admin/" -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: env - group: "App Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: ALLOWED_HOSTS - label: "ALLOWED_HOSTS" - description: "Must be a valid domain or * (* is not recommended for production)" - schema: - type: string - default: "localhost" - required: true - - variable: AUTO_SIGNUP - label: "AUTO_SIGNUP" - description: "Enable automatic signup" - schema: - type: boolean - default: false - - variable: LANGUAGE_CODE - label: "LANGUAGE_CODE" - description: "Django language code" - schema: - type: string - default: "en-us" - required: true - - variable: DEBUG - label: "DEBUG" - description: "Output additional messages from `/entrypoint.sh`. It doesn't change the output of the Etebase server." - schema: - type: boolean - default: false - - variable: SHELL_DEBUG - label: "SHELL_DEBUG" - description: "Run `/entrypoint.sh` with `set -x`" - schema: - type: boolean - default: false - - variable: DEBUG_DJANGO - label: "DEBUG_DJANGO" - description: "Enable Django debug mode (not recommended for production)" - schema: - type: boolean - default: false - - variable: SUPER_USER - label: "SUPER_USER" - description: "Username of the Django superuser (First Install Only)" - schema: - type: string - default: "admin" - required: true - - variable: SUPER_PASS - label: "SUPER_PASS" - description: "Password of the Django superuser (First Install Only). Will be generated if left unset." - schema: - type: string - default: "" - private: true - - variable: SUPER_EMAIL - label: "SUPER_EMAIL" - description: "Email of the Django superuser (First Install Only)" - schema: - type: string - default: "" - - 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: 10254 - 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: app - label: "App Storage" - description: "This is the volume where all user data and server configuration is located." - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 373 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 373 - # 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: 373 - - - 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/incubator/etesync/4.0.9/templates/_secret.tpl b/incubator/etesync/4.0.9/templates/_secret.tpl deleted file mode 100644 index 12e7abec390..00000000000 --- a/incubator/etesync/4.0.9/templates/_secret.tpl +++ /dev/null @@ -1,10 +0,0 @@ -{{/* EteSync superuser credentials and Django SECRET_KEY */}} -{{- define "etesync.secret" -}} -enabled: true -data: - {{- with (lookup "v1" "Secret" .Release.Namespace "etesync-secret") }} - secret.txt: {{ index .data "secret.txt" | b64dec }} - {{- else }} - secret.txt: {{ randAlphaNum 32 }} - {{- end }} -{{- end -}} diff --git a/incubator/etesync/4.0.9/templates/common.yaml b/incubator/etesync/4.0.9/templates/common.yaml deleted file mode 100644 index e8858854201..00000000000 --- a/incubator/etesync/4.0.9/templates/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . }} - -{{/* Render secrets for etesync */}} -{{- $secret := include "etesync.secret" . | fromYaml -}} -{{- if $secret -}} - {{- $_ := set .Values.secret "etesync-secret" $secret -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/etesync/4.0.9/values.yaml b/incubator/etesync/4.0.9/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/etesync/item.yaml b/incubator/etesync/item.yaml deleted file mode 100644 index 9bec9dcc953..00000000000 --- a/incubator/etesync/item.yaml +++ /dev/null @@ -1,10 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/etesync.png -categories: -- productivity -- sync -- contacts -- calendars -- tasks -- notes - -screenshots: [] diff --git a/incubator/frigate/8.0.4/CHANGELOG.md b/incubator/frigate/8.0.4/CHANGELOG.md deleted file mode 100644 index 413154166b9..00000000000 --- a/incubator/frigate/8.0.4/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07) - -### Chore - -- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457)) - - - - -## [frigate-8.0.3](https://github.com/truecharts/charts/compare/frigate-8.0.2...frigate-8.0.3) (2023-06-07) - -### Chore - -- update helm general non-major ([#9423](https://github.com/truecharts/charts/issues/9423)) - - - - -## [frigate-8.0.2](https://github.com/truecharts/charts/compare/frigate-8.0.1...frigate-8.0.2) (2023-06-06) - -### Fix - -- Fix questions default value ([#9414](https://github.com/truecharts/charts/issues/9414)) - - - - -## [frigate-8.0.1](https://github.com/truecharts/charts/compare/frigate-8.0.0...frigate-8.0.1) (2023-06-04) - - - - -## [frigate-8.0.0](https://github.com/truecharts/charts/compare/frigate-7.0.1...frigate-8.0.0) (2023-06-04) - - - - -## [frigate-7.0.1](https://github.com/truecharts/charts/compare/frigate-7.0.0...frigate-7.0.1) (2023-06-04) - -### Chore - -- update helm general non-major ([#9393](https://github.com/truecharts/charts/issues/9393)) - - - - -## [frigate-7.0.0](https://github.com/truecharts/charts/compare/frigate-6.0.2...frigate-7.0.0) (2023-06-01) - -### Feat - -- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203)) - - port to new common ([#9141](https://github.com/truecharts/charts/issues/9141)) - - ### Fix - -- fix mistakes on questions.yaml - - - - -## [frigate-6.0.2](https://github.com/truecharts/charts/compare/frigate-6.0.1...frigate-6.0.2) (2023-02-10) - -### Fix - -- ensure new helm deps repo is used in latest releases as well. - - - - -## [frigate-6.0.1](https://github.com/truecharts/charts/compare/frigate-6.0.0...frigate-6.0.1) (2023-02-02) - -### Fix - -- remove non-link sources ([#6826](https://github.com/truecharts/charts/issues/6826)) - - - - -## [frigate-6.0.0](https://github.com/truecharts/charts/compare/frigate-5.0.14...frigate-6.0.0) (2023-01-21) - - - - -## [frigate-5.0.14](https://github.com/truecharts/charts/compare/frigate-5.0.13...frigate-5.0.14) (2022-12-27) - -### Chore - -- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856)) - - - - -## [frigate-5.0.13](https://github.com/truecharts/charts/compare/frigate-5.0.12...frigate-5.0.13) (2022-12-26) diff --git a/incubator/frigate/8.0.4/Chart.yaml b/incubator/frigate/8.0.4/Chart.yaml deleted file mode 100644 index 1023d2f353e..00000000000 --- a/incubator/frigate/8.0.4/Chart.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: v2 -appVersion: "0.12.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.13.0 -deprecated: false -description: NVR With Realtime Object Detection for IP Cameras -home: https://truecharts.org/charts/incubator/frigate -icon: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png -keywords: - - encode - - nvr - - media - - frigate -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: frigate -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/frigate - - https://github.com/blakeblackshear/frigate -type: application -version: 8.0.4 -annotations: - truecharts.org/catagories: | - - nvr - truecharts.org/SCALE-support: "true" diff --git a/incubator/frigate/8.0.4/README.md b/incubator/frigate/8.0.4/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/frigate/8.0.4/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/frigate/8.0.4/app-changelog.md b/incubator/frigate/8.0.4/app-changelog.md deleted file mode 100644 index cba46650727..00000000000 --- a/incubator/frigate/8.0.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07) - -### Chore - -- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457)) - - \ No newline at end of file diff --git a/incubator/frigate/8.0.4/app-readme.md b/incubator/frigate/8.0.4/app-readme.md deleted file mode 100644 index 8726f049d47..00000000000 --- a/incubator/frigate/8.0.4/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -NVR With Realtime Object Detection for IP Cameras - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/frigate](https://truecharts.org/charts/incubator/frigate) - ---- - -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/incubator/frigate/8.0.4/charts/common-12.13.0.tgz b/incubator/frigate/8.0.4/charts/common-12.13.0.tgz deleted file mode 100644 index 3ba24f80abf..00000000000 Binary files a/incubator/frigate/8.0.4/charts/common-12.13.0.tgz and /dev/null differ diff --git a/incubator/frigate/8.0.4/ix_values.yaml b/incubator/frigate/8.0.4/ix_values.yaml deleted file mode 100644 index 34f2a107db2..00000000000 --- a/incubator/frigate/8.0.4/ix_values.yaml +++ /dev/null @@ -1,471 +0,0 @@ -image: - repository: tccr.io/truecharts/frigate - pullPolicy: IfNotPresent - tag: v0.12.0@sha256:6fac983662fc6095ffdc8dd494f0c918192ddab80602f01d50a3569dab868148 - -securityContext: - container: - readOnlyRootFilesystem: false - runAsNonRoot: false - runAsUser: 0 - runAsGroup: 0 -# -- The "render_config" key is only used internally to "render" or not the configuration -# - Some parts of the config bellow are slightly modified so they can be added on SCALE UI. Mainly lists. -# - Do not blindly copy paste configuration from upstream. As this won't work on all cases -# - Where you see "null" set as default is ignored by the configmap. (Not all keys are supported). -# - Those "nulls" should be replaced with integers (if you want to set a value) -frigate: - mqtt: - # -- Enable it to add the configuration in the config file - render_config: true - # -- Enables MQTT - enabled: false - host: mqtt.server.com - port: 1883 - # -- NOTE: Must be unique if you are running multiple instances - topic_prefix: "" - # -- NOTE: Must be unique if you are running multiple instances - client_id: "" - user: "" - password: "" - stats_interval: 60 - - detectors: - # -- Enable it to add the configuration in the config file - render_config: false - config: [] - # -- Required: Name of the detector - # - name: coral - # # -- Valid values are 'edgetpu' (requires device property below) and 'cpu'. - # type: edgetpu - # # -- Device name as defined here: https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api - # device: usb - # # -- This value is only used for CPU types - # num_threads: 3 - - model: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Required: Object detection model input width - width: 320 - # -- Required: Object detection model input height - height: 320 - # -- Optional: Path to the model - path: "" - # -- Optional: Path to the labelmap - labelmap_path: "" - # -- Optional: Label name modifications. - labelmap: [] - # - model: "2" - # name: vehicle - # - model: 3 - # name: vehicle - - logger: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Default log verbosity (default: shown below) - default: info - # -- Optional: Component specific logger overrides - logs: [] - # - component: frigate.event - # verbosity: debug - - birdseye: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Enables birdseye - enabled: true - # -- Optional: Width of the output resolution - width: null - # -- Optional: Height of the output resolution - height: null - # -- Optional: Encoding quality of the mpeg1 feed - # - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. - quality: null - # -- Optional: Mode of the view. Available options are: objects, motion, and continuous - # - objects - cameras are included if they have had a tracked object within the last 30 seconds - # - motion - cameras are included if motion was detected in the last 30 seconds - # - continuous - all cameras are included always - mode: "" - - ffmpeg: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: global ffmpeg args - global_args: "" - # -- Optional: global input args - input_args: "" - # -- Optional: global hwaccel args - # - NOTE: See hardware acceleration docs for your specific device - hwaccel_args: "" - # -- Optional: global output args - output_args: - # -- Optional: output args for detect streams - detect: "" - # -- Optional: output args for record streams - record: "" - # -- Optional: output args for rtmp streams - rtmp: "" - - detect: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Enables detection for the camera. - # - This value can be set via MQTT and will be updated in startup based on retained value - enabled: true - # -- Optional: width of the frame for the input with the detect role - width: null - # -- Optional: height of the frame for the input with the detect role - height: null - # -- Optional: desired fps for your camera for the input with the detect role - # - NOTE: Recommended value of 5. Ideally, try and reduce your FPS on the camera. - fps: null - # -- Optional: Number of frames without a detection before frigate considers an object to be gone. (default: 5x the frame rate) - max_disappeared: null - # -- Optional: Configuration for stationary object tracking - stationary: - # -- Optional: Frequency for confirming stationary objects - # - When set to 0, object detection will not confirm stationary objects until movement is detected. - # - If set to 10, object detection will run to confirm the object still exists on every 10th frame. - interval: null - # -- Optional: Number of frames without a position change for an object to be considered stationary (default: 10x the frame rate or 10s) - threshold: null - # -- Optional: Define a maximum number of frames for tracking a stationary object (default: not set, track forever) - # - This can help with false positives for objects that should only be stationary for a limited amount of time. - # - It can also be used to disable stationary object tracking. For example, you may want to set a value for person, but leave - # - car at the default. - # - WARNING: Setting these values overrides default behavior and disables stationary object tracking. - # - There are very few situations where you would want it disabled. It is NOT recommended to - # - copy these values from the example config into your config unless you know they are needed. - # max_frames: - # # -- Optional: Default for all object types (default: not set, track forever) - # default: - # # -- Optional: Object specific values - # objects: - # - object: person - # frames: 1000 - - objects: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: list of objects to track from labelmap.txt - track: [] - # - person - # - car - # -- Optional: mask to prevent all object types from being detected in certain areas (default: no mask) - # - Checks based on the bottom center of the bounding box of the object. - # - NOTE: This mask is COMBINED with the object type specific mask below - mask: "" - # - Optional: filters to reduce false positives for specific object types - filters: [] - # - object: person - # # -- Optional: Minimum width*height of the bounding box for the detected object - # min_area: 5000 - # # -- Optional: Maximum width*height of the bounding box for the detected object - # max_area: 100000 - # # -- Optional: Minimum width/height of the bounding box for the detected object - # min_ratio: "0.5" - # # -- Optional: Maximum width/height of the bounding box for the detected object - # max_ratio: "2.0" - # # -- Optional: Minimum score for the object to initiate tracking - # min_score: "0.5" - # # -- Optional: Minimum decimal percentage for tracked object's computed score to be considered a true positive - # threshold: "0.7" - # # -- Optional: Mask to prevent this object type from being detected in certain areas - # # - Checks based on the bottom center of the bounding box of the object - # mask: 0,0,1000,0,1000,200,0,200 - - motion: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. - # - Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive. - # - The value should be between 1 and 255. - threshold: null - # -- Optional: Minimum size in pixels in the resized motion image that counts as motion - # - Increasing this value will prevent smaller areas of motion from being detected. Decreasing will - # - make motion detection more sensitive to smaller moving objects. - # - As a rule of thumb: - # - 15 - high sensitivity - # - 30 - medium sensitivity - # - 50 - low sensitivity - contour_area: null - # -- Optional: Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames - # - Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion. - # - Too low and a fast moving person wont be detected as motion. - delta_alpha: "" - # -- Optional: Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background - # - Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster. - # - Low values will cause things like moving shadows to be detected as motion for longer. - # - https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average/ - frame_alpha: "" - # -- Optional: Height of the resized motion frame (default: 50) - # - This operates as an efficient blur alternative. Higher values will result in more granular motion detection at the expense - # - of higher CPU usage. Lower values result in less CPU, but small changes may not register as motion. - frame_height: null - # -- Optional: motion mask - # - NOTE: see docs for more detailed info on creating masks - mask: "" - # -- Optional: improve contrast - # - Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive - # - for daytime. - improve_contrast: false - # -- Optional: Delay when updating camera motion through MQTT from ON -> OFF - mqtt_off_delay: null - - record: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Enable recording - # - WARNING: If recording is disabled in the config, turning it on via - # - the UI or MQTT later will have no effect. - # - WARNING: Frigate does not currently support limiting recordings based - # - on available disk space automatically. If using recordings, - # - you must specify retention settings for a number of days that - # - will fit within the available disk space of your drive or Frigate will crash. - enabled: false - # -- Optional: Number of minutes to wait between cleanup runs - # - This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o - expire_interval: - # -- Optional: Retention settings for recording - retain: - # -- Render retain config - render_config: false - # -- Optional: Number of days to retain recordings regardless of events - # - NOTE: This should be set to 0 and retention should be defined in events section below - # - if you only want to retain recordings of events. - days: - # -- Optional: Mode for retention. Available options are: all, motion, and active_objects - # - all - save all recording segments regardless of activity - # - motion - save all recordings segments with any detected motion - # - active_objects - save all recording segments with active/moving objects - # - NOTE: this mode only applies when the days setting above is greater than 0 - mode: "" - # -- Optional: Event recording settings - events: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Number of seconds before the event to include - pre_capture: null - # -- Optional: Number of seconds after the event to include - post_capture: null - # -- Optional: Objects to save recordings for. Defaults to all - objects: [] - # - person - # -- Optional: Restrict recordings to objects that entered any of the listed zones - required_zones: [] - # -- Optional: Retention settings for recordings of events - retain: - # -- Render retain config - render_config: false - # -- Required: Default retention days - default: 10 - # -- Optional: Mode for retention. - # - all - save all recording segments for events regardless of activity - # - motion - save all recordings segments for events with any detected motion - # - active_objects - save all recording segments for event with active/moving objects - mode: "" - # -- Optional: Per object retention days - objects: [] - # - object: person - # days: 15 - - snapshots: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Enable writing jpg snapshot to /media/frigate/clips - # - This value can be set via MQTT and will be updated in startup based on retained value - enabled: false - # -- Optional: Save a clean PNG copy of the snapshot image - clean_copy: true - # -- Optional: print a timestamp on the snapshots - timestamp: false - # -- Optional: draw bounding box on the snapshots - bounding_box: false - # -- Optional: crop the snapshot - crop: false - # -- Optional: height to resize the snapshot to (default: original size) - height: - # -- Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones) - required_zones: [] - # -- Optional: Camera override for retention settings (default: global values) - retain: - # -- Render retain config - render_config: false - # -- Required: Default retention days (default: shown below) - default: 10 - # -- Optional: Per object retention days - objects: [] - # - object: person - # days: 15 - - rtmp: - # -- Enable it to add the configuration in the config file - render_config: false - # - Optional: Enable the RTMP stream - enabled: true - - live: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Set the height of the live stream. (default: 720) - # - This must be less than or equal to the height of the detect stream. Lower resolutions - # - reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio. - height: null - # -- Optional: Set the encode quality of the live stream (default: shown below) - # - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. - quality: null - - timestamp_style: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Position of the timestamp - # - "tl" (top left), "tr" (top right), "bl" (bottom left), "br" (bottom right) - position: "" - # -- Optional: Format specifier conform to the Python package "datetime" - # - Additional Examples: - # - german: "%d.%m.%Y %H:%M:%S" - format: "" - # -- Optional: Color of font - color: - # -- Enable it to add the configuration in the config file - render_config: false - # -- All Required when color is specified (default: shown below) - red: 255 - green: 255 - blue: 255 - # -- Optional: Line thickness of font (default: shown below) - thickness: null - # -- Optional: Effect of lettering (default: shown below) - # - None (No effect), - # - "solid" (solid background in inverse color of font) - # - "shadow" (shadow for font) - effect: "" - - cameras: - # -- Required: name of the camera - - camera_name: back - # -- Required: ffmpeg settings for the camera - ffmpeg: - # -- Required: A list of input streams for the camera. See documentation for more information. - inputs: - # -- Required: the path to the stream - - path: rtsp://viewer:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2 - # -- Required: list of roles for this stream. valid values are: detect,record,rtmp - # - NOTICE: In addition to assigning the record, and rtmp roles, - # - they must also be enabled in the camera config. - roles: - - detect - - rtmp - # -- Optional: stream specific global args - global_args: "" - # - Optional: stream specific hwaccel args - hwaccel_args: "" - # - Optional: stream specific input args - input_args: "" - # - Optional: stream specific output args - output_args: - detect: "" - record: "" - rtmp: "" - # -- Optional: camera specific global args - global_args: "" - # -- Optional: camera specific hwaccel args - hwaccel_args: "" - # -- Optional: camera specific input args - input_args: "" - # -- Optional: camera specific output args - output_args: - detect: "" - record: "" - rtmp: "" - # -- Optional: timeout for highest scoring image before allowing it - # - to be replaced by a newer image. - best_image_timeout: 60 - # -- Optional: zones for this camera - zones: - # -- Required: name of the zone - # - NOTE: This must be different than any camera names, but can match with another zone on another camera - - name: front_steps - # -- Required: List of x,y coordinates to define the polygon of the zone. - # - NOTE: Presence in a zone is evaluated only based on the bottom center of the objects bounding box. - coordinates: 545,1077,747,939,788,805 - # -- Optional: List of objects that can trigger this zone (default: all tracked objects) - objects: [] - # - person - # -- Optional: Zone level object filters. - # -NOTE: The global and camera filters are applied upstream. - filters: [] - # - object: person - # min_area: null - # max_area: null - # threshold: "" - # -- Optional: Configuration for the jpg snapshots published via MQTT - mqtt: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Enable publishing snapshot via mqtt for camera - # - NOTE: Only applies to publishing image data to MQTT via 'frigate///snapshot'. - # - All other messages will still be published. - enabled: true - # -- Optional: print a timestamp on the snapshots - timestamp: true - # -- Optional: draw bounding box on the snapshots - bounding_box: true - # -- Optional: crop the snapshot - crop: true - # -- Optional: height to resize the snapshot to - height: null - # -- Optional: jpeg encode quality - quality: null - # -- Optional: Restrict mqtt messages to objects that entered any of the listed zones - required_zones: [] - # -- Optional: Configuration for how camera is handled in the GUI. - ui: - # -- Enable it to add the configuration in the config file - render_config: false - # -- Optional: Adjust sort order of cameras in the UI. Larger numbers come later - # - By default the cameras are sorted alphabetically. - order: null - # -- Optional: Whether or not to show the camera in the Frigate UI - dashboard: true - -ingress: - rtmp: - autoLink: true - -service: - main: - ports: - main: - port: 10500 - protocol: http - targetPort: 5000 - rtmp: - enabled: true - ports: - rtmp: - enabled: true - port: 1935 - targetPort: 1935 - -persistence: - media: - enabled: true - mountPath: /media - db: - enabled: true - mountPath: /db - frigate-config: - enabled: true - mountPath: /config - type: configmap - objectName: frigate-config - items: - - key: config.yml - path: config.yml - -portal: - open: - enabled: true diff --git a/incubator/frigate/8.0.4/questions.yaml b/incubator/frigate/8.0.4/questions.yaml deleted file mode 100644 index 78274f61497..00000000000 --- a/incubator/frigate/8.0.4/questions.yaml +++ /dev/null @@ -1,3499 +0,0 @@ -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: frigate - group: App Configuration - label: Frigate Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: mqtt - label: MQTT - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - schema: - type: boolean - default: true - - variable: host - label: Host - schema: - type: string - show_if: [["enabled", "=", true]] - required: true - default: "" - - variable: port - label: Port - schema: - type: int - show_if: [["enabled", "=", true]] - default: 1883 - - variable: topic_prefix - label: Topic Prefix - description: Must be unique if you are running multiple instances - schema: - type: string - show_if: [["enabled", "=", true]] - default: "" - - variable: client_id - label: Client ID - description: Must be unique if you are running multiple instances - schema: - type: string - show_if: [["enabled", "=", true]] - default: "" - - variable: stats_interval - label: Stats Interval - description: Interval in seconds for publishing stats - schema: - type: int - show_if: [["enabled", "=", true]] - "null": true - default: 60 - - variable: user - label: Username - schema: - type: string - show_if: [["enabled", "=", true]] - default: "" - - variable: password - label: Password - schema: - type: string - show_if: [["enabled", "=", true]] - private: true - default: "" - - variable: detectors - label: Detectors - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: config - label: Detectors Configuration - schema: - type: list - default: [] - items: - - variable: detector_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: Name - description: Name of the detector - schema: - type: string - required: true - default: "" - - variable: type - label: Type - description: Name of the detector - schema: - type: string - required: true - default: cpu - enum: - - value: cpu - description: CPU - - value: edgetpu - description: Edge TPU - - variable: device - label: Device - description: Device name as defined here - https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api - schema: - type: string - default: "" - - variable: num_threads - label: Number of Threads - description: This value is only used for CPU types - schema: - type: int - "null": true - show_if: [["type", "=", "cpu"]] - - variable: model - label: Model - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: width - label: Width - schema: - type: int - required: true - default: 320 - - variable: height - label: Height - schema: - type: int - required: true - default: 320 - - variable: path - label: Path - schema: - type: string - default: "" - - variable: labelmap_path - label: Label Map Path - schema: - type: string - default: "" - - variable: labelmap - label: Label Map Configuration - schema: - type: list - default: [] - items: - - variable: labelmap_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: model - label: Model - schema: - type: string - required: true - default: "" - - variable: name - label: Name - schema: - type: string - required: true - default: "" - - variable: logger - label: Logger - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: default - label: Default Log Verbosity - schema: - type: string - required: true - default: info - enum: - - value: info - description: Info - - value: debug - description: Debug - - value: warning - description: Warning - - value: error - description: Error - - value: critical - description: Critical - - variable: logs - label: Component Specific Logs - schema: - type: list - default: [] - items: - - variable: component_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: component - label: Component - description: Find out the available components here https://docs.frigate.video/configuration/advanced/#logger - schema: - type: string - required: true - default: "" - - variable: verbosity - label: Default Log Verbosity - schema: - type: string - required: true - default: info - enum: - - value: info - description: Info - - value: debug - description: Debug - - value: warning - description: Warning - - value: error - description: Error - - value: critical - description: Critical - - variable: birdseye - label: Birds Eye - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: Enables the birdseye - schema: - type: boolean - default: true - - variable: width - label: Width - description: Width of the output resolution - schema: - type: int - "null": true - - variable: height - label: Height - description: Height of the output resolution - schema: - type: int - "null": true - - variable: quality - label: Quality - description: Encoding quality of the mpeg1 feed. Where 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. - schema: - type: int - min: 1 - max: 31 - "null": true - - variable: mode - label: Mode - description: | - Mode of the view. - Objects - Cameras are included if they have had a tracked object within the last 30 seconds. - Motion - Cameras are included if motion was detected in the last 30 seconds. - Continuous - All cameras are included always. - schema: - type: string - default: "" - enum: - - value: "" - description: Inherit - - value: objects - description: Objects - - value: motion - description: Motion - - value: continuous - description: Continuous - - variable: ffmpeg - label: ffmpeg - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: global_args - label: Global Args - schema: - type: string - default: "" - - variable: hwaccel_args - label: HW Acceleration Args - description: See hardware acceleration docs for your specific device - schema: - type: string - default: "" - - variable: input_args - label: Input Args - schema: - type: string - default: "" - - variable: output_args - label: Output Args - schema: - additional_attrs: true - type: dict - attrs: - - variable: detect - label: Detect - schema: - type: string - default: "" - - variable: record - label: Record - schema: - type: string - default: "" - - variable: rtmp - label: RTMP - schema: - type: string - default: "" - - variable: detect - label: Detect - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: Enables detection for the cameras - schema: - type: boolean - default: true - - variable: width - label: Width - description: Width of the frame for the input with the detect role - schema: - type: int - "null": true - - variable: height - label: Height - description: Height of the frame for the input with the detect role - schema: - type: int - "null": true - - variable: fps - label: FPS - description: Desired fps for your camera for the input with the detect role. Recommended value of 5. Ideally, try and reduce your FPS on the camera. - schema: - type: int - "null": true - - variable: max_disappeared - label: Max Disappeared - description: Number of frames without a detection before frigate considers an object to be gone. - schema: - type: int - "null": true - - variable: stationary - label: Stationary - schema: - additional_attrs: true - type: dict - attrs: - - variable: interval - label: Interval - description: | - Frequency for confirming stationary objects - When set to 0, object detection will not confirm stationary objects until movement is detected. - If set to 10, object detection will run to confirm the object still exists on every 10th frame. - schema: - type: int - "null": true - - variable: threshold - label: Threshold - description: Number of frames without a position change for an object to be considered stationary - schema: - type: int - "null": true - - variable: set_max_frames - label: Set Max Frames - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: max_frames - label: Max Frames - schema: - additional_attrs: true - type: dict - attrs: - - variable: default - label: Default - description: Default for all object types - schema: - type: int - "null": true - - variable: objects - label: Objects - schema: - type: list - default: [] - items: - - variable: object_entry - label: Object Entry - schema: - additional_attrs: true - type: dict - attrs: - - variable: object - label: Object - schema: - type: string - required: true - default: "" - - variable: frames - label: Frames - schema: - type: int - required: true - - variable: objects - label: Objects - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: track - label: Track - description: Objects to track from labelmap.txt - schema: - type: list - default: [] - items: - - variable: track_entry - label: Track Object Entry - schema: - type: string - required: true - default: "" - - variable: mask - label: Mask - description: | - Mask to prevent all object types from being detected in certain areas - Checks based on the bottom center of the bounding box of the object. - This mask is COMBINED with the object type specific mask below - schema: - type: string - default: "" - - variable: filters - label: Filters - description: Filters to reduce false positives for specific object types - schema: - type: list - default: [] - items: - - variable: filter_entry - label: Filter Entry - schema: - additional_attrs: true - type: dict - attrs: - - variable: object - label: Object - description: For example person - schema: - type: string - required: true - default: "" - - variable: min_area - label: Min Area - description: Minimum width*height of the bounding box for the detected object - schema: - type: int - "null": true - - variable: max_area - label: Max Area - description: Maximum width*height of the bounding box for the detected object - schema: - type: int - "null": true - - variable: min_ratio - label: Min Ratio - description: Minimum width/height of the bounding box for the detected object - schema: - type: string - default: "" - valid_chars: '^[0-9]+(\.[0-9]*)?$' - - variable: max_ratio - label: Max Ratio - description: Maximum width/height of the bounding box for the detected object - schema: - type: string - default: "" - valid_chars: '^[0-9]+(\.[0-9]*)?$' - - variable: min_score - label: Min Score - description: Minimum score for the object to initiate tracking - schema: - type: string - default: "" - valid_chars: '^[0-9]+(\.[0-9]*)?$' - - variable: threshold - label: Threshold - description: Minimum decimal percentage for tracked object's computed score to be considered a true positive - schema: - type: string - default: "" - valid_chars: '^[0-9]+(\.[0-9]*)?$' - - variable: mask - label: Mask - description: | - Mask to prevent this object type from being detected in certain areas - Checks based on the bottom center of the bounding box of the object - schema: - type: string - default: "" - - variable: motion - label: Motion - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: threshold - label: Threshold - description: | - The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. - Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive. - schema: - type: int - min: 1 - max: 255 - "null": true - - variable: contour_area - label: Contour Area - description: | - Minimum size in pixels in the resized motion image that counts as motion - Increasing this value will prevent smaller areas of motion from being detected. Decreasing will - make motion detection more sensitive to smaller moving objects. - As a rule of thumb: - 15 - high sensitivity - 30 - medium sensitivity - 50 - low sensitivity - schema: - type: int - "null": true - - variable: delta_alpha - label: Delta Alpha - description: | - Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames - Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion. - Too low and a fast moving person wont be detected as motion. - schema: - type: string - default: "" - valid_chars: '^$|^[0-9]+(\.[0-9]*)?$' - - variable: frame_alpha - label: Frame Alpha - description: | - Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background - Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster. - Low values will cause things like moving shadows to be detected as motion for longer. - https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average - schema: - type: string - default: "" - valid_chars: '^$|^[0-9]+(\.[0-9]*)?$' - - variable: frame_height - label: Frame Height - description: | - Height of the resized motion frame - This operates as an efficient blur alternative. Higher values will result in more granular motion detection at the expense - of higher CPU usage. Lower values result in less CPU, but small changes may not register as motion. - schema: - type: int - "null": true - - variable: mask - label: Mask - description: See docs for more detailed info on creating masks - schema: - type: string - default: "" - - variable: improve_contrast - label: Improve Contrast - description: Improve contrast. Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive for daytime. - schema: - type: boolean - default: false - - variable: mqtt_off_delay - label: MQTT Off Delay - description: Delay when updating camera motion through MQTT from ON -> OFF - schema: - type: int - "null": true - - variable: record - label: Record - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: | - Enable recording - WARNING: If recording is disabled in the config, turning it on via the UI or MQTT later will have no effect. - WARNING: Frigate does not currently support limiting recordings based on available disk space automatically. - If using recordings,you must specify retention settings for a number of days that will fit within the available disk space of your drive or Frigate will crash. - schema: - type: boolean - default: true - - variable: expire_interval - label: Expire Interval - description: Number of minutes to wait between cleanup runs - schema: - type: int - "null": true - - variable: retain - label: Record > Retain - description: Retention settings for recording - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Retain Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: days - label: Days - description: | - Number of days to retain recordings regardless of events - NOTE: This should be set to 0 and retention should be defined in events section below if you only want to retain recordings of events. - schema: - type: int - "null": true - - variable: mode - label: Mode - description: | - Mode for retention. - All - save all recording segments regardless of activity - Motion - save all recordings segments with any detected motion - Active Objects - save all recording segments with active/moving objects - NOTE: This mode only applies when the days setting above is greater than 0 - schema: - type: string - show_if: [["days", "!=", 0]] - default: "" - enum: - - value: "" - description: Inherit - - value: all - description: All - - value: motion - description: Motion - - value: active_objects - description: Active Objects - - variable: events - label: Record > Events - description: Event recording settings - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: pre_capture - label: Pre Capture - description: Number of seconds before the event to include - schema: - type: int - "null": true - - variable: post_capture - label: Post Capture - description: Number of seconds after the event to include - schema: - type: int - "null": true - - variable: objects - label: Objects - description: Objects to save recordings for. Defaults to all objects. - schema: - type: list - default: [] - items: - - variable: object_entry - label: "" - schema: - type: string - required: true - default: "" - - variable: required_zones - label: Required Zones - description: Restrict recordings to objects that entered any of the listed zones - schema: - type: list - default: [] - items: - - variable: zone_entry - label: "" - schema: - type: string - required: true - default: "" - - variable: retain - label: Record > Events > Retain - description: Retention settings for recordings of events - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Retain Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: default - label: Default - description: Default retention days - schema: - type: int - required: true - default: 10 - - variable: mode - label: Mode - description: | - Mode for retention. - All - save all recording segments for events regardless of activity - Motion - save all recordings segments for events with any detected motion - Active Objects - save all recording segments for event with active/moving objects - schema: - type: string - default: "" - enum: - - value: "" - description: Inherit - - value: all - description: All - - value: motion - description: Motion - - value: active_objects - description: Active Objects - - variable: objects - label: Objects - description: Per object retention days - schema: - type: list - default: [] - items: - - variable: objects_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: object - label: Object - description: For example Person - schema: - type: string - required: true - default: "" - - variable: days - label: Retention Days - description: Retention days for the object - schema: - type: int - required: true - default: 15 - - variable: snapshots - label: Snapshots - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: | - Optional: Enable writing jpg snapshot to /media/frigate/clips - This value can be set via MQTT and will be updated in startup based on retained value - schema: - type: boolean - default: true - - variable: clean_copy - label: Clean Copy - description: Save a clean PNG copy of the snapshot image - schema: - type: boolean - default: true - - variable: timestamp - label: Timestamp - description: Print a timestamp on the snapshots - schema: - type: boolean - default: false - - variable: bounding_box - label: Bounding Box - description: Draw bounding box on the snapshots - schema: - type: boolean - default: false - - variable: crop - label: Crop - description: Crop the snapshot - schema: - type: boolean - default: false - - variable: height - label: Height - description: Height to resize the snapshot to - schema: - type: int - "null": true - - variable: required_zones - label: Required Zones - description: Restrict recordings to objects that entered any of the listed zones - schema: - type: list - default: [] - items: - - variable: zone_entry - label: Zone Entry - schema: - type: string - required: true - default: "" - - variable: retain - label: Snapshots > Retain - description: Retention settings for snapshots of events - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Retain Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: default - label: Default - description: Default retention days - schema: - type: int - required: true - default: 10 - - variable: objects - label: Objects - description: Per object retention days - schema: - type: list - default: [] - items: - - variable: objects_entry - label: Objects Entry - schema: - additional_attrs: true - type: dict - attrs: - - variable: object - label: Object - description: For example Person - schema: - type: string - required: true - default: "" - - variable: days - label: Retention Days - description: Retention days for the object - schema: - type: int - required: true - default: 15 - - variable: rtmp - label: RTMP - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: Enable the RTMP stream - schema: - type: boolean - default: true - - variable: live - label: Live - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: height - label: Height - description: | - Set the height of the live stream. - This must be less than or equal to the height of the detect stream. Lower resolutions - reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio. - schema: - type: int - "null": true - - variable: quality - label: Quality - description: | - Set the encode quality of the live stream - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources. - schema: - type: int - min: 1 - max: 31 - "null": true - - variable: timestamp_style - label: Timestamp Style - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: position - label: Position - description: Position of the timestamp - schema: - type: string - default: "" - enum: - - value: "" - description: Inherit - - value: tl - description: Top Left - - value: tr - description: Top Right - - value: bl - description: Bottom Left - - value: br - description: Bottom Right - - variable: format - label: Format - description: Format specifier conform to the Python package - schema: - type: string - default: "" - - variable: color - label: Timestamp Style > Color - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: red - label: Red - schema: - type: int - default: 255 - required: true - - variable: green - label: Green - schema: - type: int - required: true - default: 255 - - variable: blue - label: Blue - schema: - type: int - required: true - default: 255 - - variable: thickness - label: Thickness - description: Line thickness of font - schema: - type: int - "null": true - - variable: effect - label: Effect - description: | - Effect of lettering - Inherit - Inherit from default configuration - None - No effect - Solid - Solid background in inverse color of font - Shadow - Shadow for font - schema: - type: string - default: "" - enum: - - value: "" - description: Inherit - - value: None - description: None - - value: solid - description: Solid - - value: shadow - description: Shadow - - variable: cameras - label: Cameras - schema: - type: list - default: [] - items: - - variable: camera_entry - label: Camera Entry - schema: - additional_attrs: true - type: dict - attrs: - - variable: camera_name - label: Camera Name - schema: - type: string - required: true - default: "" - - variable: ffmpeg - label: ffmpeg - description: ffmpeg Settings for the camera - schema: - additional_attrs: true - type: dict - attrs: - - variable: inputs - label: Inputs - description: A list of input streams for the camera. See documentation for more information. - schema: - type: list - required: true - default: [] - items: - - variable: input_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: path - label: Path - description: The path to the stream - schema: - type: string - required: true - default: "" - - variable: roles - label: Roles - schema: - type: list - required: true - default: [] - items: - - variable: role_entry - label: "" - schema: - type: string - required: true - default: "" - enum: - - value: detect - description: Detect - - value: rtmp - description: RTMP - - value: record - description: Record - - variable: global_args - label: Global Args - description: Stream specific global args - schema: - type: string - default: "" - - variable: hwaccel_args - label: HW Acceleration Args - description: Stream specific hwaccel args - schema: - type: string - default: "" - - variable: input_args - label: Input Args - description: Stream specific input args - schema: - type: string - default: "" - - variable: output_args - label: Output Args - schema: - additional_attrs: true - type: dict - attrs: - - variable: detect - label: Detect - schema: - type: string - default: "" - - variable: record - label: Record - schema: - type: string - default: "" - - variable: rtmp - label: RTMP - schema: - type: string - default: "" - - variable: global_args - label: Global Args - description: Camera specific global args - schema: - type: string - default: "" - - variable: hwaccel_args - label: HW Acceleration Args - description: Camera specific hwaccel args - schema: - type: string - default: "" - - variable: input_args - label: Input Args - description: Camera specific input args - schema: - type: string - default: "" - - variable: output_args - label: Output Args - schema: - additional_attrs: true - type: dict - attrs: - - variable: detect - label: Detect - schema: - type: string - default: "" - - variable: record - label: Record - schema: - type: string - default: "" - - variable: rtmp - label: RTMP - schema: - type: string - default: "" - - variable: best_image_timeout - label: Best Image Timeout - description: Timeout for highest scoring image before allowing it to be replaced by a newer image. - schema: - type: int - "null": true - - variable: zones - label: Zones - description: Zones for this camera - schema: - type: list - default: [] - items: - - variable: zone_entry - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: name - label: Zone Name - schema: - type: string - required: true - default: "" - - variable: coordinates - label: Coordinates - description: List of x,y coordinates to define the polygon of the zone. - schema: - type: string - required: true - default: "" - - variable: objects - label: Objects - schema: - type: list - default: [] - items: - - variable: object_entry - label: "" - description: For example person - schema: - type: string - required: true - default: "" - - variable: filters - label: Filters - description: Zone level object filters - schema: - type: list - default: [] - items: - - variable: filter_entry - label: Filter Entry - description: For example person - schema: - additional_attrs: true - type: dict - attrs: - - variable: object - label: Object - description: For example person - schema: - type: string - required: true - default: "" - - variable: min_area - label: Min Area - description: Minimum width*height of the bounding box for the detected object - schema: - type: int - "null": true - - variable: max_area - label: Max Area - description: Maximum width*height of the bounding box for the detected object - schema: - type: int - "null": true - - variable: threshold - label: Threshold - description: Minimum decimal percentage for tracked object's computed score to be considered a true positive - schema: - type: string - default: "" - valid_chars: '^[0-9]+(\.[0-9]*)?$' - - variable: mqtt - label: MQTT - description: MQTT Configuration for jpg snapshots published for this camera - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: enabled - label: Enabled - description: | - Enable publishing snapshot via mqtt for camera - NOTE: Only applies to publishing image data to MQTT via 'frigate///snapshot'. - All other messages will still be published. - schema: - type: boolean - default: true - - variable: timestamp - label: Timestamp - description: Print a timestamp on the snapshots - schema: - type: boolean - default: true - - variable: bounding_box - label: Bounding Box - description: Draw bounding box on the snapshots - schema: - type: boolean - default: true - - variable: crop - label: Crop - description: Crop the snapshot - schema: - type: boolean - default: true - - variable: height - label: Height - description: Height to resize the snapshot to - schema: - type: int - "null": true - - variable: quality - label: Quality - description: JPEG encode quality - schema: - type: int - "null": true - - variable: required_zones - label: Required Zones - description: Restrict mqtt messages to objects that entered any of the listed zones - schema: - type: list - default: [] - items: - - variable: required_zone - label: Required Zone - schema: - type: string - required: true - default: "" - - variable: ui - label: UI - description: Configuration for how camera is handled in the GUI. - schema: - additional_attrs: true - type: dict - attrs: - - variable: render_config - label: Render Configuration - description: Enable it to add the configuration in the config file - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: order - label: order - description: Adjust sort order of cameras in the UI. Larger numbers come later By default the cameras are sorted alphabetically. - schema: - "null": true - type: int - - variable: dashboard - label: Dashboard - description: Whether or not to show the camera in the Frigate UI - schema: - type: boolean - default: true - - 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: 10500 - editable: true - required: true - - variable: rtmp - label: "RTMP Service" - description: "The service on which nodes connect to." - 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: rtmp - label: "RTMP 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: 1935 - editable: true - 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: - 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: - 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: media - label: "App Media" - description: "Stores the Application Media" - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: db - label: "App DB" - description: "Stores the Application DB" - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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 - show_subquestions_if: true - subquestions: - - variable: entrypoint - label: (Advanced) Traefik Entrypoint - description: Entrypoint used by Traefik when using Traefik as Ingress Provider - schema: - type: string - default: websecure - required: true - - variable: ingressClassName - label: (Advanced/Optional) IngressClass Name - schema: - type: string - default: "" - - variable: tls - label: TLS-Settings - schema: - type: list - 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: - 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: - 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: - 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/incubator/frigate/8.0.4/templates/NOTES.txt b/incubator/frigate/8.0.4/templates/NOTES.txt deleted file mode 100644 index 72e715a3bc5..00000000000 --- a/incubator/frigate/8.0.4/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/frigate/8.0.4/templates/_configmap.tpl b/incubator/frigate/8.0.4/templates/_configmap.tpl deleted file mode 100644 index d2e871638fd..00000000000 --- a/incubator/frigate/8.0.4/templates/_configmap.tpl +++ /dev/null @@ -1,496 +0,0 @@ -{{/* Define the configmap */}} -{{- define "frigate.configmap" -}} -enabled: true -data: - config.yml: | - database: - path: /db/frigate.db - - mqtt: - {{- include "frigate.mqtt" .Values.frigate.mqtt | indent 6 }} - - {{- if and .Values.frigate.detectors.render_config .Values.frigate.detectors.config }} - detectors: - {{- include "frigate.detectors" .Values.frigate.detectors | indent 6 }} - {{- end }} - - {{- if .Values.frigate.model.render_config }} - model: - {{- include "frigate.model" .Values.frigate.model | indent 6 }} - {{- end }} - - {{- if .Values.frigate.logger.render_config }} - logger: - {{- include "frigate.logger" .Values.frigate.logger | indent 6 }} - {{- end }} - - {{- if .Values.frigate.birdseye.render_config }} - birdseye: - {{- include "frigate.birdseye" .Values.frigate.birdseye | indent 6 }} - {{- end }} - - {{- if .Values.frigate.ffmpeg.render_config }} - ffmpeg: - {{- include "frigate.ffmpeg" .Values.frigate.ffmpeg | indent 6 }} - {{- end }} - - {{- if .Values.frigate.detect.render_config }} - detect: - {{- include "frigate.detect" .Values.frigate.detect | indent 6 }} - {{- end -}} - - {{- if .Values.frigate.objects.render_config }} - objects: - {{- include "frigate.objects" .Values.frigate.objects | indent 6 }} - {{- end }} - - {{- if .Values.frigate.motion.render_config }} - motion: - {{- include "frigate.motion" .Values.frigate.motion | indent 6 }} - {{- end }} - - {{- if .Values.frigate.record.render_config }} - record: - {{- include "frigate.record" .Values.frigate.record | indent 6 }} - {{- end }} - - {{- if .Values.frigate.snapshots.render_config }} - snapshots: - {{- include "frigate.snapshots" .Values.frigate.snapshots | indent 6 }} - {{- end }} - - {{- if .Values.frigate.rtmp.render_config }} - rtmp: - {{- include "frigate.rtmp" .Values.frigate.rtmp | indent 6 }} - {{- end }} - - {{- if .Values.frigate.live.render_config }} - live: - {{- include "frigate.live" .Values.frigate.live | indent 6 }} - {{- end }} - - {{- if .Values.frigate.timestamp_style.render_config }} - timestamp_style: - {{- include "frigate.timestamp_style" .Values.frigate.timestamp_style | indent 6 }} - {{- end }} - - {{- $cameras := .Values.frigate.cameras }} - cameras: - {{- range $cam := $cameras }} - {{ $cam.camera_name | required "You need to provide a camera name" }}: - ffmpeg: - inputs: - {{- range $input := $cam.ffmpeg.inputs }} - - path: {{ $input.path | required "You need to provide a path" }} - roles: - {{- range $role := $input.roles }} - - {{ $role }} - {{- else -}} - {{- fail "You need to provide roles" -}} - {{- end -}} - {{- include "frigate.ffmpeg" $input | indent 14 }} - {{- end -}} {{/* End range $cam.ffmpeg.inputs */}} - {{- include "frigate.ffmpeg" $cam.ffmpeg | indent 10 }} - {{- with $cam.best_image_timeout }} - best_image_timeout: {{ . }} - {{- end -}} - {{- with $cam.zones }} - zones: - {{- range $zone := . }} - {{ $zone.name | required "You have to specify a zone name" }}: - coordinates: {{ required "You have to specify coordinates" .coordinates }} - {{- with $zone.objects }} - objects: - {{- range $obj := . }} - - {{ $obj }} - {{- end -}} - {{- end -}} - {{- with $zone.filters }} - filters: - {{- range $filter := . }} - {{ $filter.object | required "You have to specify an object" }}: - {{- with $filter.min_area }} - min_area: {{ . }} - {{- end -}} - {{- with $filter.max_area }} - max_area: {{ . }} - {{- end -}} - {{- with $filter.threshold }} - threshold: {{ . }} - {{- end -}} - {{- end -}} {{/* end range filters */}} - {{- end -}} {{/* end with filter */}} - {{- end -}} {{/* end range zones */}} - {{- end -}} {{/* end with zones */}} - {{- if $cam.mqtt.render_config -}} - {{- with $cam.mqtt }} - mqtt: - enabled: {{ ternary "True" "False" .enabled }} - timestamp: {{ ternary "True" "False" .timestamp }} - bounding_box: {{ ternary "True" "False" .bounding_box }} - crop: {{ ternary "True" "False" .crop }} - {{- with .height }} - height: {{ . }} - {{- end -}} - {{- with .quality }} - quality: {{ . }} - {{- end -}} - {{- with .required_zones }} - required_zones: - {{- range $zone := . }} - - {{ $zone }} - {{- end -}} - {{- end -}} - {{- end -}} {{/* end with mqtt */}} - {{- end -}} {{/* end if mqtt.render_config */}} - {{- if $cam.ui.render_config -}} - {{- with $cam.ui }} - ui: - {{- if not (kindIs "invalid" .order) }} - order: {{ .order }} - {{- end }} - dashboard: {{ ternary "True" "False" .dashboard }} - {{- end -}} {{/* end with ui */}} - {{- end -}} {{/* end if ui.render_config */}} - {{- end -}} {{/* end range cameras */}} -{{- end }} - -{{- define "frigate.ffmpeg" -}} -{{- $ffmpeg := . -}} - -{{- with $ffmpeg.global_args }} -global_args: {{ . }} -{{- end -}} -{{- with $ffmpeg.input_args }} -input_args: {{ . }} -{{- end -}} -{{- with $ffmpeg.hwaccel_args }} -hwaccel_args: {{ . }} -{{- end -}} -{{- if $ffmpeg.output_args -}} -{{- if or $ffmpeg.output_args.detect $ffmpeg.output_args.record $ffmpeg.output_args.rtmp }} -output_args: - {{- with $ffmpeg.output_args.detect }} - detect: {{ . }} - {{- end -}} - {{- with $ffmpeg.output_args.record }} - record: {{ . }} - {{- end -}} - {{- with $ffmpeg.output_args.rtmp }} - rtmp: {{ . }} - {{- end -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.detect" -}} -{{- $detect := . }} -enabled: {{ ternary "True" "False" $detect.enabled }} -{{- with $detect.width }} -width: {{ . }} -{{- end -}} -{{- with $detect.height }} -height: {{ . }} -{{- end -}} -{{- with $detect.fps }} -fps: {{ . }} -{{- end -}} -{{- with $detect.max_disappeared }} -max_disappeared: {{ . }} -{{- end -}} -{{- if or (not (kindIs "invalid" $detect.stationary.interval)) $detect.stationary.threshold $detect.stationary.set_max_frames }} -stationary: - {{- if not (kindIs "invalid" $detect.stationary.interval) }} {{/* invalid kind means its empty (0 is not empty) */}} - interval: {{ $detect.stationary.interval }} - {{- end -}} - {{- with $detect.stationary.threshold }} - threshold: {{ . }} - {{- end -}} - {{- if (hasKey $detect.stationary "max_frames") }} - {{- if or $detect.stationary.max_frames.default $detect.stationary.max_frames.objects }} - max_frames: - {{- with $detect.stationary.max_frames.default }} - default: {{ . }} - {{- end -}} - {{- with $detect.stationary.max_frames.objects }} - objects: - {{- range $obj := . }} - {{ $obj.object | required "You need to provide an object" }}: {{ $obj.frames | required "You need to provide frames" }} - {{- end -}} - {{- end -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.motion" -}} -{{- $motion := . -}} - -{{- with $motion.threshold }} -threshold: {{ . }} -{{- end -}} -{{- with $motion.contour_area }} -contour_area: {{ . }} -{{- end -}} -{{- with $motion.delta_alpha }} -delta_alpha: {{ . }} -{{- end -}} -{{- with $motion.frame_alpha }} -frame_alpha: {{ . }} -{{- end -}} -{{- with $motion.frame_height }} -frame_height: {{ . }} -{{- end -}} -{{- with $motion.mask }} -mask: {{ . }} -{{- end }} -improve_contrast: {{ ternary "True" "False" $motion.improve_contrast }} -{{- with $motion.mqtt_off_delay }} -mqtt_off_delay: {{ . }} -{{- end -}} -{{- end -}} - -{{- define "frigate.record" -}} -{{- $record := . }} -enabled: {{ ternary "True" "False" $record.enabled }} -{{- with $record.expire_interval }} -expire_interval: {{ . }} -{{- end -}} -{{- if $record.retain.render_config }} -retain: - {{- if not (kindIs "invalid" $record.retain.days) }} - days: {{ $record.retain.days }} - {{- end -}} - {{- with $record.retain.mode }} - mode: {{ . }} - {{- end -}} -{{- end -}} -{{- if $record.events.render_config }} -events: - {{- if not (kindIs "invalid" $record.events.pre_capture) }} - pre_capture: {{ $record.events.pre_capture }} - {{- end -}} - {{- if not (kindIs "invalid" $record.events.post_capture) }} - post_capture: {{ $record.events.post_capture }} - {{- end -}} - {{- with $record.events.objects }} - objects: - {{- range $obj := . }} - - {{ $obj }} - {{- end -}} - {{- end -}} - {{- with $record.events.required_zones }} - required_zones: - {{- range $zone := . }} - - {{ $zone }} - {{- end -}} - {{- end -}} - {{- if $record.events.retain.render_config }} - retain: - default: {{ $record.events.retain.default | required "You need to provide default retain days" }} - {{- with $record.events.retain.mode }} - mode: {{ . }} - {{- end -}} - {{- with $record.events.retain.objects }} - objects: - {{- range $obj := . }} - {{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }} - {{- end -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.objects" -}} -{{- $objects := . -}} - -{{- with $objects.track }} -track: - {{- range $track := . }} - - {{ $track }} - {{- end -}} -{{- end -}} -{{- with $objects.mask }} -mask: {{ . }} -{{- end -}} -{{- with $objects.filters }} -filters: - {{- range $filter := . }} - {{ $filter.object | required "You need to provide an object" }}: - {{- with $filter.min_area }} - min_area: {{ . }} - {{- end -}} - {{- with $filter.max_area }} - max_area: {{ . }} - {{- end -}} - {{- with $filter.min_ratio }} - min_ratio: {{ . }} - {{- end -}} - {{- with $filter.max_ratio }} - max_ratio: {{ . }} - {{- end -}} - {{- with $filter.min_score }} - min_score: {{ . }} - {{- end -}} - {{- with $filter.threshold }} - threshold: {{ . }} - {{- end -}} - {{- with $filter.mask }} - mask: {{ . }} - {{- end -}} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.birdseye" -}} -{{- $birdseye := . }} -enabled: {{ ternary "True" "False" $birdseye.enabled }} -{{- with $birdseye.width }} -width: {{ . }} -{{- end -}} -{{- with $birdseye.height }} -height: {{ . }} -{{- end -}} -{{- with $birdseye.quality }} -quality: {{ . }} -{{- end -}} -{{- with $birdseye.mode }} -mode: {{ . }} -{{- end -}} -{{- end -}} - -{{- define "frigate.timestamp_style" -}} -{{- $timestamp_style := . -}} - -{{- with $timestamp_style.position }} -position: {{ . }} -{{- end -}} -{{- with $timestamp_style.format }} -format: {{ . }} -{{- end -}} -{{- if $timestamp_style.color.render_config }} -color: - red: {{ $timestamp_style.color.red }} - green: {{ $timestamp_style.color.green }} - blue: {{ $timestamp_style.color.blue }} -{{- end -}} -{{- with $timestamp_style.thickness }} -thickness: {{ . }} -{{- end -}} -{{- with $timestamp_style.effect }} -effect: {{ $timestamp_style.effect }} -{{- end -}} -{{- end -}} - -{{- define "frigate.live" -}} -{{- $live := . -}} -{{- with $live.height }} -height: {{ . }} -{{- end -}} -{{- with $live.quality }} -quality: {{ . }} -{{- end -}} -{{- end -}} - -{{- define "frigate.rtmp" -}} -{{- $rtmp := . }} -enabled: {{ ternary "True" "False" $rtmp.enabled }} -{{- end -}} - -{{- define "frigate.snapshots" -}} -{{- $snapshots := . }} -enabled: {{ ternary "True" "False" $snapshots.enabled }} -clean_copy: {{ ternary "True" "False" $snapshots.clean_copy }} -timestamp: {{ ternary "True" "False" $snapshots.timestamp }} -bounding_box: {{ ternary "True" "False" $snapshots.bounding_box }} -crop: {{ ternary "True" "False" $snapshots.crop }} -{{- with $snapshots.height }} -height: {{ . }} -{{- end -}} -{{- with $snapshots.required_zones }} -required_zones: - {{- range $zone := . }} - - {{ $zone }} - {{- end -}} -{{- end -}} -{{- if $snapshots.retain.render_config }} -retain: - default: {{ $snapshots.retain.default | required "You need to provide default retain days" }} - {{- with $snapshots.retain.objects }} - objects: - {{- range $obj := . }} - {{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }} - {{- end -}} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.detectors" -}} -{{- $detectors := . -}} - -{{- range $detector := $detectors.config }} -{{ $detector.name | required "You need to provide a detector name" }}: - type: {{ $detector.type | required "You need to provide a detector type" }} - {{- with $detector.device }} - device: {{ . }} - {{- end -}} - {{- with $detector.num_threads }} - num_threads: {{ . }} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.model" -}} -{{ $model := . }} -width: {{ $model.width | required "You need to provide a model width" }} -height: {{ $model.height | required "You need to provide a model height" }} -{{- with $model.path }} -path: {{ . }} -{{- end -}} -{{- with $model.labelmap_path }} -labelmap_path: {{ . }} -{{- end -}} -{{- with $model.labelmap }} -labelmap: - {{- range $lmap := . }} - {{ $lmap.model | required "You need to provide a labelmap model" }}: {{ $lmap.name | required "You need to provide a labelmap name" }} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.logger" -}} -{{- $logger := . }} -default: {{ $logger.default }} -{{- with $logger.logs }} -logs: - {{- range $log := . }} - {{ $log.component | required "You need to provide a logger cmponent" }}: {{ $log.verbosity | required "You need to provide logger verbosity" }} - {{- end -}} -{{- end -}} -{{- end -}} - -{{- define "frigate.mqtt" -}} -{{- $mqtt := . }} -{{- if $mqtt.render_config }} -enabled: {{ ternary "True" "False" $mqtt.enabled }} -host: {{ required "You need to provide an MQTT host" $mqtt.host }} -{{- with $mqtt.port }} -port: {{ . }} -{{- end -}} -{{- with $mqtt.topic_prefix }} -topic_prefix: {{ . }} -{{- end -}} -{{- with $mqtt.client_id }} -client_id: {{ . }} -{{- end -}} -{{- if not (kindIs "invalid" $mqtt.stats_interval) }} -stats_interval: {{ $mqtt.stats_interval }} -{{- end -}} -{{- with $mqtt.user }} -user: {{ . }} -{{- end -}} -{{- with $mqtt.password }} -password: {{ . }} -{{- end -}} -{{- end -}} -{{- end -}} diff --git a/incubator/frigate/8.0.4/templates/common.yaml b/incubator/frigate/8.0.4/templates/common.yaml deleted file mode 100644 index d1ee5e989de..00000000000 --- a/incubator/frigate/8.0.4/templates/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . }} - -{{/* Render configmap for frigate */}} -{{- $config := include "frigate.configmap" . | fromYaml -}} -{{- if $config -}} - {{- $_ := set .Values.configmap "frigate-config" $config -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/frigate/8.0.4/values.yaml b/incubator/frigate/8.0.4/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/frigate/9.0.4/CHANGELOG.md b/incubator/frigate/9.0.4/CHANGELOG.md deleted file mode 100644 index ca6852d80f4..00000000000 --- a/incubator/frigate/9.0.4/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [frigate-9.0.4](https://github.com/truecharts/charts/compare/frigate-9.0.3...frigate-9.0.4) (2023-06-24) - -### Feat - -- Update to 0.12.1 ([#9861](https://github.com/truecharts/charts/issues/9861)) - - - - -## [frigate-9.0.3](https://github.com/truecharts/charts/compare/frigate-9.0.2...frigate-9.0.3) (2023-06-16) - - - - -## [frigate-9.0.2](https://github.com/truecharts/charts/compare/frigate-9.0.1...frigate-9.0.2) (2023-06-13) - -### Chore - -- update helm chart common to 12.14.2 ([#9599](https://github.com/truecharts/charts/issues/9599)) - - - - -## [frigate-9.0.1](https://github.com/truecharts/charts/compare/frigate-9.0.0...frigate-9.0.1) (2023-06-11) - -### Chore - -- update helm general non-major ([#9558](https://github.com/truecharts/charts/issues/9558)) - - - - -## [frigate-9.0.0](https://github.com/truecharts/charts/compare/frigate-8.0.4...frigate-9.0.0) (2023-06-10) - -### Chore - -- BREAKING CHANGE - Allow native helm users to use 1:1 configuration, and scale users to define a hostpath config file ([#9575](https://github.com/truecharts/charts/issues/9575)) - - - - -## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07) - -### Chore - -- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457)) - - - - -## [frigate-8.0.3](https://github.com/truecharts/charts/compare/frigate-8.0.2...frigate-8.0.3) (2023-06-07) - -### Chore - -- update helm general non-major ([#9423](https://github.com/truecharts/charts/issues/9423)) - - - - -## [frigate-8.0.2](https://github.com/truecharts/charts/compare/frigate-8.0.1...frigate-8.0.2) (2023-06-06) - -### Fix - -- Fix questions default value ([#9414](https://github.com/truecharts/charts/issues/9414)) - - - - -## [frigate-8.0.1](https://github.com/truecharts/charts/compare/frigate-8.0.0...frigate-8.0.1) (2023-06-04) - - - - -## [frigate-8.0.0](https://github.com/truecharts/charts/compare/frigate-7.0.1...frigate-8.0.0) (2023-06-04) - - - - -## [frigate-7.0.1](https://github.com/truecharts/charts/compare/frigate-7.0.0...frigate-7.0.1) (2023-06-04) - -### Chore - -- update helm general non-major ([#9393](https://github.com/truecharts/charts/issues/9393)) - - - - -## [frigate-7.0.0](https://github.com/truecharts/charts/compare/frigate-6.0.2...frigate-7.0.0) (2023-06-01) - -### Feat - -- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203)) - - port to new common ([#9141](https://github.com/truecharts/charts/issues/9141)) diff --git a/incubator/frigate/9.0.4/Chart.yaml b/incubator/frigate/9.0.4/Chart.yaml deleted file mode 100644 index 0bfcce22547..00000000000 --- a/incubator/frigate/9.0.4/Chart.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: v2 -appVersion: "0.12.1" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.2 -deprecated: false -description: NVR With Realtime Object Detection for IP Cameras -home: https://truecharts.org/charts/incubator/frigate -icon: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png -keywords: - - encode - - nvr - - media - - frigate -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: frigate -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/frigate - - https://github.com/blakeblackshear/frigate -type: application -version: 9.0.4 -annotations: - truecharts.org/catagories: | - - nvr - truecharts.org/SCALE-support: "true" diff --git a/incubator/frigate/9.0.4/README.md b/incubator/frigate/9.0.4/README.md deleted file mode 100644 index 83229a60265..00000000000 --- a/incubator/frigate/9.0.4/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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/incubator/frigate/9.0.4/app-changelog.md b/incubator/frigate/9.0.4/app-changelog.md deleted file mode 100644 index 3e154acb536..00000000000 --- a/incubator/frigate/9.0.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [frigate-9.0.4](https://github.com/truecharts/charts/compare/frigate-9.0.3...frigate-9.0.4) (2023-06-24) - -### Feat - -- Update to 0.12.1 ([#9861](https://github.com/truecharts/charts/issues/9861)) - - \ No newline at end of file diff --git a/incubator/frigate/9.0.4/app-readme.md b/incubator/frigate/9.0.4/app-readme.md deleted file mode 100644 index 8726f049d47..00000000000 --- a/incubator/frigate/9.0.4/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -NVR With Realtime Object Detection for IP Cameras - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/frigate](https://truecharts.org/charts/incubator/frigate) - ---- - -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/incubator/frigate/9.0.4/charts/common-12.14.2.tgz b/incubator/frigate/9.0.4/charts/common-12.14.2.tgz deleted file mode 100644 index e3a92f097b6..00000000000 Binary files a/incubator/frigate/9.0.4/charts/common-12.14.2.tgz and /dev/null differ diff --git a/incubator/frigate/9.0.4/ix_values.yaml b/incubator/frigate/9.0.4/ix_values.yaml deleted file mode 100644 index 8bcd7d5a19a..00000000000 --- a/incubator/frigate/9.0.4/ix_values.yaml +++ /dev/null @@ -1,97 +0,0 @@ -image: - repository: tccr.io/truecharts/frigate - pullPolicy: IfNotPresent - tag: v0.12.1@sha256:71c83d1c5454bfee190b450ab89b2889352688b8cf3f832782a47ed82e2c604d - -# When this is defined, the contents will be mounted -# as configmap into the container at /config/config.yml. -frigateConfig: - {} - # -- https://docs.frigate.video/configuration/ - # mqtt: - # enabled: False - # cameras: - # dummy: - # enabled: False - # ffmpeg: - # inputs: - # - path: rtsp://127.0.0.1:554/rtsp - # roles: - # - detect - -workload: - main: - podSpec: - initContainers: - init-config: - enabled: "{{ not .Values.frigateConfig }}" - type: init - imageSelector: alpineImage - command: - - /bin/sh - - -c - - | - mkdir -p /config - if [ ! -f /config/config.yml ]; then - echo "Config file not found, copying dummy..." - cp /dummy-config/config.yml.dummy /config/config.yml - echo "Config file copied, you can now edit it at /config/config.yml" - fi - -securityContext: - container: - readOnlyRootFilesystem: false - runAsNonRoot: false - runAsUser: 0 - runAsGroup: 0 - -service: - main: - ports: - main: - port: 10500 - protocol: http - targetPort: 5000 - rtmp: - enabled: true - ports: - rtmp: - enabled: true - port: 1935 - targetPort: 1935 - rtsp: - enabled: true - ports: - rtsp: - enabled: true - port: 8554 - targetPort: 8554 - webrtc: - enabled: true - ports: - webrtc-tcp: - enabled: true - port: 8555 - targetPort: 8555 - webrtc-udp: - enabled: true - port: 8555 - protocol: udp - targetPort: 8555 - -persistence: - media: - enabled: true - mountPath: /media - config: - # Only enable when not using frigateConfig - enabled: false - mountPath: /config - targetSelector: - main: - main: {} - init-config: {} - -portal: - open: - enabled: true diff --git a/incubator/frigate/9.0.4/questions.yaml b/incubator/frigate/9.0.4/questions.yaml deleted file mode 100644 index 9649a1718a0..00000000000 --- a/incubator/frigate/9.0.4/questions.yaml +++ /dev/null @@ -1,2230 +0,0 @@ -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: 10500 - required: true - - variable: rtmp - label: RTMP Service - description: The service on which nodes connect to. - 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: rtmp - label: RTMP 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: 1935 - required: true - - variable: rtsp - label: RTSP Service - description: The service on which nodes connect to. - 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: rtsp - label: RTSP 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: 8554 - required: true - - variable: webrtc - label: WebRTC Service - description: The service on which nodes connect to. - 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: webrtc-tcp - label: WebRTC (TCP) 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: 8555 - required: true - - variable: webrtc-udp - label: WebRTC (UDP) 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: 8555 - 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: media - label: App Media - description: Stores the Application Media and DB - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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/incubator/frigate/9.0.4/templates/NOTES.txt b/incubator/frigate/9.0.4/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/frigate/9.0.4/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/frigate/9.0.4/templates/_configmap.tpl b/incubator/frigate/9.0.4/templates/_configmap.tpl deleted file mode 100644 index ebf25801a72..00000000000 --- a/incubator/frigate/9.0.4/templates/_configmap.tpl +++ /dev/null @@ -1,42 +0,0 @@ -{{/* Define the configmap */}} -{{- define "frigate.configmap" -}} -enabled: true -data: - {{- if .Values.frigateConfig }} - config.yml: | - {{- .Values.frigateConfig | toYaml | nindent 4 }} - {{- else }} - config.yml.dummy: | - mqtt: - enabled: false - cameras: - dummy: - enabled: false - ffmpeg: - inputs: - - path: rtsp://127.0.0.1:554/rtsp - roles: - - detect - {{- end }} -{{- end -}} - -{{- define "frigate.configVolume" -}} -enabled: true -type: configmap -objectName: frigate-config -targetSelector: - main: - main: {} - init-config: {} -{{- if .Values.frigateConfig }} -mountPath: /config -items: - - key: config.yml - path: config.yml -{{- else }} -mountPath: /dummy-config -items: - - key: config.yml.dummy - path: config.yml.dummy -{{- end -}} -{{- end -}} diff --git a/incubator/frigate/9.0.4/templates/common.yaml b/incubator/frigate/9.0.4/templates/common.yaml deleted file mode 100644 index 6ec5e06b3cc..00000000000 --- a/incubator/frigate/9.0.4/templates/common.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . }} - -{{/* Render configmap for frigate */}} -{{- $config := include "frigate.configmap" . | fromYaml -}} -{{- if $config -}} - {{- $_ := set .Values.configmap "frigate-config" $config -}} -{{- end -}} - -{{- if not .Values.frigateConfig -}} - {{- $_ := set .Values.persistence.config "enabled" true -}} -{{- end -}} - -{{- $vol := include "frigate.configVolume" . | fromYaml -}} -{{- if $vol -}} - {{- $_ := set .Values.persistence "frigate-config" $vol -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/frigate/9.0.4/values.yaml b/incubator/frigate/9.0.4/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/frigate/item.yaml b/incubator/frigate/item.yaml deleted file mode 100644 index ea1b259cab1..00000000000 --- a/incubator/frigate/item.yaml +++ /dev/null @@ -1,5 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png -categories: -- nvr - -screenshots: [] diff --git a/incubator/invidious/4.0.0/CHANGELOG.md b/incubator/invidious/4.0.0/CHANGELOG.md deleted file mode 100644 index 419a63136f8..00000000000 --- a/incubator/invidious/4.0.0/CHANGELOG.md +++ /dev/null @@ -1,88 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [invidious-4.0.0](https://github.com/truecharts/charts/compare/invidious-3.0.0...invidious-4.0.0) (2023-06-01) - -### Feat - -- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203)) - - Invidious port ([#9283](https://github.com/truecharts/charts/issues/9283)) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - - - - -## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24) - diff --git a/incubator/invidious/4.0.0/Chart.yaml b/incubator/invidious/4.0.0/Chart.yaml deleted file mode 100644 index 59d9c8b6962..00000000000 --- a/incubator/invidious/4.0.0/Chart.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v2 -appVersion: "latest" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.10.4 -description: Open source alternative front-end to YouTube. -home: https://truecharts.org/charts/incubator/invidious -icon: https://truecharts.org/img/hotlink-ok/chart-icons/invidious.png -keywords: - - invidious - - youtube - - media -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: invidious -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/invidious - - https://github.com/iv-org/invidious - - https://docs.invidious.io/installation/#docker -version: 4.0.0 -annotations: - truecharts.org/catagories: | - - media - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/incubator/invidious/4.0.0/LICENSE b/incubator/invidious/4.0.0/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/invidious/4.0.0/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/invidious/4.0.0/README.md b/incubator/invidious/4.0.0/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/invidious/4.0.0/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/invidious/4.0.0/app-changelog.md b/incubator/invidious/4.0.0/app-changelog.md deleted file mode 100644 index 2e21c4eee35..00000000000 --- a/incubator/invidious/4.0.0/app-changelog.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## [invidious-4.0.0](https://github.com/truecharts/charts/compare/invidious-3.0.0...invidious-4.0.0) (2023-06-01) - -### Feat - -- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203)) - - Invidious port ([#9283](https://github.com/truecharts/charts/issues/9283)) - - \ No newline at end of file diff --git a/incubator/invidious/4.0.0/app-readme.md b/incubator/invidious/4.0.0/app-readme.md deleted file mode 100644 index 3241f2d5b7c..00000000000 --- a/incubator/invidious/4.0.0/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Open source alternative front-end to YouTube. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/invidious](https://truecharts.org/charts/incubator/invidious) - ---- - -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/incubator/invidious/4.0.0/charts/common-12.10.4.tgz b/incubator/invidious/4.0.0/charts/common-12.10.4.tgz deleted file mode 100644 index 66771bb2ec5..00000000000 Binary files a/incubator/invidious/4.0.0/charts/common-12.10.4.tgz and /dev/null differ diff --git a/incubator/invidious/4.0.0/ix_values.yaml b/incubator/invidious/4.0.0/ix_values.yaml deleted file mode 100644 index e2aa557cb99..00000000000 --- a/incubator/invidious/4.0.0/ix_values.yaml +++ /dev/null @@ -1,177 +0,0 @@ -image: - repository: tccr.io/truecharts/invidious - pullPolicy: IfNotPresent - tag: latest@sha256:3bb9e44e7d69baf91728c0a88115ef5fdb3adc91432b851e11e4d0e78bbe6e7a - -securityContext: - container: - readOnlyRootFilesystem: false - runAsNonRoot: false - runAsGroup: 0 - runAsUser: 0 - -service: - main: - ports: - main: - port: 10594 - protocol: http - -workload: - main: - podSpec: - initContainers: - dbseed: - type: install - enabled: true - imageSelector: postgresClientImage - env: - POSTGRES_DB: - secretKeyRef: - name: cnpg-main-urls - key: std - POSTGRES_USER: "{{ .Values.cnpg.main.user }}" - # PG* variables are for the psql client - PGPORT: "5432" - PGPASSWORD: - secretKeyRef: - name: cnpg-main-user - key: password - command: ["sh", "-c"] - args: - - | - echo "Starting DB Seed..." - mkdir -p invidious && cd invidious - - echo "Fetching seed files..." - git init && \ - git remote add invidious https://github.com/iv-org/invidious.git && \ - git fetch invidious && \ - # Fetch config and docker dirs - git checkout invidious/master -- docker config - - # Move config into docker dir - echo "Preparing directory structure..." - mv -fv config docker - - echo "Performing the seed..." - cd docker - ./init-invidious-db.sh - containers: - main: - probes: - liveness: - type: http - readiness: - type: http - startup: - type: http - envFrom: - - configMapRef: - name: invidious-config - -invidious: - network: - inbound: - external_port: 10594 - https_only: false - domain: "" - hsts: true - outbound: - disable_proxy: false - pool_size: 100 - use_quic: false - cookies: [] - force_resolve: "ipv4" - - logging: - output: STDOUT - log_level: "Info" - - features: - popular_enabled: true - statistics_enabled: false - - users_accounts: - registration_enabled: true - login_enabled: true - captcha_enabled: true - admins: [] - - background_jobs: - channel_threads: 1 - channel_refresh_interval: 30m - full_refresh: false - feed_threads: 1 - decrypt_polling: false - - jobs: - clear_expired_items: - enable: true - refresh_channels: - enable: true - refresh_feeds: - enable: true - - captcha: - captcha_api_url: "https://api.anti-captcha.com" - captcha_key: "" - - miscellaneous: - banner: "" - use_pubsub_feeds: false - hmac_key: "" - dmca_content: [] - cache_annotations: false - playlist_length_limit: 500 - - default_user_preferences: - internationalization: - locale: en-US - region: US - captions: [] - interface: - dark_mode: dark - thin_mode: false - feed_menu: [] - default_home: Popular - max_results: 40 - annotations: false - annotations_subscribed: false - comments: [] - player_style: invidious - related_videos: true - video_player_behavior: - autoplay: false - continue: false - continue_autoplay: true - listen: false - video_loop: false - video_playback_settings: - quality: hd720 - quality_dash: auto - speed: 1.00 - volume: 100 - vr_mode: true - subscription_feed: - latest_only: false - notifications_only: false - unseen_only: false - sort: published - miscellaneous: - local: false - show_nick: true - automatic_instance_redirect: false - extend_desc: false - -cnpg: - main: - enabled: true - database: invidious - # DB User cannot be changed - # hardcoded from upstream - username: kemal - -portal: - open: - enabled: true diff --git a/incubator/invidious/4.0.0/questions.yaml b/incubator/invidious/4.0.0/questions.yaml deleted file mode 100644 index 5b627f3eb07..00000000000 --- a/incubator/invidious/4.0.0/questions.yaml +++ /dev/null @@ -1,3052 +0,0 @@ -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: invidious - group: App Configuration - label: Invidious Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: network - label: Network Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: inbound - label: Inbound - schema: - additional_attrs: true - type: dict - attrs: - - variable: external_port - label: External Port - description: When the invidious instance is behind a proxy, and the proxy listens on a different port than the instance does, this lets invidious know about it. - schema: - type: int - required: true - min: 1 - max: 65535 - default: 10594 - - variable: https_only - label: HTTPS Only - description: Tell Invidious that it is behind a proxy that provides only HTTPS, so all links must use the https:// scheme. This setting MUST be set to true if invidious is behind a reverse proxy serving HTTPs. - schema: - type: boolean - default: false - - variable: domain - label: Domain - description: Domain name under which this instance is hosted. This is used to craft absolute URLs to the instance - schema: - type: string - default: "" - - variable: hsts - label: HSTS - description: Enable/Disable Strict-Transport-Security. - schema: - type: boolean - default: false - - variable: outbound - label: Outbound - schema: - additional_attrs: true - type: dict - attrs: - - variable: disable_proxy - label: Disable Proxy - description: Disable proxying server-wide. Can be disable as a whole, or only for a single function. - schema: - type: string - required: true - default: "false" - enum: - - value: "false" - description: "false" - - value: "true" - description: "true" - - value: dash - description: dash - - value: livestreams - description: livestreams - - value: livestreams - description: livestreams - - value: downloads - description: downloads - - value: local - description: local - - variable: pool_size - label: Pool Size - description: Size of the HTTP pool used to connect to youtube. - schema: - type: int - required: true - min: 1 - default: 100 - - variable: use_quic - label: Use QUIC - description: Enable/Disable the use of QUIC (HTTP/3) when connecting to the youtube API and websites - schema: - type: boolean - default: false - - variable: cookies - label: Cookies - description: Additional cookies to be sent when requesting the youtube API. - schema: - type: list - default: [] - items: - - variable: cookie_entry - label: Cookie Entry - schema: - type: string - required: true - default: "" - - variable: force_resolve - label: Force Resolve - description: Force connection to youtube over a specific IP family. - schema: - type: string - default: "" - enum: - - value: "" - description: No Force - - value: ipv4 - description: ipv4 - - value: ipv6 - description: ipv6 - - variable: logging - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: output - label: Output - description: STDOUT or Path to log file. Can be absolute or relative to the invidious binary. - schema: - type: string - required: true - default: STDOUT - - variable: log_level - label: Log Level - description: Logging Verbosity. - schema: - type: string - required: true - default: Info - enum: - - value: Info - description: Info - - value: Trace - description: Trace - - value: Debug - description: Debug - - value: Warn - description: Warn - - value: Error - description: Error - - value: Fatal - description: Fatal - - value: "Off" - description: "Off" - - value: All - description: All - - variable: features - label: Features Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: popular_enabled - label: Popular Enabled - description: Enable/Disable the "Popular" tab on the main page. - schema: - type: boolean - default: true - - variable: statistics_enabled - label: Statistics Enabled - description: Enable/Disable statistics (available at /api/v1/stats). - schema: - type: boolean - default: false - - variable: users_accounts - label: Users and Accounts - schema: - additional_attrs: true - type: dict - attrs: - - variable: registration_enabled - label: Registration Enabled - description: Allow/Forbid Invidious (local) account creation. Invidious accounts allow users to subscribe to channels and to create playlists without a Google account. - schema: - type: boolean - default: true - - variable: login_enabled - label: Login Enabled - description: Allow/Forbid users to log-in. This setting affects the ability to connect with BOTH Google and Invidious (local) accounts. - schema: - type: boolean - default: true - - variable: captcha_enabled - label: Captcha Enabled - description: Enable/Disable the captcha challenge on the login page. - schema: - type: boolean - default: true - - variable: admins - label: Admins - description: List of usernames that will be granted administrator rights. - schema: - type: list - default: [] - items: - - variable: adminEntry - label: Admin Entry - schema: - type: string - required: true - default: "" - - variable: background_jobs - label: Background Jobs - schema: - additional_attrs: true - type: dict - attrs: - - variable: channel_threads - label: Channel Threads - description: Number of threads to use when crawling channel videos (during subscriptions update). - schema: - type: int - required: true - min: 1 - default: 1 - - variable: channel_refresh_interval - label: Channel Refresh Interval - description: Time interval between two executions of the job that crawls channel videos (subscriptions update). - schema: - type: string - required: true - default: 30m - - variable: full_refresh - label: Full Refresh - description: Forcefully dump and re-download the entire list of uploaded videos when crawling channel (during subscriptions update). - schema: - type: boolean - default: false - - variable: feed_threads - label: Feed Threads - description: Number of threads to use when updating RSS feeds. - schema: - type: int - required: true - min: 1 - default: 1 - - variable: decrypt_polling - label: Decrypt Polling - description: Enable/Disable the polling job that keeps the decryption function (for "secured" videos) up to date. - schema: - type: boolean - default: false - - variable: jobs - label: Jobs Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: clear_expired_items - label: Clear Expired Items - schema: - additional_attrs: true - type: dict - attrs: - - variable: enable - label: Enable - description: Enable the database cleaning job - schema: - type: boolean - default: true - - variable: refresh_channels - label: Refresh Channels - schema: - additional_attrs: true - type: dict - attrs: - - variable: enable - label: Enable - description: Enable the channels updater job - schema: - type: boolean - default: true - - variable: refresh_feeds - label: Refresh Feeds - schema: - additional_attrs: true - type: dict - attrs: - - variable: enable - label: Enable - description: Enable the RSS feeds updater job - schema: - type: boolean - default: true - - variable: captcha - label: Captcha - schema: - additional_attrs: true - type: dict - attrs: - - variable: captcha_api_url - label: Captcha API URL - description: URL of the captcha solving service. - schema: - type: string - required: true - default: https://api.anti-captcha.com - - variable: captcha_key - label: Captcha API Key - description: API key for the captcha solving service. - schema: - type: string - private: true - default: "" - - variable: miscellaneous - label: Miscellaneous - schema: - additional_attrs: true - type: dict - attrs: - - variable: banner - label: Banner - description: Custom banner displayed at the top of every page. This can used for instance announcements, e.g. - schema: - type: string - default: "" - - variable: use_pubsub_feeds - label: Use PuBSub Feeds - description: Subscribe to channels using PubSubHub (Google PubSubHubbub service). PubSubHub allows Invidious to be instantly notified when a new video is published on any subscribed channels - schema: - type: boolean - default: false - - variable: hmac_key - label: HMAC Key - description: HMAC signing key used for CSRF tokens and pubsub subscriptions verification. - schema: - type: string - private: true - default: "" - - variable: dmca_content - label: DMCA Content - description: List of video IDs where the "download" widget must be disabled, in order to comply with DMCA requests. - schema: - type: list - default: [] - items: - - variable: dmcaEntry - label: DMCA Entry - schema: - type: string - required: true - default: "" - - variable: cache_annotations - label: Cache Annotations - description: Cache video annotations in the database. - schema: - type: boolean - default: false - - variable: playlist_length_limit - label: Playlist Length Limit - description: Maximum custom playlist length limit. - schema: - type: int - required: true - default: 500 - - variable: default_user_preferences - label: Default User Preferences - schema: - additional_attrs: true - type: dict - attrs: - - variable: internationalization - label: Internationalization - schema: - additional_attrs: true - type: dict - attrs: - - variable: locale - label: Locale - description: Default user interface language (locale). - schema: - type: string - required: true - default: en-US - enum: - - value: ar - description: Arabic - - value: da - description: Danish - - value: de - description: German - - value: en-US - description: English, US - - value: el - description: Greek - - value: eo - description: Esperanto - - value: es - description: Spanish - - value: fa - description: Persian - - value: fi - description: Finnish - - value: fr - description: French - - value: he - description: Hebrew - - value: hr - description: Hungarian - - value: id - description: Indonesian - - value: is - description: Icelandic - - value: it - description: Italian - - value: ja - description: Japanese - - value: nb-NO - description: Norwegian, Bomkmal - - value: nl - description: Dutch - - value: pl - description: Polish - - value: pt-BR - description: Portuguese, Brazil - - value: pt-PT - description: Portuguese, Portugal - - value: ro - description: Romanian - - value: ru - description: Russian - - value: sv - description: Swedish - - value: tr - description: Turkish - - value: uk - description: Ukrainian - - value: zh-CN - description: Chinese, China (Simplified Chinese) - - value: zh-TW - description: Chinese, Taiwan (Traditional Chinese) - - variable: region - label: Region - description: Default geographical location for content. - schema: - type: string - required: true - default: US - enum: - - value: AE - description: AE - - value: AR - description: AR - - value: AT - description: AT - - value: AU - description: AU - - value: AZ - description: AZ - - value: BA - description: BA - - value: BD - description: BD - - value: BE - description: BE - - value: BG - description: BG - - value: BH - description: BH - - value: BO - description: BO - - value: BR - description: BR - - value: BY - description: BY - - value: CA - description: CA - - value: CH - description: CH - - value: CL - description: CL - - value: CO - description: CO - - value: CR - description: CR - - value: CY - description: CY - - value: CZ - description: CZ - - value: DE - description: DE - - value: DK - description: DK - - value: DO - description: DO - - value: DZ - description: DZ - - value: EC - description: EC - - value: EE - description: EE - - value: EG - description: EG - - value: ES - description: ES - - value: FI - description: FI - - value: FR - description: FR - - value: GB - description: GB - - value: GE - description: GE - - value: GH - description: GH - - value: GR - description: GR - - value: GT - description: GT - - value: HK - description: HK - - value: HN - description: HN - - value: HR - description: HR - - value: HU - description: HU - - value: ID - description: ID - - value: IE - description: IE - - value: IL - description: IL - - value: IN - description: IN - - value: IQ - description: IQ - - value: IS - description: IS - - value: IT - description: IT - - value: JM - description: JM - - value: JO - description: JO - - value: JP - description: JP - - value: KE - description: KE - - value: KR - description: KR - - value: KW - description: KW - - value: KZ - description: KZ - - value: LB - description: LB - - value: LI - description: LI - - value: LK - description: LK - - value: LT - description: LT - - value: LU - description: LU - - value: LV - description: LV - - value: LY - description: LY - - value: MA - description: MA - - value: ME - description: ME - - value: MK - description: MK - - value: MT - description: MT - - value: MX - description: MX - - value: MY - description: MY - - value: NG - description: NG - - value: NI - description: NI - - value: NL - description: NL - - value: "NO" - description: "NO" - - value: NP - description: NP - - value: NZ - description: NZ - - value: OM - description: OM - - value: PA - description: PA - - value: PE - description: PE - - value: PG - description: PG - - value: PH - description: PH - - value: PK - description: PK - - value: PL - description: PL - - value: PR - description: PR - - value: PT - description: PT - - value: PY - description: PY - - value: QA - description: QA - - value: RO - description: RO - - value: RS - description: RS - - value: RU - description: RU - - value: SA - description: SA - - value: SE - description: SE - - value: SG - description: SG - - value: SI - description: SI - - value: SK - description: SK - - value: SN - description: SN - - value: SV - description: SV - - value: TH - description: TH - - value: TN - description: TN - - value: TR - description: TR - - value: TW - description: TW - - value: TZ - description: TZ - - value: UA - description: UA - - value: UG - description: UG - - value: US - description: US - - value: UY - description: UY - - value: VE - description: VE - - value: VN - description: VN - - value: YE - description: YE - - value: ZA - description: ZA - - value: ZW - description: ZW - - variable: captions - label: Captions - description: Top 3 preferred languages for video captions. Exactly 3 Captions - schema: - type: list - default: [] - items: - - variable: captionEntry - label: Caption Entry - schema: - type: string - required: true - default: "" - enum: - - value: English - description: English - - value: English (auto-generated) - description: English (auto-generated) - - value: Afrikaans - description: Afrikaans - - value: Albanian - description: Albanian - - value: Amharic - description: Amharic - - value: Arabic - description: Arabic - - value: Armenian - description: Armenian - - value: Azerbaijani - description: Azerbaijani - - value: Bangla - description: Bangla - - value: Basque - description: Basque - - value: Belarusian - description: Belarusian - - value: Bosnian - description: Bosnian - - value: Bulgarian - description: Bulgarian - - value: Burmese - description: Burmese - - value: Catalan - description: Catalan - - value: Cebuano - description: Cebuano - - value: Chinese (Simplified) - description: Chinese (Simplified) - - value: Chinese (Traditional) - description: Chinese (Traditional) - - value: Corsican - description: Corsican - - value: Croatian - description: Croatian - - value: Czech - description: Czech - - value: Danish - description: Danish - - value: Dutch - description: Dutch - - value: Esperanto - description: Esperanto - - value: Estonian - description: Estonian - - value: Filipino - description: Filipino - - value: Finnish - description: Finnish - - value: French - description: French - - value: Galician - description: Galician - - value: Georgian - description: Georgian - - value: German - description: German - - value: Greek - description: Greek - - value: Gujarati - description: Gujarati - - value: Haitian Creole - description: Haitian Creole - - value: Hausa - description: Hausa - - value: Hawaiian - description: Hawaiian - - value: Hebrew - description: Hebrew - - value: Hindi - description: Hindi - - value: Hmong - description: Hmong - - value: Hungarian - description: Hungarian - - value: Icelandic - description: Icelandic - - value: Igbo - description: Igbo - - value: Indonesian - description: Indonesian - - value: Irish - description: Irish - - value: Italian - description: Italian - - value: Japanese - description: Japanese - - value: Javanese - description: Javanese - - value: Kannada - description: Kannada - - value: Kazakh - description: Kazakh - - value: Khmer - description: Khmer - - value: Korean - description: Korean - - value: Kurdish - description: Kurdish - - value: Kyrgyz - description: Kyrgyz - - value: Lao - description: Lao - - value: Latin - description: Latin - - value: Latvian - description: Latvian - - value: Lithuanian - description: Lithuanian - - value: Luxembourgish - description: Luxembourgish - - value: Macedonian - description: Macedonian - - value: Malagasy - description: Malagasy - - value: Malay - description: Malay - - value: Malayalam - description: Malayalam - - value: Maltese - description: Maltese - - value: Maori - description: Maori - - value: Marathi - description: Marathi - - value: Mongolian - description: Mongolian - - value: Nepali - description: Nepali - - value: Norwegian Bokmål - description: Norwegian Bokmål - - value: Nyanja - description: Nyanja - - value: Pashto - description: Pashto - - value: Persian - description: Persian - - value: Polish - description: Polish - - value: Portuguese - description: Portuguese - - value: Punjabi - description: Punjabi - - value: Romanian - description: Romanian - - value: Russian - description: Russian - - value: Samoan - description: Samoan - - value: Scottish Gaelic - description: Scottish Gaelic - - value: Serbian - description: Serbian - - value: Shona - description: Shona - - value: Sindhi - description: Sindhi - - value: Sinhala - description: Sinhala - - value: Slovak - description: Slovak - - value: Slovenian - description: Slovenian - - value: Somali - description: Somali - - value: Southern Sotho - description: Southern Sotho - - value: Spanish - description: Spanish - - value: Spanish (Latin America) - description: Spanish (Latin America) - - value: Sundanese - description: Sundanese - - value: Swahili - description: Swahili - - value: Swedish - description: Swedish - - value: Tajik - description: Tajik - - value: Tamil - description: Tamil - - value: Telugu - description: Telugu - - value: Thai - description: Thai - - value: Turkish - description: Turkish - - value: Ukrainian - description: Ukrainian - - value: Urdu - description: Urdu - - value: Uzbek - description: Uzbek - - value: Vietnamese - description: Vietnamese - - value: Welsh - description: Welsh - - value: Western Frisian - description: Western Frisian - - value: Xhosa - description: Xhosa - - value: Yiddish - description: Yiddish - - value: Yoruba - description: Yoruba - - value: Zulu - description: Zulu - - variable: interface - label: Interface - schema: - additional_attrs: true - type: dict - attrs: - - variable: dark_mode - label: Dark Mode - description: Enable/Disable dark mode. - schema: - type: string - required: true - default: auto - enum: - - value: auto - description: Auto - - value: dark - description: Dark - - value: light - description: Light - - variable: thin_mode - label: Thin Mode - description: Enable/Disable thin mode (no video thumbnails). - schema: - type: boolean - default: false - - variable: feed_menu - label: Feed Menu - description: List of feeds available on the home page. Defaults to all. Max 4 feed items - schema: - type: list - default: [] - items: - - variable: feedEntry - label: Feed Entry - schema: - type: string - required: true - default: "" - enum: - - value: Popular - description: Popular - - value: Trending - description: Trending - - value: Subscriptions - description: Subscriptions - - value: Playlists - description: Playlists - - variable: default_home - label: Default Home - description: Default feed to display on the home page. - schema: - type: string - default: "" - enum: - - value: "" - description: None - - value: Popular - description: Popular - - value: Trending - description: Trending - - value: Subscriptions - description: Subscriptions - - value: Playlists - description: Playlists - - variable: max_results - label: Max Results - description: Default number of results to display per page. - schema: - type: int - required: true - default: 40 - - variable: annotations - label: Annotations - description: Show/hide annotations. - schema: - type: boolean - default: false - - variable: annotations_subscribed - label: Annotations Subscribed - description: Show/hide subscribed annotations. - schema: - type: boolean - default: false - - variable: comments - label: Comments - description: Type of comments to display below video. Exactly 2 Types - schema: - type: list - default: [] - items: - - variable: commentEntry - label: Comment Entry - schema: - type: string - required: true - default: "" - enum: - - value: "" - description: None - - value: youtube - description: Youtube - - value: reddit - description: Reddit - - variable: player_style - label: Player Style - description: Default player style. - schema: - type: string - required: true - default: invidious - enum: - - value: invidious - description: Invidious - - value: youtube - description: Youtube - - variable: related_videos - label: Related Videos - description: Show/Hide the "related videos" sidebar when watching a video. - schema: - type: boolean - default: true - - variable: video_player_behavior - label: Video Player Behavior - schema: - additional_attrs: true - type: dict - attrs: - - variable: autoplay - label: Autoplay - description: Automatically play videos on page load. - schema: - type: boolean - default: false - - variable: continue - label: Continue - description: Automatically load the "next" video (either next in playlist or proposed) when the current video ends. - schema: - type: boolean - default: false - - variable: continue_autoplay - label: Continue Autoplay - description: Autoplay next video by default. - schema: - type: boolean - default: true - - variable: listen - label: Listen - description: Play videos in Audio-only mode by default. - schema: - type: boolean - default: false - - variable: video_loop - label: Video Loop - description: Loop videos automatically. - schema: - type: boolean - default: false - - variable: video_playback_settings - label: Video Playback Settings - schema: - additional_attrs: true - type: dict - attrs: - - variable: quality - label: Quality - description: Default video quality. - schema: - type: string - required: true - default: hd720 - enum: - - value: hd720 - description: HD720 - - value: dash - description: Dash - - value: medium - description: Medium - - value: small - description: Small - - variable: quality_dash - label: Quality Dash - description: Default dash video quality. - schema: - type: string - show_if: [["quality", "=", "dash"]] - required: true - default: auto - enum: - - value: auto - description: Auto - - value: best - description: Best - - value: 4320p - description: 4320p - - value: 2160p - description: 2160p - - value: 1440p - description: 1440p - - value: 1080p - description: 1080p - - value: 720p - description: 720p - - value: 480p - description: 480p - - value: 480p - description: 480p - - value: 360p - description: 360p - - value: 240p - description: 240p - - value: 144p - description: 144p - - value: worst - description: Worst - - variable: speed - label: Speed - description: Default video playback speed. - schema: - type: string - required: true - valid_chars: '^[0-9]+(\.[0-9]{1,2})?$' - default: "1.00" - - variable: volume - label: Volume - description: Default volume. - schema: - type: int - min: 1 - max: 100 - required: true - default: 100 - - variable: vr_mode - label: VR Mode - description: Allow 360° videos to be played. - schema: - type: boolean - default: false - - variable: subscription_feed - label: Subscription Feed - schema: - additional_attrs: true - type: dict - attrs: - - variable: latest_only - label: Latest Only - description: In the "Subscription" feed, only show the latest video of each channel the user is subscribed to. - schema: - type: boolean - default: false - - variable: notifications_only - label: Notifications Only - description: Enable/Disable user subscriptions desktop notifications. - schema: - type: boolean - default: false - - variable: unseen_only - label: Unseen Only - description: In the "Subscription" feed, Only show the videos that the user haven't watched yet. - schema: - type: boolean - default: false - - variable: sort - label: Sort - description: Default sorting parameter for subscription feeds. - schema: - type: string - required: true - default: published - enum: - - value: alphabetically - description: Alphabetically - - value: alphabetically - reverse - description: Alphabetically - Reverse - - value: channel name - description: Channel Name - - value: channel name - reverse - description: Channel Name - Reverse - - value: published - description: Published - - value: published - reverse - description: Published - Reverse - - variable: miscellaneous - label: Miscellaneous - schema: - additional_attrs: true - type: dict - attrs: - - variable: local - label: Local - description: Proxy videos through instance by default. - schema: - type: boolean - default: false - - variable: show_nick - label: Show Nick - description: Show the connected user's nick at the top right. - schema: - type: boolean - default: true - - variable: automatic_instance_redirect - label: Automatic Instance Redirect - description: Automatically redirect to a random instance when the user uses any "switch invidious instance" link - schema: - type: boolean - default: false - - variable: extend_desc - label: Extend Description - description: Show the entire video description - schema: - type: boolean - default: false - - 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: 10594 - 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: - 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: - 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: 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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 - show_subquestions_if: true - subquestions: - - variable: entrypoint - label: (Advanced) Traefik Entrypoint - description: Entrypoint used by Traefik when using Traefik as Ingress Provider - schema: - type: string - default: websecure - required: true - - variable: ingressClassName - label: (Advanced/Optional) IngressClass Name - schema: - type: string - default: "" - - variable: tls - label: TLS-Settings - schema: - type: list - 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: - 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: - 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: - 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 - - 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/incubator/invidious/4.0.0/templates/_config.tpl b/incubator/invidious/4.0.0/templates/_config.tpl deleted file mode 100644 index 77632e1fe14..00000000000 --- a/incubator/invidious/4.0.0/templates/_config.tpl +++ /dev/null @@ -1,175 +0,0 @@ -{{/* Define the configmap */}} -{{- define "invidious.config" -}} - -{{- $vNet := .Values.invidious.network }} -{{- $vLog := .Values.invidious.logging }} -{{- $vFeat := .Values.invidious.features }} -{{- $vUserAcc := .Values.invidious.users_accounts }} -{{- $vBgJobs := .Values.invidious.background_jobs }} -{{- $vJobs := .Values.invidious.jobs }} -{{- $vCaptca := .Values.invidious.captcha }} -{{- $vMisc := .Values.invidious.miscellaneous }} -{{- $vLoc := .Values.invidious.default_user_preferences.internationalization }} -{{- $vUI := .Values.invidious.default_user_preferences.interface }} -{{- $vVidBeh := .Values.invidious.default_user_preferences.video_player_behavior }} -{{- $vVidPlay := .Values.invidious.default_user_preferences.video_playback_settings }} -{{- $vSubFeed := .Values.invidious.default_user_preferences.subscription_feed }} -{{- $vUserMisc := .Values.invidious.default_user_preferences.miscellaneous }} -enabled: true -data: - INVIDIOUS_CONFIG: | - # Database - check_tables: true - db: - user: {{ .Values.cnpg.main.user }} - dbname: {{ .Values.cnpg.main.database }} - password: {{ .Values.cnpg.main.creds.password }} - host: {{ .Values.cnpg.main.creds.host }} - port: 5432 - - # Network - host_binding: 0.0.0.0 - port: {{ .Values.service.main.ports.main.port }} - external_port: {{ $vNet.inbound.external_port }} - https_only: {{ $vNet.inbound.https_only }} - domain: {{ $vNet.inbound.domain }} - hsts: {{ $vNet.inbound.hsts }} - disable_proxy: {{ $vNet.outbound.disable_proxy }} - pool_size: {{ $vNet.outbound.pool_size }} - use_quic: {{ $vNet.outbound.use_quic }} - cookies: {{ join "; " $vNet.outbound.cookies }} - force_resolve: {{ $vNet.outbound.force_resolve }} - - # Logging - output: {{ $vLog.output }} - log_level: {{ $vLog.log_level }} - - # Features - popular_enabled: {{ $vFeat.popular_enabled }} - statistics_enabled: {{ $vFeat.statistics_enabled }} - - # Users and Accounts - registration_enabled: {{ $vUserAcc.registration_enabled }} - login_enabled: {{ $vUserAcc.login_enabled }} - captcha_enabled: {{ $vUserAcc.captcha_enabled }} - {{- if $vUserAcc.admins }} - admins: - {{- range $vUserAcc.admins }} - - {{ . }} - {{- end }} - {{- else }} - admins: [""] - {{- end }} - - # Background Jobs - channel_threads: {{ $vBgJobs.channel_threads }} - channel_refresh_interval: {{ $vBgJobs.channel_refresh_interval }} - full_refresh: {{ $vBgJobs.full_refresh }} - feed_threads: {{ $vBgJobs.feed_threads }} - decrypt_polling: {{ $vBgJobs.decrypt_polling }} - - # Jobs - jobs: - clear_expired_items: - enable: {{ $vJobs.clear_expired_items.enable }} - refresh_channels: - enable: {{ $vJobs.refresh_channels.enable }} - refresh_feeds: - enable: {{ $vJobs.refresh_feeds.enable }} - - # Captcha - captcha_api_url: {{ $vCaptca.captca_api_url }} - captcha_key: {{ $vCaptca.captca_key }} - - # Miscellaneaous - banner: {{ $vMisc.banner }} - use_pubsub_feeds: {{ $vMisc.use_pubsub_feeds }} - hmac_key: {{ $vMisc.hmac_key }} - {{- if $vMisc.dmca_content }} - dmca_content: - {{- range $vMisc.dmca_content }} - - {{ . }} - {{- end }} - {{- else }} - dmca_content: [""] - {{- end }} - cache_annotations: {{ $vMisc.cache_annotations }} - playlist_length_limit: {{ $vMisc.playlist_length_limit }} - modified_source_code_url: "" - - # Default User Preferences - default_user_preferences: - - # Internationalization - locale: {{ $vLoc.locale }} - region: {{ $vLoc.region }} - {{- with $vLoc.captions -}} - {{- if ne (len .) 3 -}} - {{- fail "Exactly 3 entries are required for Captions" -}} - {{- end }} - captions: - {{- range $c := . }} - - {{ $c }} - {{- end -}} - {{- else }} - captions: ["","",""] - {{- end }} - - # Interface - dark_mode: {{ $vUI.dark_mode }} - thin_mode: {{ $vUI.thin_mode }} - {{- with $vUI.feed_menu }} - {{- if gt (len . ) 4 -}} - {{- fail "Max 4 Feed menu items are accepted" -}} - {{- end }} - feed_menu: - {{- range $f := . }} - - {{ $f }} - {{- end -}} - {{- else }} - feed_menu: ["Popular", "Trending", "Subscriptions", "Playlists"] - {{- end }} - default_home: {{ $vUI.default_home }} - max_results: {{ $vUI.max_results }} - annotations: {{ $vUI.annotations }} - annotations_subscribed: {{ $vUI.annotations_subscribed }} - {{- with $vUI.comments }} - {{- if ne (len .) 2 -}} - {{- fail "Exactly 2 entries are required for comments" -}} - {{- end }} - comments: - {{- range $c := . }} - - {{ $c }} - {{- end }} - {{- else }} - comments: ["youtube", ""] - {{- end }} - player_style: {{ $vUI.player_style }} - related_videos: {{ $vUI.related_videos }} - - # Video Player Behaviour - autoplay: {{ $vVidBeh.autoplay }} - continue: {{ $vVidBeh.continue }} - continue_autoplay: {{ $vVidBeh.continue_autoplay }} - listen: {{ $vVidBeh.listen }} - video_loop: {{ $vVidBeh.video_loop }} - - # Video Playback Settigns - quality: {{ $vVidPlay.quality }} - quality_dash: {{ $vVidPlay.quality_dash }} - speed: {{ printf "%.2f" ($vVidPlay.speed | float64) }} - volume: {{ $vVidPlay.volume }} - vr_mode: {{ $vVidPlay.vr_mode }} - - # Subscription Feed - latest_only: {{ $vSubFeed.latest_only }} - notifications_only: {{ $vSubFeed.notifications_only }} - unseen_only: {{ $vSubFeed.unseen_only }} - sort: {{ $vSubFeed.sort }} - - # Miscellaneous - local: {{ $vUserMisc.local }} - show_nick: {{ $vUserMisc.show_nick }} - automatic_instance_redirect: {{ $vUserMisc.automatic_instance_redirect }} - extend_desc: {{ $vUserMisc.extend_desc }} -{{- end -}} diff --git a/incubator/invidious/4.0.0/templates/common.yaml b/incubator/invidious/4.0.0/templates/common.yaml deleted file mode 100644 index 572b59322e4..00000000000 --- a/incubator/invidious/4.0.0/templates/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . }} - -{{/* Render configmap for invidious */}} -{{- $configmapFile := include "invidious.config" . | fromYaml -}} -{{- if $configmapFile -}} - {{- $_ := set .Values.configmap "invidious-config" $configmapFile -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/invidious/4.0.0/values.yaml b/incubator/invidious/4.0.0/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/invidious/item.yaml b/incubator/invidious/item.yaml deleted file mode 100644 index 16f09a264c1..00000000000 --- a/incubator/invidious/item.yaml +++ /dev/null @@ -1,4 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/invidious.png -categories: -- media - diff --git a/incubator/mc-router/0.0.1/CHANGELOG.md b/incubator/mc-router/0.0.1/CHANGELOG.md deleted file mode 100644 index cb36de94da5..00000000000 --- a/incubator/mc-router/0.0.1/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [mc-router-0.0.1]mc-router-0.0.1 (2023-06-27) - diff --git a/incubator/mc-router/0.0.1/Chart.yaml b/incubator/mc-router/0.0.1/Chart.yaml deleted file mode 100644 index 08f67e2cc59..00000000000 --- a/incubator/mc-router/0.0.1/Chart.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: v2 -appVersion: "1.18.1" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.6 -deprecated: false -description: Routes Minecraft client connections to backend servers. -home: https://truecharts.org/charts/incubator/mc-router -icon: https://truecharts.org/img/hotlink-ok/chart-icons/mc-router.png -keywords: - - mc-router - - minecraft -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: mc-router -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/mc-router - - https://github.com/itzg/mc-router -type: application -version: 0.0.1 -annotations: - truecharts.org/catagories: | - - minecraft - truecharts.org/SCALE-support: "true" diff --git a/incubator/mc-router/0.0.1/README.md b/incubator/mc-router/0.0.1/README.md deleted file mode 100644 index 7e59600739c..00000000000 --- a/incubator/mc-router/0.0.1/README.md +++ /dev/null @@ -1 +0,0 @@ -# README diff --git a/incubator/mc-router/0.0.1/app-changelog.md b/incubator/mc-router/0.0.1/app-changelog.md deleted file mode 100644 index b63615c2bfb..00000000000 --- a/incubator/mc-router/0.0.1/app-changelog.md +++ /dev/null @@ -1,4 +0,0 @@ - - -## [mc-router-0.0.1]mc-router-0.0.1 (2023-06-27) - diff --git a/incubator/mc-router/0.0.1/app-readme.md b/incubator/mc-router/0.0.1/app-readme.md deleted file mode 100644 index 6c455d0de0d..00000000000 --- a/incubator/mc-router/0.0.1/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Routes Minecraft client connections to backend servers. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/mc-router](https://truecharts.org/charts/incubator/mc-router) - ---- - -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/incubator/mc-router/0.0.1/charts/common-12.14.6.tgz b/incubator/mc-router/0.0.1/charts/common-12.14.6.tgz deleted file mode 100644 index 3ba864cf35f..00000000000 Binary files a/incubator/mc-router/0.0.1/charts/common-12.14.6.tgz and /dev/null differ diff --git a/incubator/mc-router/0.0.1/ix_values.yaml b/incubator/mc-router/0.0.1/ix_values.yaml deleted file mode 100644 index 8b061508491..00000000000 --- a/incubator/mc-router/0.0.1/ix_values.yaml +++ /dev/null @@ -1,43 +0,0 @@ -image: - repository: tccr.io/truecharts/mc-router - pullPolicy: IfNotPresent - tag: v1.18.1@sha256:24c0c3e65c62a54eabf1a461ad8d0789d444f9b93c130d5720c249b703dafc23 - -service: - main: - ports: - main: - port: 25564 - minecraft: - enabled: true - ports: - minecraft: - enabled: true - port: 25565 - -mcrouter: - host_minecraft: - - "minecraft.local=localhost:25566" - -workload: - main: - podSpec: - containers: - main: - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false - envFrom: - - secretRef: - name: "secrets" - env: - API_BINDING: ":{{ .Values.service.main.ports.main.port }}" - PORT: "{{ .Values.service.minecraft.ports.minecraft.port }}" - -portal: - open: - enabled: false diff --git a/incubator/mc-router/0.0.1/questions.yaml b/incubator/mc-router/0.0.1/questions.yaml deleted file mode 100644 index 375c1e3ba66..00000000000 --- a/incubator/mc-router/0.0.1/questions.yaml +++ /dev/null @@ -1,1924 +0,0 @@ -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: {} -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: 2 - - 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: mcrouter - group: App Configuration - label: MC Router Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: host_minecraft - label: Host and Minecraft - schema: - type: list - default: [] - items: - - variable: domain_minecraft_service - label: Domain and Minecraft Service - schema: - type: string - default: "minecraft.local=localhost:25565" - valid_chars: '^([\w.-]+)=([A-Za-z0-9.-]+):(\d+)$' - 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 Minecraft Server runs on - 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: 25564 - required: true - - variable: minecraft - label: Minecraft Service - description: The Minecraft service. - 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: minecraft - label: Minecraft 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: 25565 - 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: 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 568 - # 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/incubator/mc-router/0.0.1/templates/NOTES.txt b/incubator/mc-router/0.0.1/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/mc-router/0.0.1/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/mc-router/0.0.1/templates/_secrets.tpl b/incubator/mc-router/0.0.1/templates/_secrets.tpl deleted file mode 100644 index 61883b6b82f..00000000000 --- a/incubator/mc-router/0.0.1/templates/_secrets.tpl +++ /dev/null @@ -1,8 +0,0 @@ -{{/* Define the secrets */}} -{{- define "mcrouter.secrets" -}} -{{- $mcrouter := .Values.mcrouter }} - -enabled: true -data: - MAPPING: {{ join "," $mcrouter.host_minecraft }} -{{- end -}} diff --git a/incubator/mc-router/0.0.1/templates/common.yaml b/incubator/mc-router/0.0.1/templates/common.yaml deleted file mode 100644 index 1e2918e30fc..00000000000 --- a/incubator/mc-router/0.0.1/templates/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . }} - -{{/* Render secrets for mcrouter */}} -{{- $secrets := include "mcrouter.secrets" . | fromYaml -}} -{{- if $secrets -}} - {{- $_ := set .Values.secret "secrets" $secrets -}} -{{- end -}} - -{{/* Render the templates */}} -{{ include "tc.v1.common.loader.apply" . }} diff --git a/incubator/mc-router/0.0.1/values.yaml b/incubator/mc-router/0.0.1/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/mc-router/item.yaml b/incubator/mc-router/item.yaml deleted file mode 100644 index 6bc8935e33e..00000000000 --- a/incubator/mc-router/item.yaml +++ /dev/null @@ -1,5 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/mc-router.png -categories: -- minecraft - -screenshots: [] diff --git a/incubator/nextcloud/20.0.0/CHANGELOG.md b/incubator/nextcloud/20.0.0/CHANGELOG.md deleted file mode 100644 index 0ca7d2862d2..00000000000 --- a/incubator/nextcloud/20.0.0/CHANGELOG.md +++ /dev/null @@ -1,32 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.0.0/Chart.yaml b/incubator/nextcloud/20.0.0/Chart.yaml deleted file mode 100644 index 9aa5533f5b8..00000000000 --- a/incubator/nextcloud/20.0.0/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "25.0.2" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/stable/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.0.0 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.0.0/LICENSE b/incubator/nextcloud/20.0.0/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.0.0/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.0.0/README.md b/incubator/nextcloud/20.0.0/README.md deleted file mode 100644 index 701942c352f..00000000000 --- a/incubator/nextcloud/20.0.0/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.0.0/app-changelog.md b/incubator/nextcloud/20.0.0/app-changelog.md deleted file mode 100644 index af2e9194bdc..00000000000 --- a/incubator/nextcloud/20.0.0/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.0.0/app-readme.md b/incubator/nextcloud/20.0.0/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.0.0/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.0.0/charts/common-12.14.1.tgz b/incubator/nextcloud/20.0.0/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.0.0/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.0/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.0.0/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.0.0/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.0/ix_values.yaml b/incubator/nextcloud/20.0.0/ix_values.yaml deleted file mode 100644 index 2c671d3ccd6..00000000000 --- a/incubator/nextcloud/20.0.0/ix_values.yaml +++ /dev/null @@ -1,430 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will not deploy the container - # Only add the Collabora settings - enabled: false - url: "" - allow_list: - - 0.0.0.0/0 - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.0.0/questions.yaml b/incubator/nextcloud/20.0.0/questions.yaml deleted file mode 100644 index ee111fa6708..00000000000 --- a/incubator/nextcloud/20.0.0/questions.yaml +++ /dev/null @@ -1,2608 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optiomize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: string - required: true - default: "" - schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: allow_list - label: Allow List - schema: - type: list - default: ["0.0.0.0/0"] - items: - - variable: allow_entry - label: Allow Entry - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.0.0/templates/NOTES.txt b/incubator/nextcloud/20.0.0/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.0.0/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.0.0/templates/_configmap.tpl b/incubator/nextcloud/20.0.0/templates/_configmap.tpl deleted file mode 100644 index e23c7b4c210..00000000000 --- a/incubator/nextcloud/20.0.0/templates/_configmap.tpl +++ /dev/null @@ -1,387 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $urlNoProtocol := regexReplaceAll ".*://(.*)" .Values.chartContext.APPURL "${1}" -}} -{{- $protocolOnly := regexReplaceAll "(.*)://.*" .Values.chartContext.APPURL "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end }} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - {{- $endpoint := .Values.chartContext.APPURL -}} - {{- if or (contains "127.0.0.1" $endpoint) (contains "localhost" $endpoint) -}} - {{- $endpoint = printf "http://%v:%v" $fullname .Values.service.main.ports.main.port -}} - {{- end }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $endpoint }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }} - {{- end }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }} - NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }} - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $urlNoProtocol }} - NX_OVERWRITE_CLI_URL: {{ .Values.chartContext.APPURL }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $protocolOnly | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if ne $urlNoProtocol "127.0.0.1" }} - {{- $urlNoProtocol | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.0.0/templates/_cronjobs.tpl b/incubator/nextcloud/20.0.0/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.0.0/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.0.0/templates/_initPerms.tpl b/incubator/nextcloud/20.0.0/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.0.0/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.0.0/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.0.0/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.0.0/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.0.0/templates/common.yaml b/incubator/nextcloud/20.0.0/templates/common.yaml deleted file mode 100644 index d1383651f41..00000000000 --- a/incubator/nextcloud/20.0.0/templates/common.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.0.0/values.yaml b/incubator/nextcloud/20.0.0/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.0.1/CHANGELOG.md b/incubator/nextcloud/20.0.1/CHANGELOG.md deleted file mode 100644 index 9993eb129de..00000000000 --- a/incubator/nextcloud/20.0.1/CHANGELOG.md +++ /dev/null @@ -1,41 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.0.1/Chart.yaml b/incubator/nextcloud/20.0.1/Chart.yaml deleted file mode 100644 index dce908277b5..00000000000 --- a/incubator/nextcloud/20.0.1/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.0.1 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.0.1/LICENSE b/incubator/nextcloud/20.0.1/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.0.1/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.0.1/README.md b/incubator/nextcloud/20.0.1/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.0.1/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.0.1/app-changelog.md b/incubator/nextcloud/20.0.1/app-changelog.md deleted file mode 100644 index e13d5b2496c..00000000000 --- a/incubator/nextcloud/20.0.1/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.0.1/app-readme.md b/incubator/nextcloud/20.0.1/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.0.1/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.0.1/charts/common-12.14.1.tgz b/incubator/nextcloud/20.0.1/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.0.1/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.1/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.0.1/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.0.1/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.1/ix_values.yaml b/incubator/nextcloud/20.0.1/ix_values.yaml deleted file mode 100644 index 2c671d3ccd6..00000000000 --- a/incubator/nextcloud/20.0.1/ix_values.yaml +++ /dev/null @@ -1,430 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will not deploy the container - # Only add the Collabora settings - enabled: false - url: "" - allow_list: - - 0.0.0.0/0 - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.0.1/questions.yaml b/incubator/nextcloud/20.0.1/questions.yaml deleted file mode 100644 index ee430d79be8..00000000000 --- a/incubator/nextcloud/20.0.1/questions.yaml +++ /dev/null @@ -1,2604 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: allow_list - label: Allow List - schema: - type: list - default: ["0.0.0.0/0"] - items: - - variable: allow_entry - label: Allow Entry - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.0.1/templates/NOTES.txt b/incubator/nextcloud/20.0.1/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.0.1/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.0.1/templates/_configmap.tpl b/incubator/nextcloud/20.0.1/templates/_configmap.tpl deleted file mode 100644 index 5502964f450..00000000000 --- a/incubator/nextcloud/20.0.1/templates/_configmap.tpl +++ /dev/null @@ -1,396 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end }} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }} - {{- end }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }} - NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }} - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHostPort) }} - {{- $accessHostPort | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.0.1/templates/_cronjobs.tpl b/incubator/nextcloud/20.0.1/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.0.1/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.0.1/templates/_initPerms.tpl b/incubator/nextcloud/20.0.1/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.0.1/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.0.1/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.0.1/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.0.1/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.0.1/templates/common.yaml b/incubator/nextcloud/20.0.1/templates/common.yaml deleted file mode 100644 index d1383651f41..00000000000 --- a/incubator/nextcloud/20.0.1/templates/common.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.0.1/values.yaml b/incubator/nextcloud/20.0.1/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.0.2/CHANGELOG.md b/incubator/nextcloud/20.0.2/CHANGELOG.md deleted file mode 100644 index ee92715490c..00000000000 --- a/incubator/nextcloud/20.0.2/CHANGELOG.md +++ /dev/null @@ -1,50 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.0.2/Chart.yaml b/incubator/nextcloud/20.0.2/Chart.yaml deleted file mode 100644 index 3e1fca5b7a3..00000000000 --- a/incubator/nextcloud/20.0.2/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.0.2 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.0.2/LICENSE b/incubator/nextcloud/20.0.2/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.0.2/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.0.2/README.md b/incubator/nextcloud/20.0.2/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.0.2/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.0.2/app-changelog.md b/incubator/nextcloud/20.0.2/app-changelog.md deleted file mode 100644 index 95752ba7d08..00000000000 --- a/incubator/nextcloud/20.0.2/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.0.2/app-readme.md b/incubator/nextcloud/20.0.2/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.0.2/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.0.2/charts/common-12.14.1.tgz b/incubator/nextcloud/20.0.2/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.0.2/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.2/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.0.2/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.0.2/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.2/ix_values.yaml b/incubator/nextcloud/20.0.2/ix_values.yaml deleted file mode 100644 index 2c671d3ccd6..00000000000 --- a/incubator/nextcloud/20.0.2/ix_values.yaml +++ /dev/null @@ -1,430 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will not deploy the container - # Only add the Collabora settings - enabled: false - url: "" - allow_list: - - 0.0.0.0/0 - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.0.2/questions.yaml b/incubator/nextcloud/20.0.2/questions.yaml deleted file mode 100644 index a21cd73a028..00000000000 --- a/incubator/nextcloud/20.0.2/questions.yaml +++ /dev/null @@ -1,2605 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: allow_list - label: Allow List - schema: - type: list - default: - - "0.0.0.0/0" - items: - - variable: allow_entry - label: Allow Entry - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.0.2/templates/NOTES.txt b/incubator/nextcloud/20.0.2/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.0.2/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.0.2/templates/_configmap.tpl b/incubator/nextcloud/20.0.2/templates/_configmap.tpl deleted file mode 100644 index 0132c1636c4..00000000000 --- a/incubator/nextcloud/20.0.2/templates/_configmap.tpl +++ /dev/null @@ -1,399 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end }} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }} - {{- end }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }} - NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }} - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.0.2/templates/_cronjobs.tpl b/incubator/nextcloud/20.0.2/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.0.2/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.0.2/templates/_initPerms.tpl b/incubator/nextcloud/20.0.2/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.0.2/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.0.2/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.0.2/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.0.2/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.0.2/templates/common.yaml b/incubator/nextcloud/20.0.2/templates/common.yaml deleted file mode 100644 index d1383651f41..00000000000 --- a/incubator/nextcloud/20.0.2/templates/common.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.0.2/values.yaml b/incubator/nextcloud/20.0.2/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.0.3/CHANGELOG.md b/incubator/nextcloud/20.0.3/CHANGELOG.md deleted file mode 100644 index d96d9bcafb1..00000000000 --- a/incubator/nextcloud/20.0.3/CHANGELOG.md +++ /dev/null @@ -1,59 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.0.3/Chart.yaml b/incubator/nextcloud/20.0.3/Chart.yaml deleted file mode 100644 index 9119b808aa6..00000000000 --- a/incubator/nextcloud/20.0.3/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.0.3 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.0.3/LICENSE b/incubator/nextcloud/20.0.3/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.0.3/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.0.3/README.md b/incubator/nextcloud/20.0.3/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.0.3/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.0.3/app-changelog.md b/incubator/nextcloud/20.0.3/app-changelog.md deleted file mode 100644 index f4ef5ab5cfd..00000000000 --- a/incubator/nextcloud/20.0.3/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.0.3/app-readme.md b/incubator/nextcloud/20.0.3/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.0.3/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.0.3/charts/common-12.14.1.tgz b/incubator/nextcloud/20.0.3/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.0.3/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.3/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.0.3/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.0.3/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.3/ix_values.yaml b/incubator/nextcloud/20.0.3/ix_values.yaml deleted file mode 100644 index 2c671d3ccd6..00000000000 --- a/incubator/nextcloud/20.0.3/ix_values.yaml +++ /dev/null @@ -1,430 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will not deploy the container - # Only add the Collabora settings - enabled: false - url: "" - allow_list: - - 0.0.0.0/0 - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.0.3/questions.yaml b/incubator/nextcloud/20.0.3/questions.yaml deleted file mode 100644 index a21cd73a028..00000000000 --- a/incubator/nextcloud/20.0.3/questions.yaml +++ /dev/null @@ -1,2605 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: allow_list - label: Allow List - schema: - type: list - default: - - "0.0.0.0/0" - items: - - variable: allow_entry - label: Allow Entry - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.0.3/templates/NOTES.txt b/incubator/nextcloud/20.0.3/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.0.3/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.0.3/templates/_configmap.tpl b/incubator/nextcloud/20.0.3/templates/_configmap.tpl deleted file mode 100644 index c3a97b6c24b..00000000000 --- a/incubator/nextcloud/20.0.3/templates/_configmap.tpl +++ /dev/null @@ -1,400 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end }} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }} - {{- end }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }} - NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }} - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.podCIDR }} - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.0.3/templates/_cronjobs.tpl b/incubator/nextcloud/20.0.3/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.0.3/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.0.3/templates/_initPerms.tpl b/incubator/nextcloud/20.0.3/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.0.3/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.0.3/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.0.3/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.0.3/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.0.3/templates/common.yaml b/incubator/nextcloud/20.0.3/templates/common.yaml deleted file mode 100644 index d1383651f41..00000000000 --- a/incubator/nextcloud/20.0.3/templates/common.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.0.3/values.yaml b/incubator/nextcloud/20.0.3/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.0.4/CHANGELOG.md b/incubator/nextcloud/20.0.4/CHANGELOG.md deleted file mode 100644 index cf091b3188e..00000000000 --- a/incubator/nextcloud/20.0.4/CHANGELOG.md +++ /dev/null @@ -1,68 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.0.4](https://github.com/truecharts/charts/compare/nextcloud-20.0.3...nextcloud-20.0.4) (2023-06-17) - -### Chore - -- default collabora to false ([#9739](https://github.com/truecharts/charts/issues/9739)) - - - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.0.4/Chart.yaml b/incubator/nextcloud/20.0.4/Chart.yaml deleted file mode 100644 index f92d465fdf3..00000000000 --- a/incubator/nextcloud/20.0.4/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.0.4 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.0.4/LICENSE b/incubator/nextcloud/20.0.4/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.0.4/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.0.4/README.md b/incubator/nextcloud/20.0.4/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.0.4/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.0.4/app-changelog.md b/incubator/nextcloud/20.0.4/app-changelog.md deleted file mode 100644 index 48f70acc0b4..00000000000 --- a/incubator/nextcloud/20.0.4/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.0.4](https://github.com/truecharts/charts/compare/nextcloud-20.0.3...nextcloud-20.0.4) (2023-06-17) - -### Chore - -- default collabora to false ([#9739](https://github.com/truecharts/charts/issues/9739)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.0.4/app-readme.md b/incubator/nextcloud/20.0.4/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.0.4/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.0.4/charts/common-12.14.1.tgz b/incubator/nextcloud/20.0.4/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.0.4/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.4/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.0.4/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.0.4/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.0.4/ix_values.yaml b/incubator/nextcloud/20.0.4/ix_values.yaml deleted file mode 100644 index 2c671d3ccd6..00000000000 --- a/incubator/nextcloud/20.0.4/ix_values.yaml +++ /dev/null @@ -1,430 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will not deploy the container - # Only add the Collabora settings - enabled: false - url: "" - allow_list: - - 0.0.0.0/0 - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.0.4/questions.yaml b/incubator/nextcloud/20.0.4/questions.yaml deleted file mode 100644 index 8ae249479d6..00000000000 --- a/incubator/nextcloud/20.0.4/questions.yaml +++ /dev/null @@ -1,2605 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: allow_list - label: Allow List - schema: - type: list - default: - - "0.0.0.0/0" - items: - - variable: allow_entry - label: Allow Entry - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.0.4/templates/NOTES.txt b/incubator/nextcloud/20.0.4/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.0.4/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.0.4/templates/_configmap.tpl b/incubator/nextcloud/20.0.4/templates/_configmap.tpl deleted file mode 100644 index c3a97b6c24b..00000000000 --- a/incubator/nextcloud/20.0.4/templates/_configmap.tpl +++ /dev/null @@ -1,400 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end }} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }} - {{- end }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }} - NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }} - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.podCIDR }} - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.0.4/templates/_cronjobs.tpl b/incubator/nextcloud/20.0.4/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.0.4/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.0.4/templates/_initPerms.tpl b/incubator/nextcloud/20.0.4/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.0.4/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.0.4/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.0.4/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.0.4/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.0.4/templates/common.yaml b/incubator/nextcloud/20.0.4/templates/common.yaml deleted file mode 100644 index d1383651f41..00000000000 --- a/incubator/nextcloud/20.0.4/templates/common.yaml +++ /dev/null @@ -1,57 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.0.4/values.yaml b/incubator/nextcloud/20.0.4/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.1.0/CHANGELOG.md b/incubator/nextcloud/20.1.0/CHANGELOG.md deleted file mode 100644 index 1186560f770..00000000000 --- a/incubator/nextcloud/20.1.0/CHANGELOG.md +++ /dev/null @@ -1,77 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.1.0](https://github.com/truecharts/charts/compare/nextcloud-20.0.4...nextcloud-20.1.0) (2023-06-18) - -### Feat - -- add collabora pod ([#9744](https://github.com/truecharts/charts/issues/9744)) - - - - -## [nextcloud-20.0.4](https://github.com/truecharts/charts/compare/nextcloud-20.0.3...nextcloud-20.0.4) (2023-06-17) - -### Chore - -- default collabora to false ([#9739](https://github.com/truecharts/charts/issues/9739)) - - - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.1.0/Chart.yaml b/incubator/nextcloud/20.1.0/Chart.yaml deleted file mode 100644 index fead7bf93f2..00000000000 --- a/incubator/nextcloud/20.1.0/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.1.0 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.1.0/LICENSE b/incubator/nextcloud/20.1.0/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.1.0/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.1.0/README.md b/incubator/nextcloud/20.1.0/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.1.0/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.1.0/app-changelog.md b/incubator/nextcloud/20.1.0/app-changelog.md deleted file mode 100644 index 26737cb7f45..00000000000 --- a/incubator/nextcloud/20.1.0/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.1.0](https://github.com/truecharts/charts/compare/nextcloud-20.0.4...nextcloud-20.1.0) (2023-06-18) - -### Feat - -- add collabora pod ([#9744](https://github.com/truecharts/charts/issues/9744)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.1.0/app-readme.md b/incubator/nextcloud/20.1.0/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.1.0/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.1.0/charts/common-12.14.1.tgz b/incubator/nextcloud/20.1.0/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.1.0/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.0/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.1.0/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.1.0/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.0/ix_values.yaml b/incubator/nextcloud/20.1.0/ix_values.yaml deleted file mode 100644 index b093492a2ee..00000000000 --- a/incubator/nextcloud/20.1.0/ix_values.yaml +++ /dev/null @@ -1,488 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 -collaboraImage: - repository: tccr.io/truecharts/collabora - pullPolicy: IfNotPresent - tag: v23.05.0.5.1@sha256:a753bfe9d5479e992e914f5818bc96f33ff95dd3760cb10938ae2296286c416e - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will also deploy the container - enabled: false - # default|compact|tabbed - interface_mode: default - username: admin - password: changeme - dictionaries: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - collabora: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - collabora: - primary: true - enabled: true - imageSelector: collaboraImage - # TODO: Check how low we can go - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: collabora-config - probes: - readiness: - enabled: true - type: http - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - liveness: - enabled: true - type: http - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - collabora: - enabled: true - targetSelector: collabora - ports: - collabora: - enabled: true - port: 9980 - targetPort: 9980 - targetSelector: collabora - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.1.0/questions.yaml b/incubator/nextcloud/20.1.0/questions.yaml deleted file mode 100644 index 41fdd7b4c6c..00000000000 --- a/incubator/nextcloud/20.1.0/questions.yaml +++ /dev/null @@ -1,2636 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- It will also deploy the needed container.
- Keep in mind that this will run as root. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: interface_mode - label: Interface Mode - schema: - type: string - required: true - default: default - enum: - - value: default - description: Default - - value: compact - description: Compact - - value: tabbed - description: Tabbed - - variable: username - label: Username - schema: - type: string - default: admin - required: true - - variable: password - label: Password - schema: - type: string - default: "" - required: true - - variable: dictionaries - label: Dictionaries - schema: - type: list - empty: false - required: true - default: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - items: - - variable: dictionary - label: Dictionary - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.1.0/templates/NOTES.txt b/incubator/nextcloud/20.1.0/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.1.0/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.1.0/templates/_configmap.tpl b/incubator/nextcloud/20.1.0/templates/_configmap.tpl deleted file mode 100644 index 527df08a216..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_configmap.tpl +++ /dev/null @@ -1,412 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -collabora-config: - enabled: {{ .Values.nextcloud.collabora.enabled }} - data: - aliasgroup1: {{ $accessUrl }} - server_name: {{ $accessHostPort }} - dictionaries: {{ join " " .Values.nextcloud.collabora.dictionaries }} - username: {{ .Values.nextcloud.collabora.username | quote }} - password: {{ .Values.nextcloud.collabora.password | quote }} - DONT_GEN_SSL_CERT: "true" - # mount_jail_tree is only used for local storage - # not needed for WOPI https://github.com/CollaboraOnline/online/issues/3604#issuecomment-989833814 - extra_params: | - --o:ssl.enable=false - --o:ssl.termination=true - --o:net.service_root=/collabora - --o:home_mode.enable=true - --o:welcome.enable=false - --o:logging.level=warning - --o:logging.level_startup=warning - --o:security.seccomp=true - --o:mount_jail_tree=false - --o:user_interface.mode={{ .Values.nextcloud.collabora.user_interface_mode }} - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ printf "%v/collabora" $accessUrl | quote }} - # Ideally this would be a combo of: public ip, pod cidr, svc cidr - # But not always people have static IP. - NX_COLLABORA_ALLOWLIST: "0.0.0.0/0" - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.podCIDR }} - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/_cronjobs.tpl b/incubator/nextcloud/20.1.0/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/_ingressInjector.tpl b/incubator/nextcloud/20.1.0/templates/_ingressInjector.tpl deleted file mode 100644 index d1b92b45071..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_ingressInjector.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{- define "nextcloud.ingressInjector" -}} - {{- if .Values.ingress.main.enabled -}} - {{- $injectPaths := list -}} - {{- if .Values.nextcloud.collabora.enabled -}} - {{- $injectPaths = $injectPaths mustAppend (include "nextcloud.collabora.ingress" $ | fromYaml) -}} - {{- end -}} - {{/* Append more paths here if needed */}} - - {{- range $host := .Values.ingress.main.hosts -}} - {{- $paths := $host.paths -}} - {{- $paths = concat $paths $injectPaths -}} - {{- $_ := set $host "paths" $paths -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{- define "nextcloud.collabora.ingress" -}} -{{- $fullname := include "tc.v1.common.lib.chart.names.fullname" . }} -path: /collabora -pathType: Prefix -service: - name: {{ printf "%v-collabora" $fullname }} - port: {{ .Values.service.collabora.ports.collabora.port }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/_initPerms.tpl b/incubator/nextcloud/20.1.0/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/_validation.tpl b/incubator/nextcloud/20.1.0/templates/_validation.tpl deleted file mode 100644 index 0b8aa4cf532..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_validation.tpl +++ /dev/null @@ -1,38 +0,0 @@ -{{- define "nextcloud.validation" -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end -}} - - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) -}} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) -}} - {{- end -}} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end -}} - - {{- if contains "$" .Values.nextcloud.collabora.password -}} - {{- fail "Nextcloud - Collabora [Password] cannot contain [$]" -}} - {{- end -}} - - {{- if .Values.nextcloud.collabora.enabled -}} - {{- if lt (len .Values.nextcloud.collabora.password) 8 -}} - {{- fail "Nextcloud - Collabora [Password] must be at least 8 characters" -}} - {{- end -}} - - {{- $collaboraUIModes := (list "default" "compact" "tabbed") -}} - {{- if not (mustHas .Values.nextcloud.collabora.interface_mode $collaboraUIModes) -}} - {{- fail (printf "Nextcloud - Expected [Interface Mode] in Collabora to be one of [%v], but got [%v]" (join "," $collaboraUIModes) .Values.nextcloud.collabora.interface_mode) -}} - {{- end -}} - - {{- if not .Values.nextcloud.collabora.dictionaries -}} - {{- fail "Nextcloud - Expected non-empty Collabora [Dictionaries]" -}} - {{- end -}} - {{- end -}} - -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.1.0/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.1.0/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.1.0/templates/common.yaml b/incubator/nextcloud/20.1.0/templates/common.yaml deleted file mode 100644 index 22ed3e0e564..00000000000 --- a/incubator/nextcloud/20.1.0/templates/common.yaml +++ /dev/null @@ -1,68 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{- include "nextcloud.validation" $ -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Disable [collabora] if requested */}} -{{- if not .Values.nextcloud.collabora.enabled -}} - {{- $_ := set .Values.workload.collabora "enabled" false -}} - {{- $_ := set .Values.service.collabora "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* TODO: Do we have to cleanup when something (eg Collabora) is disabled? */}} -{{- include "nextcloud.ingressInjector" $ -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.1.0/values.yaml b/incubator/nextcloud/20.1.0/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.1.1/CHANGELOG.md b/incubator/nextcloud/20.1.1/CHANGELOG.md deleted file mode 100644 index dd0fa4732a9..00000000000 --- a/incubator/nextcloud/20.1.1/CHANGELOG.md +++ /dev/null @@ -1,86 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.1.1](https://github.com/truecharts/charts/compare/nextcloud-20.1.0...nextcloud-20.1.1) (2023-06-21) - -### Fix - -- correct user for collabora ([#9748](https://github.com/truecharts/charts/issues/9748)) - - - - -## [nextcloud-20.1.0](https://github.com/truecharts/charts/compare/nextcloud-20.0.4...nextcloud-20.1.0) (2023-06-18) - -### Feat - -- add collabora pod ([#9744](https://github.com/truecharts/charts/issues/9744)) - - - - -## [nextcloud-20.0.4](https://github.com/truecharts/charts/compare/nextcloud-20.0.3...nextcloud-20.0.4) (2023-06-17) - -### Chore - -- default collabora to false ([#9739](https://github.com/truecharts/charts/issues/9739)) - - - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.1.1/Chart.yaml b/incubator/nextcloud/20.1.1/Chart.yaml deleted file mode 100644 index 5d158f8c030..00000000000 --- a/incubator/nextcloud/20.1.1/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.1.1 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.1.1/LICENSE b/incubator/nextcloud/20.1.1/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.1.1/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.1.1/README.md b/incubator/nextcloud/20.1.1/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.1.1/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.1.1/app-changelog.md b/incubator/nextcloud/20.1.1/app-changelog.md deleted file mode 100644 index eb700537aae..00000000000 --- a/incubator/nextcloud/20.1.1/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.1.1](https://github.com/truecharts/charts/compare/nextcloud-20.1.0...nextcloud-20.1.1) (2023-06-21) - -### Fix - -- correct user for collabora ([#9748](https://github.com/truecharts/charts/issues/9748)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.1.1/app-readme.md b/incubator/nextcloud/20.1.1/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.1.1/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.1.1/charts/common-12.14.1.tgz b/incubator/nextcloud/20.1.1/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.1.1/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.1/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.1.1/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.1.1/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.1/ix_values.yaml b/incubator/nextcloud/20.1.1/ix_values.yaml deleted file mode 100644 index c08b980a662..00000000000 --- a/incubator/nextcloud/20.1.1/ix_values.yaml +++ /dev/null @@ -1,495 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 -collaboraImage: - repository: tccr.io/truecharts/collabora - pullPolicy: IfNotPresent - tag: v23.05.0.5.1@sha256:a753bfe9d5479e992e914f5818bc96f33ff95dd3760cb10938ae2296286c416e - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will also deploy the container - enabled: false - # default|compact|tabbed - interface_mode: default - username: admin - password: changeme - dictionaries: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - collabora: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - collabora: - primary: true - enabled: true - imageSelector: collaboraImage - securityContext: - runAsUser: 100 - runAsGroup: 102 - readOnlyRootFilesystem: false - allowPrivilegeEscalation: true - capabilities: - add: - - CHOWN - - FOWNER - - SYS_CHROOT - - MKNOD - envFrom: - - configMapRef: - name: collabora-config - probes: - readiness: - enabled: true - type: http - path: /collabora/ - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - liveness: - enabled: true - type: http - path: /collabora/ - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - collabora: - enabled: true - targetSelector: collabora - ports: - collabora: - enabled: true - port: 9980 - targetPort: 9980 - targetSelector: collabora - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.1.1/questions.yaml b/incubator/nextcloud/20.1.1/questions.yaml deleted file mode 100644 index 41fdd7b4c6c..00000000000 --- a/incubator/nextcloud/20.1.1/questions.yaml +++ /dev/null @@ -1,2636 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- It will also deploy the needed container.
- Keep in mind that this will run as root. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: interface_mode - label: Interface Mode - schema: - type: string - required: true - default: default - enum: - - value: default - description: Default - - value: compact - description: Compact - - value: tabbed - description: Tabbed - - variable: username - label: Username - schema: - type: string - default: admin - required: true - - variable: password - label: Password - schema: - type: string - default: "" - required: true - - variable: dictionaries - label: Dictionaries - schema: - type: list - empty: false - required: true - default: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - items: - - variable: dictionary - label: Dictionary - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.1.1/templates/NOTES.txt b/incubator/nextcloud/20.1.1/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.1.1/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.1.1/templates/_configmap.tpl b/incubator/nextcloud/20.1.1/templates/_configmap.tpl deleted file mode 100644 index 527df08a216..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_configmap.tpl +++ /dev/null @@ -1,412 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -collabora-config: - enabled: {{ .Values.nextcloud.collabora.enabled }} - data: - aliasgroup1: {{ $accessUrl }} - server_name: {{ $accessHostPort }} - dictionaries: {{ join " " .Values.nextcloud.collabora.dictionaries }} - username: {{ .Values.nextcloud.collabora.username | quote }} - password: {{ .Values.nextcloud.collabora.password | quote }} - DONT_GEN_SSL_CERT: "true" - # mount_jail_tree is only used for local storage - # not needed for WOPI https://github.com/CollaboraOnline/online/issues/3604#issuecomment-989833814 - extra_params: | - --o:ssl.enable=false - --o:ssl.termination=true - --o:net.service_root=/collabora - --o:home_mode.enable=true - --o:welcome.enable=false - --o:logging.level=warning - --o:logging.level_startup=warning - --o:security.seccomp=true - --o:mount_jail_tree=false - --o:user_interface.mode={{ .Values.nextcloud.collabora.user_interface_mode }} - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ printf "%v/collabora" $accessUrl | quote }} - # Ideally this would be a combo of: public ip, pod cidr, svc cidr - # But not always people have static IP. - NX_COLLABORA_ALLOWLIST: "0.0.0.0/0" - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.podCIDR }} - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/_cronjobs.tpl b/incubator/nextcloud/20.1.1/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/_ingressInjector.tpl b/incubator/nextcloud/20.1.1/templates/_ingressInjector.tpl deleted file mode 100644 index d3c46d4d6c3..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_ingressInjector.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{- define "nextcloud.ingressInjector" -}} - {{- if .Values.ingress.main.enabled -}} - {{- $injectPaths := list -}} - {{- if .Values.nextcloud.collabora.enabled -}} - {{- $injectPaths = $injectPaths mustAppend (include "nextcloud.collabora.ingress" $ | fromYaml) -}} - {{- end -}} - {{/* Append more paths here if needed */}} - - {{- range $host := .Values.ingress.main.hosts -}} - {{- $paths := $host.paths -}} - {{- $paths = concat $paths $injectPaths -}} - {{- $_ := set $host "paths" $paths -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{- define "nextcloud.collabora.ingress" -}} -{{- $fullname := include "tc.v1.common.lib.chart.names.fullname" . }} -path: /collabora/ -pathType: Prefix -service: - name: {{ printf "%v-collabora" $fullname }} - port: {{ .Values.service.collabora.ports.collabora.port }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/_initPerms.tpl b/incubator/nextcloud/20.1.1/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/_validation.tpl b/incubator/nextcloud/20.1.1/templates/_validation.tpl deleted file mode 100644 index 5650c0f63fe..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_validation.tpl +++ /dev/null @@ -1,42 +0,0 @@ -{{- define "nextcloud.validation" -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end -}} - - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) -}} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) -}} - {{- end -}} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end -}} - - {{- if contains "$" .Values.nextcloud.collabora.password -}} - {{- fail "Nextcloud - Collabora [Password] cannot contain [$]" -}} - {{- end -}} - - {{- if .Values.nextcloud.collabora.enabled -}} - {{- if lt (len .Values.nextcloud.collabora.password) 8 -}} - {{- fail "Nextcloud - Collabora [Password] must be at least 8 characters" -}} - {{- end -}} - - {{- $collaboraUIModes := (list "default" "compact" "tabbed") -}} - {{- if not (mustHas .Values.nextcloud.collabora.interface_mode $collaboraUIModes) -}} - {{- fail (printf "Nextcloud - Expected [Interface Mode] in Collabora to be one of [%v], but got [%v]" (join "," $collaboraUIModes) .Values.nextcloud.collabora.interface_mode) -}} - {{- end -}} - - {{- if not .Values.nextcloud.collabora.dictionaries -}} - {{- fail "Nextcloud - Expected non-empty Collabora [Dictionaries]" -}} - {{- end -}} - - {{- if not (deepEqual .Values.nextcloud.collabora.dictionaries (uniq .Values.nextcloud.collabora.dictionaries)) -}} - {{- fail "Nextcloud - Collabora [Dictionaries] must be unique" -}} - {{- end -}} - {{- end -}} - -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.1.1/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.1.1/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.1.1/templates/common.yaml b/incubator/nextcloud/20.1.1/templates/common.yaml deleted file mode 100644 index 22ed3e0e564..00000000000 --- a/incubator/nextcloud/20.1.1/templates/common.yaml +++ /dev/null @@ -1,68 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{- include "nextcloud.validation" $ -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Disable [collabora] if requested */}} -{{- if not .Values.nextcloud.collabora.enabled -}} - {{- $_ := set .Values.workload.collabora "enabled" false -}} - {{- $_ := set .Values.service.collabora "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* TODO: Do we have to cleanup when something (eg Collabora) is disabled? */}} -{{- include "nextcloud.ingressInjector" $ -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.1.1/values.yaml b/incubator/nextcloud/20.1.1/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/20.1.2/CHANGELOG.md b/incubator/nextcloud/20.1.2/CHANGELOG.md deleted file mode 100644 index a1d3674cd8c..00000000000 --- a/incubator/nextcloud/20.1.2/CHANGELOG.md +++ /dev/null @@ -1,95 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [nextcloud-20.1.2](https://github.com/truecharts/charts/compare/nextcloud-20.1.1...nextcloud-20.1.2) (2023-06-21) - -### Fix - -- fix ingress path injection ([#9815](https://github.com/truecharts/charts/issues/9815)) - - - - -## [nextcloud-20.1.1](https://github.com/truecharts/charts/compare/nextcloud-20.1.0...nextcloud-20.1.1) (2023-06-21) - -### Fix - -- correct user for collabora ([#9748](https://github.com/truecharts/charts/issues/9748)) - - - - -## [nextcloud-20.1.0](https://github.com/truecharts/charts/compare/nextcloud-20.0.4...nextcloud-20.1.0) (2023-06-18) - -### Feat - -- add collabora pod ([#9744](https://github.com/truecharts/charts/issues/9744)) - - - - -## [nextcloud-20.0.4](https://github.com/truecharts/charts/compare/nextcloud-20.0.3...nextcloud-20.0.4) (2023-06-17) - -### Chore - -- default collabora to false ([#9739](https://github.com/truecharts/charts/issues/9739)) - - - - -## [nextcloud-20.0.3](https://github.com/truecharts/charts/compare/nextcloud-20.0.2...nextcloud-20.0.3) (2023-06-17) - -### Fix - -- also add cluster cidr to trusted proxies ([#9735](https://github.com/truecharts/charts/issues/9735)) - - - - -## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17) - -### Fix - -- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731)) - - - - -## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17) - -### Fix - -- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16) - -### Feat - -- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169)) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - - - - -## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24) - diff --git a/incubator/nextcloud/20.1.2/Chart.yaml b/incubator/nextcloud/20.1.2/Chart.yaml deleted file mode 100644 index 811b54c6a89..00000000000 --- a/incubator/nextcloud/20.1.2/Chart.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: v2 -appVersion: "2.0.0" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 12.14.1 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 6.0.48 -deprecated: false -description: A private cloud server that puts the control and security of your own data back into your hands. -home: https://truecharts.org/charts/incubator/nextcloud -icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -keywords: - - nextcloud - - storage - - http - - web - - php -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: nextcloud -sources: - - https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud - - https://github.com/nextcloud/docker - - https://github.com/nextcloud/helm -type: application -version: 20.1.2 -annotations: - truecharts.org/catagories: | - - cloud - truecharts.org/SCALE-support: "true" diff --git a/incubator/nextcloud/20.1.2/LICENSE b/incubator/nextcloud/20.1.2/LICENSE deleted file mode 100644 index 33a8cbb23f0..00000000000 --- a/incubator/nextcloud/20.1.2/LICENSE +++ /dev/null @@ -1,106 +0,0 @@ -Business Source License 1.1 - -Parameters - -Licensor: The TrueCharts Project, it's owner and it's contributors -Licensed Work: The TrueCharts "Blocky" Helm Chart -Additional Use Grant: You may use the licensed work in production, as long - as it is directly sourced from a TrueCharts provided - official repository, catalog or source. You may also make private - modification to the directly sourced licenced work, - when used in production. - - The following cases are, due to their nature, also - defined as 'production use' and explicitly prohibited: - - Bundling, including or displaying the licensed work - with(in) another work intended for production use, - with the apparent intend of facilitating and/or - promoting production use by third parties in - violation of this license. - -Change Date: 2050-01-01 - -Change License: 3-clause BSD license - -For information about alternative licensing arrangements for the Software, -please contact: legal@truecharts.org - -Notice - -The Business Source License (this document, or the “License”) is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - -License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. -“Business Source License” is a trademark of MariaDB Corporation Ab. - ------------------------------------------------------------------------------ - -Business Source License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. - -MariaDB hereby grants you permission to use this License’s text to license -your works, and to refer to it using the trademark “Business Source License”, -as long as you comply with the Covenants of Licensor below. - -Covenants of Licensor - -In consideration of the right to use this License’s text and the “Business -Source License” name and trademark, Licensor covenants to MariaDB, and to all -other recipients of the licensed work to be provided by Licensor: - -1. To specify as the Change License the GPL Version 2.0 or any later version, - or a license that is compatible with GPL Version 2.0 or a later version, - where “compatible” means that software provided under the Change License can - be included in a program with software provided under GPL Version 2.0 or a - later version. Licensor may specify additional Change Licenses without - limitation. - -2. To either: (a) specify an additional grant of rights to use that does not - impose any additional restriction on the right granted in this License, as - the Additional Use Grant; or (b) insert the text “None”. - -3. To specify a Change Date. - -4. Not to modify this License in any other way. diff --git a/incubator/nextcloud/20.1.2/README.md b/incubator/nextcloud/20.1.2/README.md deleted file mode 100644 index 63d5d2c8fdc..00000000000 --- a/incubator/nextcloud/20.1.2/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# README - -## General Info - -TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. -However only installations using the TrueNAS SCALE Apps system are supported. - -For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/) - -**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%20Apps/Important-MUST-READ). -- 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/incubator/nextcloud/20.1.2/app-changelog.md b/incubator/nextcloud/20.1.2/app-changelog.md deleted file mode 100644 index b001b25f8dc..00000000000 --- a/incubator/nextcloud/20.1.2/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [nextcloud-20.1.2](https://github.com/truecharts/charts/compare/nextcloud-20.1.1...nextcloud-20.1.2) (2023-06-21) - -### Fix - -- fix ingress path injection ([#9815](https://github.com/truecharts/charts/issues/9815)) - - \ No newline at end of file diff --git a/incubator/nextcloud/20.1.2/app-readme.md b/incubator/nextcloud/20.1.2/app-readme.md deleted file mode 100644 index 8bb0ba74895..00000000000 --- a/incubator/nextcloud/20.1.2/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -A private cloud server that puts the control and security of your own data back into your hands. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud) - ---- - -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/incubator/nextcloud/20.1.2/charts/common-12.14.1.tgz b/incubator/nextcloud/20.1.2/charts/common-12.14.1.tgz deleted file mode 100644 index 4a0cd31e1d5..00000000000 Binary files a/incubator/nextcloud/20.1.2/charts/common-12.14.1.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.2/charts/redis-6.0.48.tgz b/incubator/nextcloud/20.1.2/charts/redis-6.0.48.tgz deleted file mode 100644 index e44b00ba818..00000000000 Binary files a/incubator/nextcloud/20.1.2/charts/redis-6.0.48.tgz and /dev/null differ diff --git a/incubator/nextcloud/20.1.2/ix_values.yaml b/incubator/nextcloud/20.1.2/ix_values.yaml deleted file mode 100644 index c08b980a662..00000000000 --- a/incubator/nextcloud/20.1.2/ix_values.yaml +++ /dev/null @@ -1,495 +0,0 @@ -image: - repository: tccr.io/truecharts/nextcloud-fpm - pullPolicy: IfNotPresent - tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129 -nginxImage: - repository: tccr.io/truecharts/nginx-unprivileged - pullPolicy: IfNotPresent - tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef -imaginaryImage: - repository: tccr.io/truecharts/nextcloud-imaginary - pullPolicy: IfNotPresent - tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982 -hpbImage: - repository: tccr.io/truecharts/nextcloud-push-notify - pullPolicy: IfNotPresent - tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339 -clamavImage: - repository: tccr.io/truecharts/clamav - pullPolicy: IfNotPresent - tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086 -collaboraImage: - repository: tccr.io/truecharts/collabora - pullPolicy: IfNotPresent - tag: v23.05.0.5.1@sha256:a753bfe9d5479e992e914f5818bc96f33ff95dd3760cb10938ae2296286c416e - -nextcloud: - # Initial Credentials - credentials: - initialAdminUser: admin - initialAdminPassword: adminpass - # General settings - general: - # Custom Nextcloud Scripts - run_optimize: true - default_phone_region: GR - # IP used for exposing nextcloud, - # often the loadbalancer IP - accessIP: "" - # File settings - files: - shared_folder_name: Shared - max_chunk_size: 10485760 - # Expiration settings - expirations: - activity_expire_days: 90 - trash_retention_obligation: auto - versions_retention_obligation: auto - # Previews settings - previews: - enabled: true - # It will also deploy the container - imaginary: true - cron: true - schedule: "*/30 * * * *" - max_x: 2048 - max_y: 2048 - max_memory: 1024 - max_file_size_image: 50 - jpeg_quality: 60 - square_sizes: 32 256 - width_sizes: 256 384 - height_sizes: 256 - # Casings are important - # https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269 - # Only the last part of the provider is needed - providers: - - PNG - - JPEG - # Logging settings - logging: - log_level: 2 - log_file: /var/www/html/data/logs/nextcloud.log - log_audit_file: /var/www/html/data/logs/audit.log - log_date_format: d/m/Y H:i:s - # ClamAV settings - clamav: - # It will also deploy the container - # Note that this runs as root - enabled: false - stream_max_length: 26214400 - file_max_size: -1 - infected_action: only_log - # Notify Push settings - notify_push: - # It will also deploy the container - enabled: true - # Collabora settings - collabora: - # It will also deploy the container - enabled: false - # default|compact|tabbed - interface_mode: default - username: admin - password: changeme - dictionaries: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - onlyoffice: - # It will not deploy the container - # Only add the OnlyOffice settings - enabled: false - url: "" - jwt: "" - jwt_header: Authorization - # PHP settings - php: - memory_limit: 1G - upload_limit: 10G - pm_max_children: 180 - pm_start_servers: 18 - pm_min_spare_servers: 12 - pm_max_spare_servers: 30 - -# Do NOT edit below this line -workload: - # Nextcloud php-fpm - main: - type: Deployment - podSpec: - containers: - main: - enabled: true - primary: true - envFrom: - - configMapRef: - name: nextcloud-config - probes: - liveness: - enabled: true - type: exec - command: /healthcheck.sh - readiness: - enabled: true - type: exec - command: /healthcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}" - nginx: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - nginx: - enabled: true - primary: true - imageSelector: nginxImage - probes: - readiness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /robots.txt - port: "{{ .Values.service.main.ports.main.port }}" - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: "{{ .Values.service.main.ports.main.port }}" - notify: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - notify: - primary: true - enabled: true - imageSelector: hpbImage - envFrom: - - configMapRef: - name: hpb-config - probes: - readiness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - liveness: - enabled: true - path: /push/test/cookie - port: 7867 - httpHeaders: - Host: kube.internal.healthcheck - startup: - enabled: true - type: tcp - port: 7867 - imaginary: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - imaginary: - primary: true - enabled: true - imageSelector: imaginaryImage - command: imaginary - args: - - -p - - "{{ .Values.service.imaginary.ports.imaginary.port }}" - - -concurrency - - "10" - - -enable-url-source - - -return-size - probes: - readiness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - liveness: - enabled: true - path: /health - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.imaginary.ports.imaginary.port }}" - clamav: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - clamav: - primary: true - enabled: true - imageSelector: clamavImage - # FIXME: https://github.com/Cisco-Talos/clamav/issues/478 - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - readOnlyRootFilesystem: false - envFrom: - - configMapRef: - name: clamav-config - probes: - readiness: - enabled: true - type: exec - command: clamdcheck.sh - liveness: - enabled: true - type: exec - command: clamdcheck.sh - startup: - enabled: true - type: tcp - port: "{{ .Values.service.clamav.ports.clamav.targetPort }}" - collabora: - enabled: true - type: Deployment - strategy: RollingUpdate - replicas: 1 - podSpec: - containers: - collabora: - primary: true - enabled: true - imageSelector: collaboraImage - securityContext: - runAsUser: 100 - runAsGroup: 102 - readOnlyRootFilesystem: false - allowPrivilegeEscalation: true - capabilities: - add: - - CHOWN - - FOWNER - - SYS_CHROOT - - MKNOD - envFrom: - - configMapRef: - name: collabora-config - probes: - readiness: - enabled: true - type: http - path: /collabora/ - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - liveness: - enabled: true - type: http - path: /collabora/ - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - startup: - enabled: true - type: tcp - port: "{{ .Values.service.collabora.ports.collabora.targetPort }}" - -cronjobs: - # Don't change names, it's used in the persistence - - name: nextcloud-cron - enabled: true - schedule: "*/5 * * * *" - cmd: - - echo "Running [php -f /var/www/html/cron.php] ..." - - php -f /var/www/html/cron.php - - echo "Finished [php -f /var/www/html/cron.php]" - - name: preview-cron - enabled: "{{ .Values.nextcloud.previews.cron }}" - schedule: "{{ .Values.nextcloud.previews.schedule }}" - cmd: - - echo "Running [occ preview:pre-generate] ..." - - occ preview:pre-generate - - echo "Finished [occ preview:pre-generate]" - -service: - # Main service links to ingress easier - # That's why the nginx is swapped with nextcloud - main: - targetSelector: nginx - ports: - main: - targetSelector: nginx - port: 8080 - nextcloud: - enabled: true - targetSelector: main - ports: - nextcloud: - enabled: true - targetSelector: main - port: 9000 - targetPort: 9000 - notify: - enabled: true - targetSelector: notify - ports: - notify: - enabled: true - primary: true - port: 7867 - targetPort: 7867 - targetSelector: notify - metrics: - enabled: true - port: 7868 - targetSelector: notify - imaginary: - enabled: true - targetSelector: imaginary - ports: - imaginary: - enabled: true - port: 9090 - targetSelector: imaginary - clamav: - enabled: true - targetSelector: clamav - ports: - clamav: - enabled: true - port: 3310 - targetPort: 3310 - targetSelector: clamav - collabora: - enabled: true - targetSelector: collabora - ports: - collabora: - enabled: true - port: 9980 - targetPort: 9980 - targetSelector: collabora - -persistence: - php-tune: - enabled: true - type: configmap - objectName: php-tune - targetSelector: - main: - main: - mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf - subPath: zz-tune.conf - readOnly: true - redis-session: - enabled: true - type: configmap - objectName: redis-session - targetSelector: - main: - main: - mountPath: /usr/local/etc/php/conf.d/redis-session.ini - subPath: redis-session.ini - readOnly: true - nginx: - enabled: true - type: configmap - objectName: nginx-config - targetSelector: - nginx: - nginx: - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - readOnly: true - nginx-temp: - enabled: true - type: emptyDir - targetSelector: - nginx: - nginx: - mountPath: /tmp/nginx - html: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html - preview-cron: - preview-cron: - mountPath: /var/www/html - nginx: - nginx: - mountPath: /var/www/html - readOnly: true - config: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/config - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/config - preview-cron: - preview-cron: - mountPath: /var/www/html/config - notify: - notify: - mountPath: /var/www/html/config - readOnly: true - nginx: - nginx: - mountPath: /var/www/html/config - readOnly: true - data: - enabled: true - targetSelector: - main: - main: - mountPath: /var/www/html/data - init-perms: - mountPath: /var/www/html/data - nextcloud-cron: - nextcloud-cron: - mountPath: /var/www/html/data - preview-cron: - preview-cron: - mountPath: /var/www/html/data - nginx: - nginx: - mountPath: /var/www/html/data - readOnly: true - -cnpg: - main: - enabled: true - user: nextcloud - database: nextcloud - -redis: - enabled: true - username: default - -portal: - open: - enabled: true diff --git a/incubator/nextcloud/20.1.2/questions.yaml b/incubator/nextcloud/20.1.2/questions.yaml deleted file mode 100644 index 41fdd7b4c6c..00000000000 --- a/incubator/nextcloud/20.1.2/questions.yaml +++ /dev/null @@ -1,2636 +0,0 @@ -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: nextcloud - group: App Configuration - label: Nextcloud - schema: - additional_attrs: true - type: dict - attrs: - - variable: credentials - group: App Configuration - label: Initial Credentials - schema: - additional_attrs: true - type: dict - attrs: - - variable: initialAdminUser - label: Initial Admin User - description: Sets the initial admin username - schema: - type: string - required: true - default: "" - - variable: initialAdminPassword - label: Initial Admin Password - description: Sets the initial admin password - schema: - type: string - required: true - private: true - default: "" - - variable: general - group: App Configuration - label: General - schema: - additional_attrs: true - type: dict - attrs: - - variable: run_optimize - label: Run Optimize Scripts - description: | - Runs the following commands at startup:
- occ db:add-missing-indices
- occ db:add-missing-columns
- occ db:add-missing-primary-keys
- yes | occ db:convert-filecache-bigint
- occ maintenance:mimetype:update-js
- occ maintenance:mimetype:update-db
- occ maintenance:update:htaccess
- schema: - type: boolean - default: false - - variable: default_phone_region - label: Default Phone Region - description: | - Sets the default phone region in ISO_3166-1 format (e.g. US).
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements - schema: - type: string - valid_chars: '^[A-Z]{2}$' - required: true - default: "" - - variable: accessIP - label: Access IP - description: Set to the IP-Address used to reach Nextcloud. - schema: - type: string - required: true - $ref: - - "definitions/nodeIP" - - variable: files - group: App Configuration - label: Files Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: shared_folder_name - label: Shared Folder Name - schema: - type: string - required: true - default: Shared - - variable: max_chunk_size - label: Max Chunk Size - schema: - type: int - required: true - default: 10485760 - - variable: expirations - group: App Configuration - label: Expirations Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: activity_expire_days - label: Activity Expire Days - schema: - type: int - required: true - default: 90 - - variable: trash_retention_obligation - label: Trash Retention Obligation - schema: - type: string - required: true - default: auto - - variable: versions_retention_obligation - label: Versions Retention Obligation - schema: - type: string - required: true - default: auto - - variable: previews - group: App Configuration - label: Previews Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Previews - schema: - type: boolean - default: true - show_subquestions_if: true - subquestions: - - variable: imaginary - label: Enable imaginary - description: | - Enable imaginary to generate previews in the background.
- It will also deploy the needed container. - schema: - type: boolean - default: true - - variable: cron - label: Enable cron - description: | - Enable cron to generate previews in the background. - schema: - type: boolean - default: true - - variable: schedule - label: Cron Schedule - schema: - type: string - default: "*/30 * * * *" - - variable: max_x - label: Max X - schema: - type: int - required: true - default: 2048 - - variable: max_y - label: Max Y - schema: - type: int - required: true - default: 2048 - - variable: max_memory - label: Max Memory - schema: - type: int - required: true - default: 1024 - - variable: max_file_size_image - label: Max File Size Image - schema: - type: int - required: true - default: 50 - - variable: jpeg_quality - label: JPEG Quality - schema: - type: int - required: true - default: 60 - - variable: square_sizes - label: Square Sizes - schema: - type: string - required: true - default: "32 256" - - variable: width_sizes - label: Width Sizes - schema: - type: string - required: true - default: "256 384" - - variable: height_sizes - label: Height Sizes - schema: - type: string - required: true - default: "256" - - variable: providers - label: Providers - schema: - type: list - empty: false - required: true - default: - - BMP - - GIF - - JPEG - - Krita - - MarkDown - - MP3 - - OpenDocument - - PNG - - TXT - - XBitmap - items: - - variable: provider_entry - label: Provider Entry - schema: - type: string - required: true - default: "" - enum: - - value: BMP - description: BMP - - value: Font - description: Font - - value: GIF - description: GIF - - value: HEIC - description: HEIC - - value: Illustrator - description: Illustrator - - value: JPEG - description: JPEG - - value: Krita - description: Krita - - value: MarkDown - description: MarkDown - - value: Movie - description: Movie - - value: MP3 - description: MP3 - - value: MSOffice2003 - description: MSOffice2003 - - value: MSOffice2007 - description: MSOffice2007 - - value: MSOfficeDoc - description: MSOfficeDoc - - value: OpenDocument - description: OpenDocument - - value: PDF - description: PDF - - value: Photoshop - description: Photoshop - - value: PNG - description: PNG - - value: Postscript - description: Postscript - - value: StarOffice - description: StarOffice - - value: SVG - description: SVG - - value: TIFF - description: TIFF - - value: TXT - description: TXT - - value: XBitmap - description: XBitmap - - variable: Logging - group: App Configuration - label: Logging Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: log_level - label: Log Level - schema: - type: string - required: true - default: "2" - enum: - - value: "0" - description: Debug - - value: "1" - description: Info - - value: "2" - description: Warning - - value: "3" - description: Error - - value: "4" - description: Fatal - - variable: log_date_format - label: Log Date Format - schema: - type: string - required: true - default: d/m/Y H:i:s - - variable: notify_push - group: App Configuration - label: Notify Push Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Notify Push - description: | - Enable and Configure Notify Push.
- It will also deploy the needed container - schema: - type: boolean - default: true - - variable: clamav - group: App Configuration - label: ClamAV Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable ClamAV - description: | - Enable and configure ClamAV.
- It will also deploy the needed container.
- Keep in mind that this will run as root.
- https://github.com/Cisco-Talos/clamav/issues/478 - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: stream_max_length - label: Stream Max Length - schema: - type: int - required: true - default: 104857600 - - variable: file_max_size - label: File Max Size - schema: - type: int - required: true - default: -1 - - variable: infected_action - label: Infected Action - schema: - type: string - required: true - default: only_log - enum: - - value: delete - description: Delete - - value: only_log - description: Only Log - - variable: collabora - group: App Configuration - label: Collabora Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable Collabora - description: | - Enable and configure Collabora.
- It will also deploy the needed container.
- Keep in mind that this will run as root. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: interface_mode - label: Interface Mode - schema: - type: string - required: true - default: default - enum: - - value: default - description: Default - - value: compact - description: Compact - - value: tabbed - description: Tabbed - - variable: username - label: Username - schema: - type: string - default: admin - required: true - - variable: password - label: Password - schema: - type: string - default: "" - required: true - - variable: dictionaries - label: Dictionaries - schema: - type: list - empty: false - required: true - default: - - de_DE - - en_GB - - en_US - - el_GR - - es_ES - - fr_FR - - pt_BR - - pt_PT - - it - - nl - - ru - items: - - variable: dictionary - label: Dictionary - schema: - type: string - required: true - default: "" - - variable: onlyoffice - group: App Configuration - label: Only Office Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enable OnlyOffice - description: | - Enable and configure OnlyOffice.
- This will NOT deploy the needed container.
- You need to deploy it yourself. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: url - label: URL - schema: - type: string - required: true - default: "" - - variable: jwt - label: JWT - schema: - type: string - required: true - default: "" - - variable: jwt_header - label: JWT Header - schema: - type: string - required: true - default: Authorization - - variable: php - group: App Configuration - label: PHP Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: memory_limit - label: Memory Limit - schema: - type: string - required: true - default: 1G - - variable: upload_limit - label: Upload Limit - schema: - type: string - required: true - default: 10G - - variable: pm_max_children - label: Max Children - schema: - type: int - required: true - default: 180 - - variable: pm_start_servers - label: Start Servers - schema: - type: int - required: true - default: 18 - - variable: pm_min_spare_servers - label: Minimum Spare Servers - schema: - type: int - required: true - default: 12 - - variable: pm_max_spare_servers - label: Maximum Spare Servers - schema: - type: int - required: true - default: 30 - - 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: 12000 - 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: html - label: App HTML Storage - description: Stores the Application HTML. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: config - label: App Config Storage - description: Stores the Application Config. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: data - label: User Data Storage - description: Stores the User Data. - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - hidden: true - type: boolean - default: false - - variable: autoPermissions - label: Automatic Permissions Configuration - description: Automatically set permissions - schema: - show_if: [["type", "!=", "pvc"]] - type: dict - additional_attrs: true - attrs: - - 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 - schema: - type: string - default: "775" - - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: runAsGroup - description: The groupID of the user running the application - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: metrics - group: Metrics - label: Prometheus Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: main - label: Main Metrics - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: prometheusRule - label: PrometheusRule - description: Enable and configure Prometheus Rules for the App. - schema: - additional_attrs: true - type: dict - attrs: - - variable: enabled - label: Enabled - description: Enable Prometheus Metrics - schema: - type: boolean - default: false - # TODO: Rule List section -# - 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/incubator/nextcloud/20.1.2/templates/NOTES.txt b/incubator/nextcloud/20.1.2/templates/NOTES.txt deleted file mode 100644 index efcb74cb772..00000000000 --- a/incubator/nextcloud/20.1.2/templates/NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/incubator/nextcloud/20.1.2/templates/_configmap.tpl b/incubator/nextcloud/20.1.2/templates/_configmap.tpl deleted file mode 100644 index 527df08a216..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_configmap.tpl +++ /dev/null @@ -1,412 +0,0 @@ -{{/* Define the configmap */}} -{{- define "nextcloud.configmaps" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $accessUrl := .Values.chartContext.APPURL -}} -{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}} - {{- if .Values.nextcloud.general.accessIP -}} - {{- $prot := "http" -}} - {{- $host := .Values.nextcloud.general.accessIP -}} - {{- $port := .Values.service.main.ports.main.port -}} - {{/* - Allowing here to override protocol and port - should be enough to make it work with any rev proxy - */}} - {{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}} - {{- end -}} -{{- end -}} -{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessHost = regexReplaceAll "(.*):.*" $accessUrl "${1}" -}} -{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}} -{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}} -{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}} -{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}} -{{- $healthHost := "kube.internal.healthcheck" -}} - -php-tune: - enabled: true - data: - zz-tune.conf: | - [www] - pm.max_children = {{ .Values.nextcloud.php.pm_max_children }} - pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }} - pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }} - pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }} - -redis-session: - enabled: true - data: - redis-session.ini: | - session.save_handler = redis - session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }} - redis.session.locking_enabled = 1 - redis.session.lock_retries = -1 - redis.session.lock_wait_time = 10000 - -hpb-config: - enabled: {{ .Values.nextcloud.notify_push.enabled }} - data: - NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }} - HPB_HOST: {{ $healthHost }} - CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }} - METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }} - -clamav-config: - enabled: {{ .Values.nextcloud.clamav.enabled }} - data: - CLAMAV_NO_CLAMD: "false" - CLAMAV_NO_FRESHCLAMD: "true" - CLAMAV_NO_MILTERD: "true" - CLAMD_STARTUP_TIMEOUT: "1800" - -collabora-config: - enabled: {{ .Values.nextcloud.collabora.enabled }} - data: - aliasgroup1: {{ $accessUrl }} - server_name: {{ $accessHostPort }} - dictionaries: {{ join " " .Values.nextcloud.collabora.dictionaries }} - username: {{ .Values.nextcloud.collabora.username | quote }} - password: {{ .Values.nextcloud.collabora.password | quote }} - DONT_GEN_SSL_CERT: "true" - # mount_jail_tree is only used for local storage - # not needed for WOPI https://github.com/CollaboraOnline/online/issues/3604#issuecomment-989833814 - extra_params: | - --o:ssl.enable=false - --o:ssl.termination=true - --o:net.service_root=/collabora - --o:home_mode.enable=true - --o:welcome.enable=false - --o:logging.level=warning - --o:logging.level_startup=warning - --o:security.seccomp=true - --o:mount_jail_tree=false - --o:user_interface.mode={{ .Values.nextcloud.collabora.user_interface_mode }} - -nextcloud-config: - enabled: true - data: - {{/* Database */}} - POSTGRES_DB: {{ .Values.cnpg.main.database | quote }} - POSTGRES_USER: {{ .Values.cnpg.main.user | quote }} - POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }} - POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }} - - {{/* Redis */}} - NX_REDIS_HOST: {{ $redisHost }} - NX_REDIS_PASS: {{ $redisPass }} - - {{/* Nextcloud INITIAL credentials */}} - NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }} - NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }} - - {{/* PHP Variables */}} - PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }} - PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }} - - {{/* Notify Push */}} - NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }} - {{- if .Values.nextcloud.notify_push.enabled }} - NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push - {{- end }} - - {{/* Previews */}} - NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }} - NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }} - NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }} - NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }} - NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }} - NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }} - NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }} - NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }} - NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }} - NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }} - - {{/* Imaginary */}} - NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }} - {{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }} - NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }} - {{- end }} - - {{/* Expirations */}} - NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }} - NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }} - NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }} - - {{/* General */}} - NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }} - NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }} - NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }} - - {{/* Files */}} - NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }} - NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }} - - {{/* Logging */}} - NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }} - NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }} - NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }} - NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }} - NX_LOG_TIMEZONE: {{ .Values.TZ | quote }} - - {{/* ClamAV */}} - NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }} - {{- if .Values.nextcloud.clamav.enabled }} - NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }} - NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }} - NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }} - NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }} - NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }} - {{- end }} - - {{/* Collabora */}} - NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }} - {{- if .Values.nextcloud.collabora.enabled }} - NX_COLLABORA_URL: {{ printf "%v/collabora" $accessUrl | quote }} - # Ideally this would be a combo of: public ip, pod cidr, svc cidr - # But not always people have static IP. - NX_COLLABORA_ALLOWLIST: "0.0.0.0/0" - {{- end }} - - {{/* Only Office */}} - NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }} - {{- if .Values.nextcloud.onlyoffice.enabled }} - NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }} - NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }} - NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }} - {{- end }} - - {{/* URLs */}} - NX_OVERWRITE_HOST: {{ $accessHostPort }} - NX_OVERWRITE_CLI_URL: {{ $accessUrl }} - # Return the protocol part of the URL - NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }} - # IP (or range in this case) of the proxy(ies) - NX_TRUSTED_PROXIES: | - {{ .Values.chartContext.podCIDR }} - {{ .Values.chartContext.svcCIDR }} - # fullname-* will allow access from the - # other services in the same namespace - NX_TRUSTED_DOMAINS: | - 127.0.0.1 - localhost - {{ $fullname }} - {{ printf "%v-*" $fullname }} - {{ $healthHost }} - {{- if not (contains "127.0.0.1" $accessHost) }} - {{- $accessHost | nindent 6 }} - {{- end -}} - {{- with .Values.nextcloud.general.accessIP }} - {{- . | nindent 6 }} - {{- end }} - -# TODO: Replace locations with ingress -# like /push, /.well-known/carddav, /.well-known/caldav -# needs some work as nginx converts urls to pretty urls -# before matching them to locations, so ingress needs to -# take that into consideration. -nginx-config: - enabled: true - data: - nginx.conf: | - worker_processes auto; - - error_log /var/log/nginx/error.log warn; - # Set to /tmp so it can run as non-root - pid /tmp/nginx.pid; - - events { - worker_connections 1024; - } - - http { - # Set to /tmp so it can run as non-root - client_body_temp_path /tmp/nginx/client_temp; - proxy_temp_path /tmp/nginx/proxy_temp_path; - fastcgi_temp_path /tmp/nginx/fastcgi_temp; - uwsgi_temp_path /tmp/nginx/uwsgi_temp; - scgi_temp_path /tmp/nginx/scgi_temp; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - #tcp_nopush on; - - # Prevent nginx HTTP Server Detection - server_tokens off; - - keepalive_timeout 65; - - #gzip on; - - upstream php-handler { - server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}; - } - - server { - listen {{ .Values.service.main.ports.main.port }}; - absolute_redirect off; - - {{- if .Values.nextcloud.notify_push.enabled }} - # Forward Notify_Push "High Performance Backend" to it's own container - location ^~ /push/ { - # The trailing "/" is important! - proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - {{- end }} - - # HSTS settings - # WARNING: Only add the preload option once you read about - # the consequences in https://hstspreload.org/. This option - # will add the domain to a hardcoded list that is shipped - # in all major browsers and getting removed from this list - # could take several months. - #add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always; - - # Set max upload size - client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }}; - fastcgi_buffers 64 4K; - - # Enable gzip but do not remove ETag headers - gzip on; - gzip_vary on; - gzip_comp_level 4; - gzip_min_length 256; - gzip_proxied expired no-cache no-store private no_last_modified no_etag auth; - gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; - - # Pagespeed is not supported by Nextcloud, so if your server is built - # with the `ngx_pagespeed` module, uncomment this line to disable it. - #pagespeed off; - - # HTTP response headers borrowed from Nextcloud `.htaccess` - add_header Referrer-Policy "no-referrer" always; - add_header X-Content-Type-Options "nosniff" always; - add_header X-Download-Options "noopen" always; - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-Permitted-Cross-Domain-Policies "none" always; - add_header X-Robots-Tag "noindex, nofollow" always; - add_header X-XSS-Protection "1; mode=block" always; - - # Remove X-Powered-By, which is an information leak - fastcgi_hide_header X-Powered-By; - - # Path to the root of your installation - root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }}; - - # Specify how to handle directories -- specifying `/index.php$request_uri` - # here as the fallback means that Nginx always exhibits the desired behaviour - # when a client requests a path that corresponds to a directory that exists - # on the server. In particular, if that directory contains an index.php file, - # that file is correctly served; if it doesn't, then the request is passed to - # the front-end controller. This consistent behaviour means that we don't need - # to specify custom rules for certain paths (e.g. images and other assets, - # `/updater`, `/ocm-provider`, `/ocs-provider`), and thus - # `try_files $uri $uri/ /index.php$request_uri` - # always provides the desired behaviour. - index index.php index.html /index.php$request_uri; - - # Rule borrowed from `.htaccess` to handle Microsoft DAV clients - location = / { - if ( $http_user_agent ~ ^DavClnt ) { - return 302 /remote.php/webdav/$is_args$args; - } - } - - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - - # Make a regex exception for `/.well-known` so that clients can still - # access it despite the existence of the regex rule - # `location ~ /(\.|autotest|...)` which would otherwise handle requests - # for `/.well-known`. - location ^~ /.well-known { - # The rules in this block are an adaptation of the rules - # in `.htaccess` that concern `/.well-known`. - - location = /.well-known/carddav { return 301 /remote.php/dav/; } - location = /.well-known/caldav { return 301 /remote.php/dav/; } - - # According to the documentation these two lines are not necessary, - # but some users are still receiving errors - location = /.well-known/webfinger { return 301 /index.php$uri; } - location = /.well-known/nodeinfo { return 301 /index.php$uri; } - - location /.well-known/acme-challenge { try_files $uri $uri/ =404; } - location /.well-known/pki-validation { try_files $uri $uri/ =404; } - - # Let Nextcloud's API for `/.well-known` URIs handle all other - # requests by passing them to the front-end controller. - return 301 /index.php$request_uri; - } - - # Rules borrowed from `.htaccess` to hide certain paths from clients - location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; } - location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; } - - # Ensure this block, which passes PHP files to the PHP process, is above the blocks - # which handle static assets (as seen below). If this block is not declared first, - # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php` - # to the URI, resulting in a HTTP 500 error response. - location ~ \.php(?:$|/) { - # Required for legacy support - rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri; - - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - set $path_info $fastcgi_path_info; - - try_files $fastcgi_script_name =404; - - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - fastcgi_param PATH_INFO $path_info; - #fastcgi_param HTTPS on; - - fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice - fastcgi_param front_controller_active true; # Enable pretty urls - fastcgi_pass php-handler; - - fastcgi_intercept_errors on; - fastcgi_request_buffering off; - proxy_send_timeout 3600s; - proxy_read_timeout 3600s; - fastcgi_send_timeout 3600s; - fastcgi_read_timeout 3600s; - } - - location ~ \.(?:css|js|svg|gif)$ { - try_files $uri /index.php$request_uri; - expires 6M; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - location ~ \.woff2?$ { - try_files $uri /index.php$request_uri; - expires 7d; # Cache-Control policy borrowed from `.htaccess` - access_log off; # Optional: Don't log access to assets - } - - # Rule borrowed from `.htaccess` - location /remote { - return 301 /remote.php$request_uri; - } - - location / { - try_files $uri $uri/ /index.php$request_uri; - } - } - } -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/_cronjobs.tpl b/incubator/nextcloud/20.1.2/templates/_cronjobs.tpl deleted file mode 100644 index 0fa050dba68..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_cronjobs.tpl +++ /dev/null @@ -1,34 +0,0 @@ -{{- define "nextcloud.cronjobs" -}} -{{- range $cj := .Values.cronjobs }} - {{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}} - {{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }} - -{{ $name }}: - enabled: {{ $cj.enabled | quote }} - type: CronJob - schedule: {{ $schedule | quote }} - podSpec: - restartPolicy: Never - containers: - {{ $name }}: - enabled: true - primary: true - imageSelector: image - command: - - /bin/bash - - -c - - | - {{- range $cj.cmd }} - {{- . | nindent 12 }} - {{- else -}} - {{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}} - {{- end }} - probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false -{{- end }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/_ingressInjector.tpl b/incubator/nextcloud/20.1.2/templates/_ingressInjector.tpl deleted file mode 100644 index 37919189e21..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_ingressInjector.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{- define "nextcloud.ingressInjector" -}} - {{- if .Values.ingress.main.enabled -}} - {{- $injectPaths := list -}} - {{- if .Values.nextcloud.collabora.enabled -}} - {{- $injectPaths = mustAppend $injectPaths (include "nextcloud.collabora.ingress" $ | fromYaml) -}} - {{- end -}} - {{/* Append more paths here if needed */}} - - {{- range $host := .Values.ingress.main.hosts -}} - {{- $paths := $host.paths -}} - {{- $paths = concat $paths $injectPaths -}} - {{- $_ := set $host "paths" $paths -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{- define "nextcloud.collabora.ingress" -}} -{{- $fullname := include "tc.v1.common.lib.chart.names.fullname" . }} -path: /collabora/ -pathType: Prefix -service: - name: {{ printf "%v-collabora" $fullname }} - port: {{ .Values.service.collabora.ports.collabora.port }} -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/_initPerms.tpl b/incubator/nextcloud/20.1.2/templates/_initPerms.tpl deleted file mode 100644 index ed94790ad93..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_initPerms.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{- define "nextcloud.init.perms" -}} -{{- $uid := .Values.securityContext.container.runAsUser -}} -{{- $gid := .Values.securityContext.container.runAsGroup -}} -{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }} -enabled: true -type: install -imageSelector: alpineImage -securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - capabilities: - disableS6Caps: true - add: - - DAC_OVERRIDE - - FOWNER - - CHOWN -command: /bin/sh -args: - - -c - - | - echo "Setting permissions to 700 on data directory [{{ $path }}] ..." - chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]" - - echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..." - chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]" - - echo "Finished." -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/_validation.tpl b/incubator/nextcloud/20.1.2/templates/_validation.tpl deleted file mode 100644 index 5650c0f63fe..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_validation.tpl +++ /dev/null @@ -1,42 +0,0 @@ -{{- define "nextcloud.validation" -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}} - {{- end -}} - - {{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}} - {{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}} - {{- end -}} - - {{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) -}} - {{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) -}} - {{- end -}} - - {{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}} - {{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}} - {{- end -}} - - {{- if contains "$" .Values.nextcloud.collabora.password -}} - {{- fail "Nextcloud - Collabora [Password] cannot contain [$]" -}} - {{- end -}} - - {{- if .Values.nextcloud.collabora.enabled -}} - {{- if lt (len .Values.nextcloud.collabora.password) 8 -}} - {{- fail "Nextcloud - Collabora [Password] must be at least 8 characters" -}} - {{- end -}} - - {{- $collaboraUIModes := (list "default" "compact" "tabbed") -}} - {{- if not (mustHas .Values.nextcloud.collabora.interface_mode $collaboraUIModes) -}} - {{- fail (printf "Nextcloud - Expected [Interface Mode] in Collabora to be one of [%v], but got [%v]" (join "," $collaboraUIModes) .Values.nextcloud.collabora.interface_mode) -}} - {{- end -}} - - {{- if not .Values.nextcloud.collabora.dictionaries -}} - {{- fail "Nextcloud - Expected non-empty Collabora [Dictionaries]" -}} - {{- end -}} - - {{- if not (deepEqual .Values.nextcloud.collabora.dictionaries (uniq .Values.nextcloud.collabora.dictionaries)) -}} - {{- fail "Nextcloud - Collabora [Dictionaries] must be unique" -}} - {{- end -}} - {{- end -}} - -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/_waitNextcloud.tpl b/incubator/nextcloud/20.1.2/templates/_waitNextcloud.tpl deleted file mode 100644 index 24946d640e8..00000000000 --- a/incubator/nextcloud/20.1.2/templates/_waitNextcloud.tpl +++ /dev/null @@ -1,25 +0,0 @@ -{{- define "nextcloud.wait.nextcloud" -}} -{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}} -{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }} -enabled: true -type: init -imageSelector: image -securityContext: -command: /bin/sh -args: - - -c - - | - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - until \ - REQUEST_METHOD="GET" \ - SCRIPT_NAME="status.php" \ - SCRIPT_FILENAME="status.php" \ - cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true'; - do - echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..." - sleep 3 - done - - echo "Nextcloud is ready and installed..." - echo "Starting Nginx..." -{{- end -}} diff --git a/incubator/nextcloud/20.1.2/templates/common.yaml b/incubator/nextcloud/20.1.2/templates/common.yaml deleted file mode 100644 index 22ed3e0e564..00000000000 --- a/incubator/nextcloud/20.1.2/templates/common.yaml +++ /dev/null @@ -1,68 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.v1.common.loader.init" . -}} - -{{- include "nextcloud.validation" $ -}} - -{{/* Render configmaps for all pods */}} -{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}} -{{- if $configmaps -}} - {{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}} -{{- end -}} - -{{/* Add [init perms] container to nextcloud */}} -{{- if not (get .Values.workload.main.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}} -{{- end -}} - -{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}} -{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}} - -{{/* Add [wait nextcloud] container to nginx */}} -{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}} -{{- end -}} -{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} -{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} - -{{/* Disable [notify push] if requested */}} -{{- if not .Values.nextcloud.notify_push.enabled -}} - {{- $_ := set .Values.workload.notify "enabled" false -}} - {{- $_ := set .Values.service.notify "enabled" false -}} -{{- else -}} - {{/* Add [wait nextcloud] container to notify push */}} - {{- if not (get .Values.workload.notify.podSpec "initContainers") -}} - {{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}} - {{- end -}} - {{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}} - {{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}} -{{- end -}} - -{{/* Disable [clamav] if requested */}} -{{- if not .Values.nextcloud.clamav.enabled -}} - {{- $_ := set .Values.workload.clamav "enabled" false -}} - {{- $_ := set .Values.service.clamav "enabled" false -}} -{{- end -}} - -{{/* Disable [previews] if requested */}} -{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}} - {{- $_ := set .Values.workload.imaginary "enabled" false -}} - {{- $_ := set .Values.service.imaginary "enabled" false -}} -{{- end -}} - -{{/* Disable [collabora] if requested */}} -{{- if not .Values.nextcloud.collabora.enabled -}} - {{- $_ := set .Values.workload.collabora "enabled" false -}} - {{- $_ := set .Values.service.collabora "enabled" false -}} -{{- end -}} - -{{/* Create [cronjobs] defined */}} -{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}} -{{- if $cronjobs -}} - {{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}} -{{- end -}} - -{{/* TODO: Do we have to cleanup when something (eg Collabora) is disabled? */}} -{{- include "nextcloud.ingressInjector" $ -}} - -{{/* Render the templates */}} -{{- include "tc.v1.common.loader.apply" . -}} diff --git a/incubator/nextcloud/20.1.2/values.yaml b/incubator/nextcloud/20.1.2/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/incubator/nextcloud/item.yaml b/incubator/nextcloud/item.yaml deleted file mode 100644 index 8ae51342531..00000000000 --- a/incubator/nextcloud/item.yaml +++ /dev/null @@ -1,5 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png -categories: -- cloud - -screenshots: [] diff --git a/stable/paperless-ng/7.0.32/CHANGELOG.md b/stable/paperless-ng/7.0.32/CHANGELOG.md deleted file mode 100644 index 32abd1bfac4..00000000000 --- a/stable/paperless-ng/7.0.32/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [paperless-ng-7.0.32](https://github.com/truecharts/charts/compare/paperless-ng-7.0.31...paperless-ng-7.0.32) (2023-02-27) - -### Chore - -- update helm general non-major ([#7725](https://github.com/truecharts/charts/issues/7725)) - - - - -## [paperless-ng-7.0.31](https://github.com/truecharts/charts/compare/paperless-ng-7.0.30...paperless-ng-7.0.31) (2023-02-20) - -### Chore - -- update container image tccr.io/truecharts/paperless-ng to v1.13.0 - - - - -## [paperless-ng-7.0.30](https://github.com/truecharts/charts/compare/paperless-ng-7.0.29...paperless-ng-7.0.30) (2023-02-19) - -### Chore - -- update helm general non-major - - - - -## [paperless-ng-7.0.29](https://github.com/truecharts/charts/compare/paperless-ng-7.0.28...paperless-ng-7.0.29) (2023-02-10) - -### Fix - -- ensure new helm deps repo is used in latest releases as well. - - - - -## [paperless-ng-7.0.28](https://github.com/truecharts/charts/compare/paperless-ng-7.0.27...paperless-ng-7.0.28) (2023-01-31) - -### Chore - -- update container image tccr.io/truecharts/paperless-ng to v1.12.2 - - - - -## [paperless-ng-7.0.27](https://github.com/truecharts/charts/compare/paperless-ng-7.0.26...paperless-ng-7.0.27) (2023-01-24) - -### Chore - -- update helm general non-major ([#6689](https://github.com/truecharts/charts/issues/6689)) - - - - -## [paperless-ng-7.0.26](https://github.com/truecharts/charts/compare/paperless-ng-7.0.25...paperless-ng-7.0.26) (2023-01-23) - -### Chore - -- update helm general non-major - - - - -## [paperless-ng-7.0.25](https://github.com/truecharts/charts/compare/paperless-ng-7.0.24...paperless-ng-7.0.25) (2023-01-17) - -### Chore - -- update helm general non-major ([#6430](https://github.com/truecharts/charts/issues/6430)) - - - - -## [paperless-ng-7.0.24](https://github.com/truecharts/charts/compare/paperless-ng-7.0.23...paperless-ng-7.0.24) (2023-01-07) - -### Chore - -- update helm general non-major ([#6121](https://github.com/truecharts/charts/issues/6121)) - - - - -## [paperless-ng-7.0.23](https://github.com/truecharts/charts/compare/paperless-ng-7.0.22...paperless-ng-7.0.23) (2023-01-04) - -### Chore - -- update container image tccr.io/truecharts/paperless-ng to v1.11.3 - - - - -## [paperless-ng-7.0.22](https://github.com/truecharts/charts/compare/paperless-ng-7.0.21...paperless-ng-7.0.22) (2023-01-01) - -### Chore diff --git a/stable/paperless-ng/7.0.32/Chart.yaml b/stable/paperless-ng/7.0.32/Chart.yaml deleted file mode 100644 index 017fc381f72..00000000000 --- a/stable/paperless-ng/7.0.32/Chart.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: v2 -kubeVersion: ">=1.16.0-0" -name: paperless-ng -version: 7.0.32 -appVersion: "1.13.0" -description: Paperless-ngx is an application by Daniel Quinn and contributors that indexes your scanned documents. -type: application -deprecated: false -home: https://truecharts.org/charts/stable/paperless-ng -icon: https://truecharts.org/img/hotlink-ok/chart-icons/paperless-ng.png -keywords: - - paperless-ng - - paperless-ngx - - documents - - paper -sources: - - https://github.com/truecharts/charts/tree/master/charts/stable/paperless-ng - - https://ghcr.io/paperless-ngx/paperless-ngx - - https://github.com/paperless-ngx/paperless-ngx - - https://paperless-ngx.readthedocs.io/en/latest/ -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 11.1.2 - - condition: postgresql.enabled - name: postgresql - repository: https://deps.truecharts.org/ - version: 11.0.31 - - condition: redis.enabled - name: redis - repository: https://deps.truecharts.org - version: 5.0.33 -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -annotations: - truecharts.org/catagories: | - - productivity - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/stable/paperless-ng/7.0.32/README.md b/stable/paperless-ng/7.0.32/README.md deleted file mode 100644 index 701942c352f..00000000000 --- a/stable/paperless-ng/7.0.32/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 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%20Apps/Important-MUST-READ). -- 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/paperless-ng/7.0.32/app-changelog.md b/stable/paperless-ng/7.0.32/app-changelog.md deleted file mode 100644 index 440b856d636..00000000000 --- a/stable/paperless-ng/7.0.32/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [paperless-ng-7.0.32](https://github.com/truecharts/charts/compare/paperless-ng-7.0.31...paperless-ng-7.0.32) (2023-02-27) - -### Chore - -- update helm general non-major ([#7725](https://github.com/truecharts/charts/issues/7725)) - - \ No newline at end of file diff --git a/stable/paperless-ng/7.0.32/app-readme.md b/stable/paperless-ng/7.0.32/app-readme.md deleted file mode 100644 index 8905d609fca..00000000000 --- a/stable/paperless-ng/7.0.32/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Paperless-ngx is an application by Daniel Quinn and contributors that indexes your scanned documents. - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/paperless-ng](https://truecharts.org/charts/stable/paperless-ng) - ---- - -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/paperless-ng/7.0.32/charts/common-11.1.2.tgz b/stable/paperless-ng/7.0.32/charts/common-11.1.2.tgz deleted file mode 100644 index da62080e8a5..00000000000 Binary files a/stable/paperless-ng/7.0.32/charts/common-11.1.2.tgz and /dev/null differ diff --git a/stable/paperless-ng/7.0.32/charts/postgresql-11.0.31.tgz b/stable/paperless-ng/7.0.32/charts/postgresql-11.0.31.tgz deleted file mode 100644 index dadee6fe4d0..00000000000 Binary files a/stable/paperless-ng/7.0.32/charts/postgresql-11.0.31.tgz and /dev/null differ diff --git a/stable/paperless-ng/7.0.32/charts/redis-5.0.33.tgz b/stable/paperless-ng/7.0.32/charts/redis-5.0.33.tgz deleted file mode 100644 index 1450fe65f8b..00000000000 Binary files a/stable/paperless-ng/7.0.32/charts/redis-5.0.33.tgz and /dev/null differ diff --git a/stable/paperless-ng/7.0.32/ix_values.yaml b/stable/paperless-ng/7.0.32/ix_values.yaml deleted file mode 100644 index cf6392d2f92..00000000000 --- a/stable/paperless-ng/7.0.32/ix_values.yaml +++ /dev/null @@ -1,79 +0,0 @@ -image: - repository: tccr.io/truecharts/paperless-ng - pullPolicy: IfNotPresent - tag: 1.13.0@sha256:f8836b6d50f6dad48fc4692ede49c56275677f3d387be76e560e285123e0b8e1 - -securityContext: - runAsNonRoot: false - readOnlyRootFilesystem: false - -podSecurityContext: - runAsUser: 0 - runAsGroup: 0 - -secretEnv: - PAPERLESS_ADMIN_USER: "admin" - PAPERLESS_ADMIN_PASSWORD: "admin" - PAPERLESS_ADMIN_MAIL: "admin@admin.com" - -env: - PAPERLESS_PORT: "{{ .Values.service.main.ports.main.targetPort }}" - PAPERLESS_DATA_DIR: "/data/" - PAPERLESS_CONSUMPTION_DIR: "/consume/" - PAPERLESS_MEDIA_ROOT: "/media/" - PAPERLESS_URL: "" - USERMAP_UID: "{{ .Values.security.PUID }}" - USERMAP_GID: "{{ .Values.podSecurityContext.fsGroup }}" - PAPERLESS_TIME_ZONE: "{{ .Values.TZ }}" - PAPERLESS_DBNAME: "{{ .Values.postgresql.postgresqlDatabase }}" - PAPERLESS_DBUSER: "{{ .Values.postgresql.postgresqlUsername }}" - PAPERLESS_DBPORT: "5432" - PAPERLESS_WEBSERVER_WORKERS: 2 - PAPERLESS_DBPASS: - secretKeyRef: - name: dbcreds - key: postgresql-password - PAPERLESS_DBHOST: - secretKeyRef: - name: dbcreds - key: plainhost - PAPERLESS_SECRET_KEY: - secretKeyRef: - name: paperlessng-secrets - key: PAPERLESS_SECRET_KEY - PAPERLESS_REDIS: - secretKeyRef: - name: rediscreds - key: url - -service: - main: - ports: - main: - targetPort: 8000 - port: 10140 - -persistence: - data: - enabled: true - mountPath: "/data" - consume: - enabled: true - mountPath: "/consume" - media: - enabled: true - mountPath: "/media" - -redis: - enabled: true - existingSecret: "rediscreds" - redisUsername: default - -postgresql: - enabled: true - existingSecret: "dbcreds" - postgresqlUsername: paperless-ng - postgresqlDatabase: paperless-ng - -portal: - enabled: true diff --git a/stable/paperless-ng/7.0.32/questions.yaml b/stable/paperless-ng/7.0.32/questions.yaml deleted file mode 100644 index 1687b4031ba..00000000000 --- a/stable/paperless-ng/7.0.32/questions.yaml +++ /dev/null @@ -1,2055 +0,0 @@ -groups: - - name: Container Image - description: Image to be used for container - - name: General Settings - description: General Deployment 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: VPN - description: VPN - - name: Addons - description: Addon Configuration - - name: Advanced - description: Advanced Configuration - - name: Documentation - description: Documentation -portals: - open: - protocols: - - "$kubernetes-resource_configmap_portal_protocol" - host: - - "$kubernetes-resource_configmap_portal_host" - ports: - - "$kubernetes-resource_configmap_portal_port" -questions: - - variable: global - label: Global Settings - group: "General Settings" - schema: - type: dict - hidden: true - attrs: - - variable: isSCALE - label: Flag this is SCALE - schema: - type: boolean - default: true - hidden: true - - variable: controller - group: "General Settings" - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: replicas - description: Number of desired pod replicas - label: Desired Replicas - schema: - type: int - required: true - default: 1 - - variable: customextraargs - group: "General Settings" - label: "Extra Args" - description: "Do not click this unless you know what you are doing" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: extraArgs - label: Extra Args - schema: - type: list - default: [] - items: - - variable: arg - label: Arg - schema: - type: string - - variable: secretEnv - group: "App Configuration" - label: "Image Secrets" - schema: - additional_attrs: true - type: dict - attrs: - - variable: PAPERLESS_ADMIN_USER - label: "PAPERLESS_ADMIN_USER (First Install Only)" - schema: - type: string - required: true - default: "" - - variable: PAPERLESS_ADMIN_PASSWORD - label: "PAPERLESS_ADMIN_PASSWORD (First Install Only)" - schema: - type: string - required: true - private: true - default: "" - - variable: PAPERLESS_ADMIN_MAIL - label: "PAPERLESS_ADMIN_MAIL (First Install Only)" - schema: - type: string - default: "" - - variable: env - group: "App Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: PAPERLESS_URL - label: "PAPERLESS_URL" - description: "This is required if you will be exposing Paperless-ngx on a public domain." - schema: - type: string - default: "" - - variable: PAPERLESS_WEBSERVER_WORKERS - label: "PAPERLESS_WEBSERVER_WORKERS" - description: "The number of worker processes the webserver should spawn." - schema: - type: int - required: true - default: 2 - - variable: TZ - label: Timezone - group: "General Settings" - schema: - type: string - default: "Etc/UTC" - $ref: - - "definitions/timezone" - - 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..." - group: "General Settings" - 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: 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) - - 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: 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: 10140 - required: true - - variable: serviceexpert - group: Networking and Services - label: Show Expert Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: hostNetwork - group: Networking and Services - label: Host-Networking (Complicated) - schema: - type: boolean - default: false - - variable: externalInterfaces - description: Add External Interfaces - label: Add external Interfaces - group: Networking - schema: - type: list - items: - - variable: interfaceConfiguration - description: Interface Configuration - label: Interface Configuration - schema: - 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: - 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 - show_subquestions_if: static - subquestions: - - variable: staticIPConfigurations - label: Static IP Addresses - schema: - type: list - items: - - variable: staticIP - label: Static IP - schema: - type: ipaddr - cidr: true - - variable: staticRoutes - label: Static Routes - schema: - type: list - 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: data - label: "App Data Storage" - description: "This is where paperless stores all its data (search index, classification model, etc)" - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: consume - label: "To-be consumed Document Storage" - description: "This where your documents should go to be consumed." - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: media - label: "App Document Storage" - description: "This is where your documents and thumbnails are stored." - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - show_if: [["clusterIssuer", "=", ""]] - type: string - default: "" - - variable: entrypoint - label: (Advanced) Traefik Entrypoint - description: Entrypoint used by Traefik when using Traefik as Ingress Provider - schema: - type: string - default: websecure - required: true - - variable: ingressClassName - label: (Advanced/Optional) IngressClass Name - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: security - label: Container Security Settings - group: Security and Permissions - schema: - type: dict - additional_attrs: true - attrs: - - variable: editsecurity - label: Change PUID / UMASK values - description: By enabling this you override default set values. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - 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 - 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: "002" - - variable: advancedSecurity - label: Show Advanced Security Settings - group: Security and Permissions - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: securityContext - label: Security Context - schema: - additional_attrs: true - type: dict - attrs: - - variable: privileged - label: "Privileged mode" - schema: - type: boolean - default: false - - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" - schema: - type: boolean - default: false - - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" - schema: - type: boolean - default: false - - variable: runAsNonRoot - label: "runAsNonRoot" - schema: - type: boolean - default: false - - variable: podSecurityContext - group: Security and Permissions - label: Pod Security Context - schema: - additional_attrs: true - type: dict - attrs: - - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" - schema: - type: int - default: 0 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 0 - - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." - schema: - type: int - default: 568 - - variable: fsGroupChangePolicy - label: "When should we take ownership?" - schema: - type: string - default: OnRootMismatch - enum: - - value: OnRootMismatch - description: OnRootMismatch - - value: Always - description: Always - - variable: supplementalGroups - label: Supplemental Groups - schema: - type: list - default: [] - items: - - variable: supplementalGroupsEntry - label: Supplemental Group - schema: - type: int - - 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: hostPath - 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" - # Specify GPU configuration - - variable: scaleGPU - label: GPU Configuration - group: Resources and Devices - schema: - type: dict - $ref: - - "definitions/gpuConfiguration" - attrs: [] -# - 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: git - label: Git Settings - schema: - additional_attrs: true - type: dict - attrs: - - variable: deployKey - description: Raw SSH Private Key - label: Deploy Key - schema: - type: string - - variable: deployKeyBase64 - description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence - label: Deploy Key Base64 - schema: - type: string - - 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: 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: 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: nodePort - description: Leave Empty to Disable - label: nodePort DEPRECATED - 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: 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: openvpn - description: OpenVPN - - value: wireguard - description: Wireguard - - value: tailscale - description: Tailscale - - variable: openvpn - label: OpenVPN Settings - schema: - 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 - default: "" - required: true - - variable: tailscale - label: Tailscale Settings - schema: - 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: dict - show_if: [["type", "!=", "disabled"]] - attrs: - - variable: enabled - label: Enabled - schema: - type: boolean - default: true - hidden: true - - variable: type - label: Type - schema: - type: string - default: hostPath - hidden: true - - variable: hostPathType - label: hostPathType - schema: - type: string - default: File - hidden: true - - variable: noMount - label: noMount - schema: - type: boolean - default: true - hidden: true - - variable: hostPath - label: Full Path to File - description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" - schema: - type: string - 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 - - 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/paperless-ng/7.0.32/templates/_sercrets.tpl b/stable/paperless-ng/7.0.32/templates/_sercrets.tpl deleted file mode 100644 index 79413e7191d..00000000000 --- a/stable/paperless-ng/7.0.32/templates/_sercrets.tpl +++ /dev/null @@ -1,20 +0,0 @@ -{{/* Define the secrets */}} -{{- define "paperlessng.secrets" -}} ---- - -apiVersion: v1 -kind: Secret -type: Opaque -metadata: - name: paperlessng-secrets -{{- $paperlessprevious := lookup "v1" "Secret" .Release.Namespace "paperlessng-secrets" }} -{{- $secret_key := "" }} -data: - {{- if $paperlessprevious}} - PAPERLESS_SECRET_KEY: {{ index $paperlessprevious.data "PAPERLESS_SECRET_KEY" }} - {{- else }} - {{- $secret_key := randAlphaNum 32 }} - PAPERLESS_SECRET_KEY: {{ $secret_key | b64enc }} - {{- end }} - -{{- end -}} diff --git a/stable/paperless-ng/7.0.32/templates/common.yaml b/stable/paperless-ng/7.0.32/templates/common.yaml deleted file mode 100644 index fddadb2a1f7..00000000000 --- a/stable/paperless-ng/7.0.32/templates/common.yaml +++ /dev/null @@ -1,8 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{ include "tc.common.loader.init" . }} - -{{/* Render secrets for paperlessng */}} -{{- include "paperlessng.secrets" . }} - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} diff --git a/stable/paperless-ng/7.0.32/values.yaml b/stable/paperless-ng/7.0.32/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/stable/paperless-ng/item.yaml b/stable/paperless-ng/item.yaml deleted file mode 100644 index bf4743c0dd8..00000000000 --- a/stable/paperless-ng/item.yaml +++ /dev/null @@ -1,4 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/paperless-ng.png -categories: -- productivity - diff --git a/stable/portainer-ce/3.0.15/CHANGELOG.md b/stable/portainer-ce/3.0.15/CHANGELOG.md deleted file mode 100644 index 08606b1ca03..00000000000 --- a/stable/portainer-ce/3.0.15/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [portainer-ce-3.0.15](https://github.com/truecharts/charts/compare/portainer-ce-3.0.14...portainer-ce-3.0.15) (2023-05-01) - -### Chore - -- update container image tccr.io/truecharts/portainer-ce to v2.18.1 ([#8649](https://github.com/truecharts/charts/issues/8649)) - - ### Fix - -- Fix digest on portainer-be image ([#7790](https://github.com/truecharts/charts/issues/7790)) - - - - -## [portainer-ce-3.0.14](https://github.com/truecharts/charts/compare/portainer-ce-3.0.13...portainer-ce-3.0.14) (2023-03-11) - -### Feat - -- add be image ([#7783](https://github.com/truecharts/charts/issues/7783)) - - - - -## [portainer-ce-3.0.13](https://github.com/truecharts/charts/compare/portainer-ce-3.0.12...portainer-ce-3.0.13) (2023-02-23) - -### Chore - -- update container image tccr.io/truecharts/portainer-ce to 2.17.1 - - - - -## [portainer-ce-3.0.12](https://github.com/truecharts/charts/compare/portainer-ce-3.0.11...portainer-ce-3.0.12) (2023-02-22) - -### Chore - -- update container image tccr.io/truecharts/portainer-ce to v2.17.1 - - - - -## [portainer-ce-3.0.11](https://github.com/truecharts/charts/compare/portainer-ce-3.0.10...portainer-ce-3.0.11) (2023-02-10) - -### Fix - -- ensure new helm deps repo is used in latest releases as well. - - - - -## [portainer-ce-3.0.10](https://github.com/truecharts/charts/compare/portainer-ce-3.0.9...portainer-ce-3.0.10) (2023-02-08) - -### Chore - -- update container image tccr.io/truecharts/portainer-ce to v2.17.0 - - - - -## [portainer-ce-3.0.9](https://github.com/truecharts/charts/compare/portainer-ce-3.0.8...portainer-ce-3.0.9) (2023-02-03) - - - - -## [portainer-ce-3.0.8](https://github.com/truecharts/charts/compare/portainer-ce-3.0.7...portainer-ce-3.0.8) (2022-12-27) - -### Chore - -- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856)) - - - - -## [portainer-ce-3.0.7](https://github.com/truecharts/charts/compare/portainer-ce-3.0.6...portainer-ce-3.0.7) (2022-12-26) - -### Chore - -- update helm general non-major ([#5839](https://github.com/truecharts/charts/issues/5839)) - - - - -## [portainer-ce-3.0.6](https://github.com/truecharts/charts/compare/portainer-ce-3.0.5...portainer-ce-3.0.6) (2022-12-25) - -### Chore - -- update helm general non-major - - - - -## [portainer-ce-3.0.5](https://github.com/truecharts/charts/compare/portainer-ce-3.0.4...portainer-ce-3.0.5) (2022-12-19) - -### Chore diff --git a/stable/portainer-ce/3.0.15/Chart.yaml b/stable/portainer-ce/3.0.15/Chart.yaml deleted file mode 100644 index e1d709198a1..00000000000 --- a/stable/portainer-ce/3.0.15/Chart.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v2 -appVersion: "2.18.1" -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 11.1.2 -description: Container management made easy -home: https://truecharts.org/charts/stable/portainer-ce -icon: https://truecharts.org/img/hotlink-ok/chart-icons/portainer-ce.png -keywords: - - portainer -kubeVersion: ">=1.16.0-0" -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -name: portainer-ce -sources: - - https://github.com/truecharts/charts/tree/master/charts/stable/portainer-ce - - https://docs.portainer.io/start/install-ce/server - - https://docs.portainer.io/start/install/server -version: 3.0.15 -annotations: - truecharts.org/catagories: | - - management - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/stable/portainer-ce/3.0.15/README.md b/stable/portainer-ce/3.0.15/README.md deleted file mode 100644 index 701942c352f..00000000000 --- a/stable/portainer-ce/3.0.15/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 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%20Apps/Important-MUST-READ). -- 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/portainer-ce/3.0.15/app-changelog.md b/stable/portainer-ce/3.0.15/app-changelog.md deleted file mode 100644 index 0ea81d77b9f..00000000000 --- a/stable/portainer-ce/3.0.15/app-changelog.md +++ /dev/null @@ -1,13 +0,0 @@ - - -## [portainer-ce-3.0.15](https://github.com/truecharts/charts/compare/portainer-ce-3.0.14...portainer-ce-3.0.15) (2023-05-01) - -### Chore - -- update container image tccr.io/truecharts/portainer-ce to v2.18.1 ([#8649](https://github.com/truecharts/charts/issues/8649)) - - ### Fix - -- Fix digest on portainer-be image ([#7790](https://github.com/truecharts/charts/issues/7790)) - - \ No newline at end of file diff --git a/stable/portainer-ce/3.0.15/app-readme.md b/stable/portainer-ce/3.0.15/app-readme.md deleted file mode 100644 index a85a1c1526e..00000000000 --- a/stable/portainer-ce/3.0.15/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Container management made easy - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/portainer-ce](https://truecharts.org/charts/stable/portainer-ce) - ---- - -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/portainer-ce/3.0.15/charts/common-11.1.2.tgz b/stable/portainer-ce/3.0.15/charts/common-11.1.2.tgz deleted file mode 100644 index da62080e8a5..00000000000 Binary files a/stable/portainer-ce/3.0.15/charts/common-11.1.2.tgz and /dev/null differ diff --git a/stable/portainer-ce/3.0.15/ix_values.yaml b/stable/portainer-ce/3.0.15/ix_values.yaml deleted file mode 100644 index a118f3b0475..00000000000 --- a/stable/portainer-ce/3.0.15/ix_values.yaml +++ /dev/null @@ -1,87 +0,0 @@ -image: - repository: tccr.io/truecharts/portainer-ce - tag: 2.18.1@sha256:5cf05964150cd20101e793c4cebcd4a28ea3d157c843d3a55843ab7d79278fd1 - pullPolicy: IfNotPresent - -imageBe: - repository: tccr.io/truecharts/portainer-be - tag: 2.17.1@sha256:d83c8fa439ce749d4bdc68710b9c8ca2ae6e2a54b963ec47ddba6d97d4a34f36 - pullPolicy: IfNotPresent - -imageSelector: image - -portainer: - # Logo URL - logo: "" - # Enables Edge Compute Features - edge_compute: false - # Sets Snapshot interval - snapshot_interval: 5m - hide_labels: - # - label1=value1 - # - label2=value2 - -serviceAccount: - main: - enabled: true - -rbac: - main: - enabled: true - rules: - - apiGroups: - - "*" - resources: - - "*" - verbs: - - "*" - -probes: - liveness: - custom: true - spec: - httpGet: - path: / - port: 9443 - scheme: HTTPS - readiness: - custom: true - spec: - httpGet: - path: / - port: 9443 - scheme: HTTPS - startup: - custom: true - spec: - httpGet: - path: / - port: 9443 - scheme: HTTPS - -service: - main: - ports: - main: - port: 10400 - protocol: HTTPS - targetPort: 9443 - edge: - enabled: true - ports: - edge: - enabled: true - port: 10401 - targetPort: 10401 - -persistence: - data: - enabled: true - mountPath: "/data" - cache: - enabled: true - mountPath: "/.cache" - type: emptyDir - -portal: - enabled: true diff --git a/stable/portainer-ce/3.0.15/questions.yaml b/stable/portainer-ce/3.0.15/questions.yaml deleted file mode 100644 index 9d85e7ecebb..00000000000 --- a/stable/portainer-ce/3.0.15/questions.yaml +++ /dev/null @@ -1,1952 +0,0 @@ -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: 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: imageSelector - group: Container Image - label: Select Edition - schema: - type: string - default: image - enum: - - value: image - description: Community - - value: imageBe - description: Business - - variable: portainer - group: App Configuration - label: Portainer Configuration - schema: - additional_attrs: true - type: dict - attrs: - - variable: logo - label: Logo URL - description: Specifies the URL to the image to be displayed as a logo in the UI. If not specified, the Portainer logo is used instead. - schema: - type: string - default: "" - - variable: edge_compute - label: Edge Compute - description: Automatically enables Edge Compute features. - schema: - type: boolean - default: false - - variable: snapshot_interval - label: Snapshot Interval - description: Specifies the time interval between two environment snapshot jobs expressed as a string. For example 30s, 5m, 1h… Supported by the time.ParseDuration method - schema: - type: string - default: 5m - - variable: hide_labels - label: Hide Labels - description: Hides containers with a specific label in the UI. Format "label=value" - schema: - type: list - default: [] - items: - - variable: label - label: Label - schema: - type: string - default: "" - - variable: TZ - label: Timezone - group: "General Settings" - schema: - type: string - default: "Etc/UTC" - $ref: - - "definitions/timezone" - - 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: 10400 - required: true - - variable: edge - label: Edge Service - description: The Edge Service - 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: edge - label: Edge 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: 10401 - required: true - - variable: serviceexpert - group: Networking and Services - label: Show Expert Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: hostNetwork - group: Networking and Services - label: Host-Networking (Complicated) - schema: - hidden: true - type: boolean - default: false - - 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: - 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: - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: tls - label: TLS-Settings - schema: - type: list - show_if: [["certificateIssuer", "=", ""]] - 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: scaleCert - label: Use TrueNAS SCALE Certificate (Deprecated) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - show_if: [["certificateIssuer", "=", ""]] - type: string - default: "" - - variable: entrypoint - label: (Advanced) Traefik Entrypoint - description: Entrypoint used by Traefik when using Traefik as Ingress Provider - schema: - type: string - default: websecure - required: true - - variable: ingressClassName - label: (Advanced/Optional) IngressClass Name - 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: 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: 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: clusterIssuer - label: 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: tls - label: TLS-Settings - schema: - type: list - default: [] - show_if: [["clusterIssuer", "=", ""]] - 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: clusterIssuer - 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: [["clusterIssuer", "=", ""]] - type: int - $ref: - - "definitions/certificate" - - variable: secretName - label: Use Custom Secret (Advanced) - schema: - type: string - show_if: [["clusterIssuer", "=", ""]] - 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: 568 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID of the user running the application" - schema: - type: int - default: 568 - # 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: - 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: - 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: - 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 - - 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/portainer-ce/3.0.15/templates/_args.tpl b/stable/portainer-ce/3.0.15/templates/_args.tpl deleted file mode 100644 index 43c90bcc9ef..00000000000 --- a/stable/portainer-ce/3.0.15/templates/_args.tpl +++ /dev/null @@ -1,19 +0,0 @@ -{{- define "portainer.args" -}} -args: - - --tunnel-port={{ .Values.service.edge.ports.edge.port }} - - --http-disabled - {{- with .Values.portainer.logo }} - - --logo={{ . }} - {{- end }} - {{- if .Values.portainer.edge_compute }} - - --edge-compute - {{- end }} - {{- with .Values.portainer.snapshot_interval }} - - --snapshot-interval={{ . }} - {{- end }} - {{- if .Values.portainer.hide_labels }} - {{- range .Values.portainer.hide_labels }} - - --hide-label={{ . }} - {{- end }} - {{- end }} -{{- end -}} diff --git a/stable/portainer-ce/3.0.15/templates/common.yaml b/stable/portainer-ce/3.0.15/templates/common.yaml deleted file mode 100644 index 31fa3252a25..00000000000 --- a/stable/portainer-ce/3.0.15/templates/common.yaml +++ /dev/null @@ -1,10 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.common.loader.init" . }} - -{{- $newArgs := (include "portainer.args" . | fromYaml) }} -{{- $_ := set .Values "newArgs" $newArgs -}} -{{- $args := concat .Values.args .Values.newArgs.args }} -{{- $_ := set .Values "args" $args -}} - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} diff --git a/stable/portainer-ce/3.0.15/values.yaml b/stable/portainer-ce/3.0.15/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/stable/portainer-ce/item.yaml b/stable/portainer-ce/item.yaml deleted file mode 100644 index b601683296c..00000000000 --- a/stable/portainer-ce/item.yaml +++ /dev/null @@ -1,4 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/portainer-ce.png -categories: -- management - diff --git a/stable/statping/10.0.17/CHANGELOG.md b/stable/statping/10.0.17/CHANGELOG.md deleted file mode 100644 index 082c60de9a5..00000000000 --- a/stable/statping/10.0.17/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -**Important:** -*for the complete changelog, please refer to the website* - - - - -## [statping-10.0.17](https://github.com/truecharts/charts/compare/statping-10.0.16...statping-10.0.17) (2023-01-17) - -### Chore - -- update helm general non-major ([#6430](https://github.com/truecharts/charts/issues/6430)) - - - - -## [statping-10.0.16](https://github.com/truecharts/charts/compare/statping-10.0.15...statping-10.0.16) (2023-01-07) - -### Chore - -- update helm general non-major ([#6121](https://github.com/truecharts/charts/issues/6121)) - - - - -## [statping-10.0.15](https://github.com/truecharts/charts/compare/statping-10.0.14...statping-10.0.15) (2022-12-27) - -### Chore - -- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856)) - - - - -## [statping-10.0.14](https://github.com/truecharts/charts/compare/statping-ng-2.0.5...statping-10.0.14) (2022-12-26) - -### Chore - -- update helm general non-major ([#5839](https://github.com/truecharts/charts/issues/5839)) - - - - -## [statping-10.0.13](https://github.com/truecharts/charts/compare/statping-10.0.12...statping-10.0.13) (2022-12-25) - -### Chore - -- update helm general non-major - - - - -## [statping-10.0.12](https://github.com/truecharts/charts/compare/statping-10.0.11...statping-10.0.12) (2022-12-19) - -### Chore - -- update helm general non-major - - - - -## [statping-10.0.11](https://github.com/truecharts/charts/compare/statping-10.0.10...statping-10.0.11) (2022-12-18) - -### Chore - -- update helm chart postgresql to v11.0.13 ([#5495](https://github.com/truecharts/charts/issues/5495)) - - - - -## [statping-10.0.10](https://github.com/truecharts/charts/compare/statping-10.0.9...statping-10.0.10) (2022-12-13) - -### Chore - -- update helm general non-major - - - - -## [statping-10.0.9](https://github.com/truecharts/charts/compare/statping-ng-2.0.2...statping-10.0.9) (2022-12-05) - -### Chore - -- update helm general non-major - - - - -## [statping-10.0.8](https://github.com/truecharts/charts/compare/statping-10.0.6...statping-10.0.8) (2022-11-30) - - - - -## [statping-10.0.8](https://github.com/truecharts/charts/compare/statping-10.0.6...statping-10.0.8) (2022-11-30) - - - - -## [statping-10.0.8](https://github.com/truecharts/charts/compare/statping-10.0.6...statping-10.0.8) (2022-11-30) - diff --git a/stable/statping/10.0.17/Chart.yaml b/stable/statping/10.0.17/Chart.yaml deleted file mode 100644 index 00cb863f1ad..00000000000 --- a/stable/statping/10.0.17/Chart.yaml +++ /dev/null @@ -1,32 +0,0 @@ -apiVersion: v2 -appVersion: "0.90.78" -description: Status page for monitoring your websites and applications -name: statping -version: 10.0.17 -kubeVersion: ">=1.16.0-0" -keywords: - - statping - - status - - status-page -home: https://truecharts.org/charts/stable/statping -icon: https://truecharts.org/img/hotlink-ok/chart-icons/statping.png -sources: - - https://github.com/truecharts/charts/tree/master/charts/stable/statping - - https://github.com/statping/statping -dependencies: - - name: common - repository: https://library-charts.truecharts.org - version: 11.1.2 - - condition: postgresql.enabled - name: postgresql - repository: https://charts.truecharts.org/ - version: 11.0.20 -maintainers: - - email: info@truecharts.org - name: TrueCharts - url: https://truecharts.org -annotations: - truecharts.org/catagories: | - - media - truecharts.org/SCALE-support: "true" - truecharts.org/grade: U diff --git a/stable/statping/10.0.17/README.md b/stable/statping/10.0.17/README.md deleted file mode 100644 index 701942c352f..00000000000 --- a/stable/statping/10.0.17/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 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%20Apps/Important-MUST-READ). -- 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/statping/10.0.17/app-changelog.md b/stable/statping/10.0.17/app-changelog.md deleted file mode 100644 index 92fbef95f35..00000000000 --- a/stable/statping/10.0.17/app-changelog.md +++ /dev/null @@ -1,9 +0,0 @@ - - -## [statping-10.0.17](https://github.com/truecharts/charts/compare/statping-10.0.16...statping-10.0.17) (2023-01-17) - -### Chore - -- update helm general non-major ([#6430](https://github.com/truecharts/charts/issues/6430)) - - \ No newline at end of file diff --git a/stable/statping/10.0.17/app-readme.md b/stable/statping/10.0.17/app-readme.md deleted file mode 100644 index 55cbe75f5cd..00000000000 --- a/stable/statping/10.0.17/app-readme.md +++ /dev/null @@ -1,8 +0,0 @@ -Status page for monitoring your websites and applications - -This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/statping](https://truecharts.org/charts/stable/statping) - ---- - -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/statping/10.0.17/charts/common-11.1.2.tgz b/stable/statping/10.0.17/charts/common-11.1.2.tgz deleted file mode 100644 index da62080e8a5..00000000000 Binary files a/stable/statping/10.0.17/charts/common-11.1.2.tgz and /dev/null differ diff --git a/stable/statping/10.0.17/charts/postgresql-11.0.20.tgz b/stable/statping/10.0.17/charts/postgresql-11.0.20.tgz deleted file mode 100644 index eb214636cd4..00000000000 Binary files a/stable/statping/10.0.17/charts/postgresql-11.0.20.tgz and /dev/null differ diff --git a/stable/statping/10.0.17/ix_values.yaml b/stable/statping/10.0.17/ix_values.yaml deleted file mode 100644 index e414f08e982..00000000000 --- a/stable/statping/10.0.17/ix_values.yaml +++ /dev/null @@ -1,50 +0,0 @@ -image: - repository: tccr.io/truecharts/statping - tag: v0.90.78@sha256:4d1d4d3bb8c4174abd3b2209624e6246684a2a3bb8330d05b42924b232fb9f50 - pullPolicy: IfNotPresent - -secretEnv: - ADMIN_USER: "admin" - ADMIN_PASSWORD: "changeme" - ADMIN_EMAIL: "info@example.com" - -env: - NAME: "Statping Example" - DESCRIPTION: "This is a Statping instance deployed as Helm chart" - VIRTUAL_HOST: "" - USE_CDN: false - DISABLE_LOGS: false - DB_CONN: "postgres" - DB_DATABASE: "{{ .Values.postgresql.postgresqlDatabase }}" - DB_USER: "{{ .Values.postgresql.postgresqlUsername }}" - DB_PORT: "5432" - POSTGRES_SSLMODE: "disable" - DB_PASS: - secretKeyRef: - name: dbcreds - key: postgresql-password - DB_HOST: - secretKeyRef: - name: dbcreds - key: plainhost - -service: - main: - ports: - main: - port: 10099 - targetPort: 8080 - -persistence: - data: - enabled: true - mountPath: "/app" - -postgresql: - enabled: true - existingSecret: "dbcreds" - postgresqlUsername: postgres - postgresqlDatabase: postgres - -portal: - enabled: true diff --git a/stable/statping/10.0.17/questions.yaml b/stable/statping/10.0.17/questions.yaml deleted file mode 100644 index 2412922aa10..00000000000 --- a/stable/statping/10.0.17/questions.yaml +++ /dev/null @@ -1,1891 +0,0 @@ -groups: - - name: Container Image - description: Image to be used for container - - name: General Settings - description: General Deployment 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: VPN - description: VPN - - name: Addons - description: Addon Configuration - - name: Advanced - description: Advanced Configuration - - name: Documentation - description: Documentation -portals: - open: - protocols: - - "$kubernetes-resource_configmap_portal_protocol" - host: - - "$kubernetes-resource_configmap_portal_host" - ports: - - "$kubernetes-resource_configmap_portal_port" -questions: - - variable: global - label: Global Settings - group: "General Settings" - schema: - type: dict - hidden: true - attrs: - - variable: isSCALE - label: Flag this is SCALE - schema: - type: boolean - default: true - hidden: true - - variable: controller - group: "General Settings" - label: "" - schema: - additional_attrs: true - type: dict - attrs: - - variable: replicas - description: Number of desired pod replicas - label: Desired Replicas - schema: - type: int - required: true - default: 1 - - variable: customextraargs - group: "General Settings" - label: "Extra Args" - description: "Do not click this unless you know what you are doing" - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: extraArgs - label: Extra Args - schema: - type: list - default: [] - items: - - variable: arg - label: Arg - schema: - type: string - - variable: secretEnv - group: "App Configuration" - label: "Image Secrets" - schema: - additional_attrs: true - type: dict - attrs: - - variable: ADMIN_USER - label: "ADMIN_USER" - description: "Sets the ADMIN_USER env var" - schema: - type: string - default: "admin" - - variable: ADMIN_PASSWORD - label: "ADMIN_PASSWORD" - description: "Sets the ADMIN_PASSWORD env var" - schema: - type: string - default: "changeme" - - variable: ADMIN_EMAIL - label: "ADMIN_EMAIL" - description: "Sets the ADMIN_EMAIL env var" - schema: - type: string - default: "" - - variable: env - group: "App Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: NAME - label: "NAME" - description: "Sets the NAME env var" - schema: - type: string - default: "Statping Example" - - variable: DESCRIPTION - label: "DESCRIPTION" - description: "Sets the DESCRIPTION env var" - schema: - type: string - default: "This is a Statping instance deployed as Helm chart" - - variable: VIRTUAL_HOST - label: "VIRTUAL_HOST" - description: "Sets the VIRTUAL_HOST env var" - schema: - type: string - default: "" - - variable: USE_CDN - label: "USE_CDN" - description: "Sets the USE_CDN env var" - schema: - type: boolean - default: false - - variable: DISABLE_LOGS - label: "DISABLE_LOGS" - description: "Sets the DISABLE_LOGS env var" - schema: - type: boolean - default: false - - variable: TZ - label: Timezone - group: "General Settings" - schema: - type: string - default: "Etc/UTC" - $ref: - - "definitions/timezone" - - 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..." - group: "General Settings" - 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: 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) - - 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: 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: 10099 - required: true - - variable: serviceexpert - group: Networking and Services - label: Show Expert Config - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: hostNetwork - group: Networking and Services - label: Host-Networking (Complicated) - schema: - type: boolean - default: false - - variable: externalInterfaces - description: Add External Interfaces - label: Add external Interfaces - group: Networking - schema: - type: list - items: - - variable: interfaceConfiguration - description: Interface Configuration - label: Interface Configuration - schema: - 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: - 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 - show_subquestions_if: static - subquestions: - - variable: staticIPConfigurations - label: Static IP Addresses - schema: - type: list - items: - - variable: staticIP - label: Static IP - schema: - type: ipaddr - cidr: true - - variable: staticRoutes - label: Static Routes - schema: - type: list - 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: data - label: "App Data Storage" - description: "Stores the Application Data." - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: setPermissions - label: Automatic Permissions - description: Automatically set permissions on install - schema: - show_if: [["type", "=", "hostPath"]] - 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: tls - label: TLS-Settings - schema: - type: list - 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: scaleCert - label: Select TrueNAS SCALE Certificate - schema: - type: int - $ref: - - "definitions/certificate" - - variable: entrypoint - label: (Advanced) Traefik Entrypoint - description: Entrypoint used by Traefik when using Traefik as Ingress Provider - schema: - type: string - default: websecure - required: true - - variable: ingressClassName - label: (Advanced/Optional) IngressClass Name - 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: 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: 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: tls - label: TLS-Settings - schema: - type: list - 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: scaleCert - label: Select TrueNAS SCALE Certificate - schema: - type: int - $ref: - - "definitions/certificate" - - 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: security - label: Container Security Settings - group: Security and Permissions - schema: - type: dict - additional_attrs: true - attrs: - - variable: editsecurity - label: Change PUID / UMASK values - description: By enabling this you override default set values. - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - 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 - 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: "002" - - variable: advancedSecurity - label: Show Advanced Security Settings - group: Security and Permissions - schema: - type: boolean - default: false - show_subquestions_if: true - subquestions: - - variable: securityContext - label: Security Context - schema: - additional_attrs: true - type: dict - attrs: - - variable: privileged - label: "Privileged mode" - schema: - type: boolean - default: false - - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" - schema: - type: boolean - default: true - - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" - schema: - type: boolean - default: false - - variable: runAsNonRoot - label: "runAsNonRoot" - schema: - type: boolean - default: true - - variable: podSecurityContext - group: Security and Permissions - label: Pod Security Context - schema: - additional_attrs: true - type: dict - attrs: - - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" - schema: - type: int - default: 568 - - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" - schema: - type: int - default: 568 - - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." - schema: - type: int - default: 568 - - variable: fsGroupChangePolicy - label: "When should we take ownership?" - schema: - type: string - default: OnRootMismatch - enum: - - value: OnRootMismatch - description: OnRootMismatch - - value: Always - description: Always - - variable: supplementalGroups - label: Supplemental Groups - schema: - type: list - default: [] - items: - - variable: supplementalGroupsEntry - label: Supplemental Group - schema: - type: int - - 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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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/docs/manual/SCALE%20Apps/indepth/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: hostPath - 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" - # Specify GPU configuration - - variable: scaleGPU - label: GPU Configuration - group: Resources and Devices - schema: - type: dict - $ref: - - "definitions/gpuConfiguration" - attrs: [] - - 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: git - label: Git Settings - schema: - additional_attrs: true - type: dict - attrs: - - variable: deployKey - description: Raw SSH Private Key - label: Deploy Key - schema: - type: string - - variable: deployKeyBase64 - description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence - label: Deploy Key Base64 - schema: - type: string - - 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: 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: 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: nodePort - description: Leave Empty to Disable - label: nodePort DEPRECATED - 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: 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: openvpn - description: OpenVPN - - value: wireguard - description: Wireguard - - value: tailscale - description: Tailscale - - variable: openvpn - label: OpenVPN Settings - schema: - 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 - default: "" - required: true - - variable: tailscale - label: Tailscale Settings - schema: - 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: dict - show_if: [["type", "!=", "disabled"]] - attrs: - - variable: enabled - label: Enabled - schema: - type: boolean - default: true - hidden: true - - variable: type - label: Type - schema: - type: string - default: hostPath - hidden: true - - variable: hostPathType - label: hostPathType - schema: - type: string - default: File - hidden: true - - variable: noMount - label: noMount - schema: - type: boolean - default: true - hidden: true - - variable: hostPath - label: Full Path to File - description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn" - schema: - type: string - 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 - - 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/statping/10.0.17/templates/common.yaml b/stable/statping/10.0.17/templates/common.yaml deleted file mode 100644 index 21f0c9783c3..00000000000 --- a/stable/statping/10.0.17/templates/common.yaml +++ /dev/null @@ -1,12 +0,0 @@ -{{/* Make sure all variables are set properly */}} -{{- include "tc.common.loader.init" . }} - -{{/* Append the hardcoded settings */}} -{{- define "statping.hardcodedValues" -}} -env: - VIRTUAL_PORT: {{ .Values.service.main.ports.main.port }} -{{- end -}} -{{- $_ := mergeOverwrite .Values (include "statping.hardcodedValues" . | fromYaml) -}} - -{{/* Render the templates */}} -{{ include "tc.common.loader.apply" . }} diff --git a/stable/statping/10.0.17/values.yaml b/stable/statping/10.0.17/values.yaml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/stable/statping/item.yaml b/stable/statping/item.yaml deleted file mode 100644 index cd148c2feda..00000000000 --- a/stable/statping/item.yaml +++ /dev/null @@ -1,4 +0,0 @@ -icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/statping.png -categories: -- media -