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
-