Storage rework part 1 (#337)
* Create docs for Integrated Persistent Storage * add a clear note about possibly moving to PVC's in the (near) future. * Adapt developer docs to reflect new storage system * Move Apps fixed-storage to new Storage system
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: collabora-online
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
# upstream_version:
|
||||
appVersion: "auto"
|
||||
description: Collabora Online Development Edition – an awesome, Online Office suite image suitable for home use.
|
||||
@@ -1,55 +0,0 @@
|
||||
# Default values for emby.
|
||||
|
||||
image:
|
||||
repository: ghcr.io/truecharts/emby
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v4.5.4.0
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# 44=video 107=render
|
||||
supplementalGroups: 44,107
|
||||
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 8096
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
media:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /data
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
|
||||
## TrueCharts Config
|
||||
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/config"
|
||||
media:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/data"
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: emby
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
# upstream_version:
|
||||
appVersion: "auto"
|
||||
description: Emby Server is a home media server
|
||||
@@ -0,0 +1,430 @@
|
||||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Workload Configuration"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
- name: "Reverse Proxy Configuration"
|
||||
description: "Reverse Proxy configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
- name: "WARNING"
|
||||
description: "WARNING"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
|
||||
questions:
|
||||
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
label: "Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
enum:
|
||||
- value: "RollingUpdate"
|
||||
description: "Create new pods and then kill old ones"
|
||||
- value: "Recreate"
|
||||
description: "Kill existing pods before creating new ones"
|
||||
|
||||
# Configure Time Zone
|
||||
# Configure Time Zone
|
||||
- variable: timezone
|
||||
group: "Container Image"
|
||||
label: "Timezone"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
|
||||
- variable: PUID
|
||||
group: "Container Image"
|
||||
label: "PUID"
|
||||
description: "The UserID of the user running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
description: "The groupID of the user/group running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: UMASK
|
||||
group: "Container Image"
|
||||
label: "UMASK (advanced)"
|
||||
description: "The UMASK used if supported by the application"
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
# Configure Enviroment Variables
|
||||
- variable: environmentVariables
|
||||
label: "Image environment"
|
||||
group: "Configuration"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: environmentVariable
|
||||
label: "Environment Variable"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Enable Host Networking
|
||||
- variable: hostNetwork
|
||||
group: "Networking"
|
||||
label: "Enable Host Networking"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: services
|
||||
group: "Networking"
|
||||
label: "Configure Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
|
||||
schema:
|
||||
type: string
|
||||
default: "ClusterIP"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- variable: port
|
||||
label: "Port configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: false
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- variable: port
|
||||
label: "container port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: targetport
|
||||
label: "Internal Service port"
|
||||
description: "When connecting internally to this App, you'll need this port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: nodePort
|
||||
label: "(optional) host nodePort to expose to"
|
||||
description: "only get used when nodePort is selected"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36052
|
||||
required: true
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
# Specify GPU configuration
|
||||
- variable: gpuConfiguration
|
||||
label: "GPU Configuration"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "definitions/gpuConfiguration"
|
||||
attrs: []
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Web Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
@@ -0,0 +1,27 @@
|
||||
# Default values for emby.
|
||||
|
||||
image:
|
||||
repository: ghcr.io/truecharts/emby
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v4.5.4.0
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# 44=video 107=render
|
||||
supplementalGroups: 44,107
|
||||
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 8096
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
@@ -1,49 +0,0 @@
|
||||
# Default values for esphome.
|
||||
|
||||
image:
|
||||
repository: esphome/esphome
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.16.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 6052
|
||||
|
||||
env: {}
|
||||
# ESPHOME_DASHBOARD_USE_PING: true
|
||||
# ESPHOME_DASHBOARD_RELATIVE_URL: "/"
|
||||
# ESPHOME_QUICKWIZARD:
|
||||
# ESPHOME_IS_HASSIO:
|
||||
# DISABLE_HA_AUTHENTICATION:
|
||||
# USERNAME:
|
||||
# PASSWORD:
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
|
||||
## TrueCharts Config
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/config"
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: esphome
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
upstream_version: 4.3.1
|
||||
appVersion: "auto"
|
||||
description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
|
||||
@@ -7,7 +7,7 @@ groups:
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
@@ -45,7 +45,6 @@ questions:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
@@ -78,6 +77,19 @@ questions:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
@@ -93,17 +105,16 @@ questions:
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
# Configure Enviroment Variables
|
||||
- variable: environmentVariables
|
||||
label: "Image environment"
|
||||
- variable: environment
|
||||
group: "Configuration"
|
||||
label: "Environment Variables"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: environmentVariable
|
||||
label: "Environment Variable"
|
||||
label: ""
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
@@ -116,6 +127,7 @@ questions:
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Service Configuration
|
||||
# Enable Host Networking
|
||||
- variable: hostNetwork
|
||||
group: "Networking"
|
||||
@@ -173,7 +185,7 @@ questions:
|
||||
label: "container port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
default: 6052
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: targetport
|
||||
@@ -181,7 +193,7 @@ questions:
|
||||
description: "When connecting internally to this App, you'll need this port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
default: 6052
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: nodePort
|
||||
@@ -194,133 +206,122 @@ questions:
|
||||
default: 36052
|
||||
required: true
|
||||
|
||||
## TrueCharts Specific
|
||||
# Configure app volumes
|
||||
|
||||
- variable: appVolumeMounts
|
||||
label: "app storage"
|
||||
group: "Storage and Devices"
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Config ------------------------
|
||||
- variable: config
|
||||
label: "config dataset"
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: "config"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
type: string
|
||||
default: "/config"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
- variable: media
|
||||
label: "media dataset"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "media"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: "/data"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
type: string
|
||||
default: "100Gi"
|
||||
- variable: platformio
|
||||
label: "Platformio Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/.platformio"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
@@ -379,16 +380,6 @@ questions:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
# Specify GPU configuration
|
||||
- variable: gpuConfiguration
|
||||
label: "GPU Configuration"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "definitions/gpuConfiguration"
|
||||
attrs: []
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
@@ -0,0 +1,32 @@
|
||||
# Default values for esphome.
|
||||
|
||||
image:
|
||||
repository: esphome/esphome
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.16.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 6052
|
||||
|
||||
env: {}
|
||||
# ESPHOME_DASHBOARD_USE_PING: true
|
||||
# ESPHOME_DASHBOARD_RELATIVE_URL: "/"
|
||||
# ESPHOME_QUICKWIZARD:
|
||||
# ESPHOME_IS_HASSIO:
|
||||
# DISABLE_HA_AUTHENTICATION:
|
||||
# USERNAME:
|
||||
# PASSWORD:
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
@@ -1,910 +0,0 @@
|
||||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Workload Configuration"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
- name: "Reverse Proxy Configuration"
|
||||
description: "Reverse Proxy configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
- name: "WARNING"
|
||||
description: "WARNING"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "https"
|
||||
host:
|
||||
- "$variable-ingress.hosts[0].host"
|
||||
ports:
|
||||
- "443"
|
||||
|
||||
questions:
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
label: "Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
enum:
|
||||
- value: "RollingUpdate"
|
||||
description: "Create new pods and then kill old ones"
|
||||
- value: "Recreate"
|
||||
description: "Kill existing pods before creating new ones"
|
||||
|
||||
# Configure Time Zone
|
||||
- variable: timezone
|
||||
group: "Container Image"
|
||||
label: "Timezone"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
|
||||
- variable: PUID
|
||||
group: "Container Image"
|
||||
label: "PUID"
|
||||
description: "The UserID of the user running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
description: "The groupID of the user/group running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: UMASK
|
||||
group: "Container Image"
|
||||
label: "UMASK (advanced)"
|
||||
description: "The UMASK used if supported by the application"
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: appVolumeMounts
|
||||
label: "app storage"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Data ------------------------
|
||||
- variable: data
|
||||
label: "data dataset"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "config"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: "/data"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "WebUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP-IR"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: "api@internal"
|
||||
- variable: serviceKind
|
||||
label: "Service Kind to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: "TraefikService"
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
- variable: ports
|
||||
label: "(Advanced) Traefik Entrypoints"
|
||||
group: "Advanced"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: traefik
|
||||
label: "traefik internal"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 9000
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
default: 9000
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
default: "TCP"
|
||||
|
||||
- variable: web
|
||||
label: "web"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 8081
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 80
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: redirectEnable
|
||||
label: "Enable Redirect"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: redirectTo
|
||||
label: "Target Entrypoint"
|
||||
description: "Select the Target Entrypoint to redirect to"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "websecure"
|
||||
- variable: websecure
|
||||
label: "websecure"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 8443
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 443
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: plex
|
||||
label: "plex"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 32400
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: false
|
||||
default: 32400
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: kms
|
||||
label: "kms"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 51688
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 1688
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: dns-tcp
|
||||
label: "dns-tcp"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 5353
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 53
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: dns-udp
|
||||
label: "dns-udp"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 5353
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 53
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "UDP"
|
||||
hidden: true
|
||||
- variable: stun-tcp
|
||||
label: "stun-tcp"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 3478
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 3478
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
- variable: stun-udp
|
||||
label: "stun-udp"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 3478
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 3478
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "UDP"
|
||||
hidden: true
|
||||
- variable: radius
|
||||
label: "radius"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 51812
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 1812
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "UDP"
|
||||
hidden: true
|
||||
- variable: radius-acc
|
||||
label: "radius-acc"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 51813
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 1813
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "UDP"
|
||||
hidden: true
|
||||
- variable: ldaps
|
||||
label: "ldaps"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
default: 50636
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 636
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "TCP"
|
||||
- variable: unificom
|
||||
label: "unificom"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: "Internal Port"
|
||||
description: "(advanced) Port inside the container network"
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
hidden: true
|
||||
hide: true
|
||||
default: 8080
|
||||
- variable: expose
|
||||
label: "Expose to Outside"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: exposedPort
|
||||
label: "Outside Port"
|
||||
description: "Port to the outside of all(!) nodes"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["expose", "=", true]]
|
||||
required: true
|
||||
default: 8080
|
||||
- variable: protocol
|
||||
label: "Protocol"
|
||||
description: "TCP or UDP reverse proxying?"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "TCP"
|
||||
hidden: true
|
||||
|
||||
- variable: externalServices
|
||||
label: "(Advanced) Add External Services"
|
||||
group: "Advanced"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalService
|
||||
label: "External Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
hidden: true
|
||||
editable: false
|
||||
default: true
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: serviceTarget
|
||||
label: "IP Adress of the external service"
|
||||
schema:
|
||||
hidden: false
|
||||
editable: true
|
||||
required: true
|
||||
type: string
|
||||
default: "192.168.0.0"
|
||||
- variable: servicePort
|
||||
label: "External Service Port"
|
||||
description: "The port on the external service you want to proxy"
|
||||
schema:
|
||||
hidden: false
|
||||
required: true
|
||||
editable: true
|
||||
type: int
|
||||
default: 80
|
||||
- variable: serviceType
|
||||
label: "Connection Type"
|
||||
description: "Connection Type between Traefik and the external service"
|
||||
schema:
|
||||
hidden: false
|
||||
editable: true
|
||||
required: true
|
||||
default: "HTTP"
|
||||
type: string
|
||||
enum:
|
||||
- value: "HTTP"
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- variable: serviceKind
|
||||
label: "Service Kind to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: false
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
- variable: warning
|
||||
label: "This App binds to the same ports as the defaults for TrueNAS SCALE UI (80 and 443). This means you may not be able to access the TrueNAS SCALE UI after starting the App."
|
||||
description: "Please be sure to set the UI to a different port or adapter"
|
||||
group: "WARNING"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: confirm-warning
|
||||
description: "Check this to confirm you have made precautions against conflicts on port 80 and 443, such as running the TrueNAS SCALE UI on a different port or adapter."
|
||||
label: "I understand above warning and its consequences"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
required: true
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: handbrake
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
# upstream_version:
|
||||
appVersion: "auto"
|
||||
description: HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs.
|
||||
@@ -0,0 +1,303 @@
|
||||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Workload Configuration"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
- name: "Reverse Proxy Configuration"
|
||||
description: "Reverse Proxy configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
- name: "WARNING"
|
||||
description: "WARNING"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "https"
|
||||
host:
|
||||
- "$variable-ingress.hosts[0].host"
|
||||
ports:
|
||||
- "443"
|
||||
|
||||
questions:
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
label: "Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
enum:
|
||||
- value: "RollingUpdate"
|
||||
description: "Create new pods and then kill old ones"
|
||||
- value: "Recreate"
|
||||
description: "Kill existing pods before creating new ones"
|
||||
|
||||
# Configure Time Zone
|
||||
- variable: timezone
|
||||
group: "Container Image"
|
||||
label: "Timezone"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
|
||||
- variable: PUID
|
||||
group: "Container Image"
|
||||
label: "PUID"
|
||||
description: "The UserID of the user running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
description: "The groupID of the user/group running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: UMASK
|
||||
group: "Container Image"
|
||||
label: "UMASK (advanced)"
|
||||
description: "The UMASK used if supported by the application"
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: data
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/data"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Web Reverse Proxy Configuration"
|
||||
group: "Reverse Proxy"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
@@ -45,55 +45,35 @@ env:
|
||||
AUTOMATED_CONVERSION_NON_VIDEO_FILE_ACTION: "ignore"
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /config
|
||||
|
||||
storage:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /storage # This can be read only
|
||||
|
||||
watch:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /watch
|
||||
|
||||
output:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /output
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
datasetName: "config"
|
||||
mountPath: "/config"
|
||||
hostPathEnabled: true
|
||||
setPermissions: true
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
|
||||
storage:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
datasetName: "storage"
|
||||
mountPath: "/storage"
|
||||
hostPathEnabled: true
|
||||
setPermissions: true
|
||||
|
||||
watch:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
datasetName: "watch"
|
||||
mountPath: "/watch"
|
||||
hostPathEnabled: true
|
||||
setPermissions: true
|
||||
|
||||
output:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
datasetName: "output"
|
||||
mountPath: "/output"
|
||||
hostPathEnabled: true
|
||||
setPermissions: true
|
||||
|
||||
# opticaldrive:
|
||||
# enabled: true
|
||||
# emptyDir: true
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: home-assistant
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
upstream_version: 5.3.0
|
||||
appVersion: "auto"
|
||||
description: home-assistant App for TrueNAS SCALE
|
||||
+105
-105
@@ -7,7 +7,7 @@ groups:
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
@@ -76,6 +76,19 @@ questions:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
@@ -211,20 +224,76 @@ questions:
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
# Configure app volumes
|
||||
- variable: appVolumeMounts
|
||||
group: "Storage and Devices"
|
||||
label: ""
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Config ------------------------
|
||||
- variable: config
|
||||
label: "Config Volume"
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/usr/src/app/store"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
@@ -241,6 +310,13 @@ questions:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
@@ -248,33 +324,32 @@ questions:
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "config"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: mountPath
|
||||
label: "Mount path inside the container"
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
default: "/usr/src/app/store"
|
||||
editable: false
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "Config - Enable Host Path"
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Config Host Path"
|
||||
description: "Host path to store config"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: appVolumeMounts
|
||||
group: "Resource Reservation"
|
||||
label: "Mount USB devices"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Z-Wave device -----------------
|
||||
- variable: zwave
|
||||
label: "USB Z-Wave Device"
|
||||
@@ -366,81 +441,6 @@ questions:
|
||||
default: "/dev/ttyACM0"
|
||||
required: true
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Storage and Devices"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: false
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
+6
-24
@@ -48,20 +48,12 @@ prometheus:
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
|
||||
# # Path to your Z-Wave / Zigbee device in the container
|
||||
# additionalVolumeMounts:
|
||||
@@ -111,13 +103,3 @@ influxdb:
|
||||
enabled: false
|
||||
# storageClass: ""
|
||||
# size: 8Gi
|
||||
|
||||
|
||||
## TrueCharts Config
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/config"
|
||||
@@ -1,66 +0,0 @@
|
||||
# Default values for Jackett.
|
||||
|
||||
image:
|
||||
repository: ghcr.io/truecharts/jackett
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.17.882
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
|
||||
services:
|
||||
main:
|
||||
enabled: true
|
||||
port:
|
||||
port: 9117
|
||||
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
# PUID: 1001
|
||||
# PGID: 1001
|
||||
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
torrentblackhole:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /downloads
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
|
||||
|
||||
## TrueCharts Values
|
||||
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
# Used when including ingress using {{ include "common.ingress" . }}
|
||||
type: "HTTP"
|
||||
entrypoint: "websecure"
|
||||
certType: ""
|
||||
annotations: {}
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
path: /
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/config"
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: jackett
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
upstream_version: 7.0.1
|
||||
appVersion: "auto"
|
||||
description: API Support for your favorite torrent trackers.
|
||||
@@ -7,7 +7,7 @@ groups:
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
@@ -77,6 +77,19 @@ questions:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
@@ -195,74 +208,68 @@ questions:
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: appVolumeMounts
|
||||
label: "app storage"
|
||||
group: "Storage and Devices"
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Config ------------------------
|
||||
- variable: config
|
||||
label: "config dataset"
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: "config"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
type: string
|
||||
default: "/config"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
@@ -0,0 +1,46 @@
|
||||
# Default values for Jackett.
|
||||
|
||||
image:
|
||||
repository: ghcr.io/truecharts/jackett
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.17.882
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
|
||||
services:
|
||||
main:
|
||||
enabled: true
|
||||
port:
|
||||
port: 9117
|
||||
|
||||
env: {}
|
||||
# TZ: UTC
|
||||
# PUID: 1001
|
||||
# PGID: 1001
|
||||
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
|
||||
|
||||
## TrueCharts Values
|
||||
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
# Used when including ingress using {{ include "common.ingress" . }}
|
||||
type: "HTTP"
|
||||
entrypoint: "websecure"
|
||||
certType: ""
|
||||
annotations: {}
|
||||
hosts:
|
||||
- host: chart-example.local
|
||||
path: /
|
||||
@@ -1,480 +0,0 @@
|
||||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Workload Configuration"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
- name: "Reverse Proxy Configuration"
|
||||
description: "Reverse Proxy configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
- name: "WARNING"
|
||||
description: "WARNING"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
|
||||
questions:
|
||||
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
label: "Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
enum:
|
||||
- value: "RollingUpdate"
|
||||
description: "Create new pods and then kill old ones"
|
||||
- value: "Recreate"
|
||||
description: "Kill existing pods before creating new ones"
|
||||
|
||||
# Configure Time Zone
|
||||
# Configure Time Zone
|
||||
- variable: timezone
|
||||
group: "Container Image"
|
||||
label: "Timezone"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
|
||||
- variable: PUID
|
||||
group: "Container Image"
|
||||
label: "PUID"
|
||||
description: "The UserID of the user running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
description: "The groupID of the user/group running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: UMASK
|
||||
group: "Container Image"
|
||||
label: "UMASK (advanced)"
|
||||
description: "The UMASK used if supported by the application"
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
# Configure Enviroment Variables
|
||||
- variable: environmentVariables
|
||||
label: "Image environment"
|
||||
group: "Configuration"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: environmentVariable
|
||||
label: "Environment Variable"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Enable Host Networking
|
||||
- variable: hostNetwork
|
||||
group: "Networking"
|
||||
label: "Enable Host Networking"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: services
|
||||
group: "Networking"
|
||||
label: "Configure Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
|
||||
schema:
|
||||
type: string
|
||||
default: "ClusterIP"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- variable: port
|
||||
label: "Port configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: false
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- variable: port
|
||||
label: "container port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: targetport
|
||||
label: "Internal Service port"
|
||||
description: "When connecting internally to this App, you'll need this port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: nodePort
|
||||
label: "(optional) host nodePort to expose to"
|
||||
description: "only get used when nodePort is selected"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36052
|
||||
required: true
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: appVolumeMounts
|
||||
label: "app storage"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
# Config ------------------------
|
||||
- variable: config
|
||||
label: "config dataset"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "config"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: "/config"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
- variable: media
|
||||
label: "media dataset"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: datasetName
|
||||
label: "Dataset Name"
|
||||
schema:
|
||||
type: string
|
||||
default: "media"
|
||||
required: true
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: "/media"
|
||||
editable: false
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
# Specify GPU configuration
|
||||
- variable: gpuConfiguration
|
||||
label: "GPU Configuration"
|
||||
group: "Storage and Devices"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "definitions/gpuConfiguration"
|
||||
attrs: []
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Web Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
@@ -1,54 +0,0 @@
|
||||
# Default values for jellyfin.
|
||||
|
||||
image:
|
||||
repository: jellyfin/jellyfin
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 10.7.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# 44=video 107=render
|
||||
supplementalGroups: 44,107
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 8096
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
|
||||
media:
|
||||
enabled: false
|
||||
emptyDir: false
|
||||
mountPath: /media
|
||||
## Persistent Volume Storage Class
|
||||
## If defined, storageClassName: <storageClass>
|
||||
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||
## If undefined (the default) or set to null, no storageClassName spec is
|
||||
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||
## GKE, AWS & OpenStack)
|
||||
# storageClass: "-"
|
||||
# accessMode: ReadWriteOnce
|
||||
# size: 1Gi
|
||||
## Do not delete the pvc upon helm uninstall
|
||||
# skipuninstall: false
|
||||
# existingClaim: ""
|
||||
|
||||
## TrueCharts Config
|
||||
|
||||
|
||||
appVolumeMounts:
|
||||
config:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/config"
|
||||
media:
|
||||
enabled: true
|
||||
emptyDir: true
|
||||
setPermissions: true
|
||||
mountPath: "/media"
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: jellyfin
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
upstream_version: 4.2.1
|
||||
appVersion: "auto"
|
||||
description: Jellyfin is a Free Software Media System
|
||||
@@ -0,0 +1,430 @@
|
||||
groups:
|
||||
- name: "Container Image"
|
||||
description: "Image to be used for container"
|
||||
- name: "Workload Configuration"
|
||||
description: "Configure workload deployment"
|
||||
- name: "Configuration"
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
- name: "Reverse Proxy Configuration"
|
||||
description: "Reverse Proxy configuration"
|
||||
- name: "Advanced"
|
||||
description: "Advanced Configuration"
|
||||
- name: "WARNING"
|
||||
description: "WARNING"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_portal_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_portal_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_portal_port"
|
||||
|
||||
questions:
|
||||
|
||||
- variable: portal
|
||||
group: "Container Image"
|
||||
label: "Configure Portal Button"
|
||||
schema:
|
||||
type: dict
|
||||
hidden: true
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable"
|
||||
description: "enable the portal button"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
|
||||
# Update Policy
|
||||
- variable: strategyType
|
||||
group: "Container Image"
|
||||
label: "Update Strategy"
|
||||
schema:
|
||||
type: string
|
||||
default: "Recreate"
|
||||
enum:
|
||||
- value: "RollingUpdate"
|
||||
description: "Create new pods and then kill old ones"
|
||||
- value: "Recreate"
|
||||
description: "Kill existing pods before creating new ones"
|
||||
|
||||
# Configure Time Zone
|
||||
# Configure Time Zone
|
||||
- variable: timezone
|
||||
group: "Container Image"
|
||||
label: "Timezone"
|
||||
schema:
|
||||
type: string
|
||||
default: "Etc/UTC"
|
||||
$ref:
|
||||
- "definitions/timezone"
|
||||
|
||||
- variable: PUID
|
||||
group: "Container Image"
|
||||
label: "PUID"
|
||||
description: "The UserID of the user running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
description: "The groupID of the user/group running the application and owning the files"
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
- variable: UMASK
|
||||
group: "Container Image"
|
||||
label: "UMASK (advanced)"
|
||||
description: "The UMASK used if supported by the application"
|
||||
schema:
|
||||
type: string
|
||||
default: "002"
|
||||
|
||||
# Configure Enviroment Variables
|
||||
- variable: environmentVariables
|
||||
label: "Image environment"
|
||||
group: "Configuration"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: environmentVariable
|
||||
label: "Environment Variable"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
# Enable Host Networking
|
||||
- variable: hostNetwork
|
||||
group: "Networking"
|
||||
label: "Enable Host Networking"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: services
|
||||
group: "Networking"
|
||||
label: "Configure Service"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Main service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the service"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: "Service type"
|
||||
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
|
||||
schema:
|
||||
type: string
|
||||
default: "ClusterIP"
|
||||
enum:
|
||||
- value: "NodePort"
|
||||
description: "NodePort"
|
||||
- value: "ClusterIP"
|
||||
description: "ClusterIP"
|
||||
- variable: port
|
||||
label: "Port configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: protocol
|
||||
label: "Port Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: false
|
||||
enum:
|
||||
- value: HTTP
|
||||
description: "HTTP"
|
||||
- value: "HTTPS"
|
||||
description: "HTTPS"
|
||||
- variable: port
|
||||
label: "container port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: targetport
|
||||
label: "Internal Service port"
|
||||
description: "When connecting internally to this App, you'll need this port"
|
||||
schema:
|
||||
type: int
|
||||
default: 8096
|
||||
editable: false
|
||||
hidden: true
|
||||
- variable: nodePort
|
||||
label: "(optional) host nodePort to expose to"
|
||||
description: "only get used when nodePort is selected"
|
||||
schema:
|
||||
type: int
|
||||
min: 9000
|
||||
max: 65535
|
||||
default: 36052
|
||||
required: true
|
||||
|
||||
## TrueCharts Specific
|
||||
|
||||
- variable: persistence
|
||||
label: "Integrated Persistent Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "App Config Storage"
|
||||
description: "Stores the Application Configuration."
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable the storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: storageClass
|
||||
label: "Type of Storage"
|
||||
description: " Warning: Anything other than Internal will break rollback!"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
enum:
|
||||
- value: ""
|
||||
description: "Internal"
|
||||
- variable: mountPath
|
||||
label: "mountPath"
|
||||
description: "Path inside the container the storage is mounted"
|
||||
schema:
|
||||
type: string
|
||||
default: "/config"
|
||||
hidden: true
|
||||
- variable: emptyDir
|
||||
label: "Mount a ramdisk instead of actual storage"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
- variable: accessMode
|
||||
label: "Access Mode (Advanced)"
|
||||
description: "Allow or disallow multiple PVC's writhing to the same PVC"
|
||||
schema:
|
||||
type: string
|
||||
default: "ReadWriteOnce"
|
||||
enum:
|
||||
- value: "ReadWriteOnce"
|
||||
description: "ReadWriteOnce"
|
||||
- value: "ReadOnlyMany"
|
||||
description: "ReadOnlyMany"
|
||||
- value: "ReadWriteMany"
|
||||
description: "ReadWriteMany"
|
||||
- variable: size
|
||||
label: "Size quotum of storage"
|
||||
schema:
|
||||
type: string
|
||||
default: "100Gi"
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: volumeMount
|
||||
label: "Custom Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
required: true
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: setPermissions
|
||||
label: "Automatic Permissions"
|
||||
description: "Automatically set permissions on install"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: false
|
||||
- variable: name
|
||||
label: "Mountpoint Name"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
editable: true
|
||||
- variable: emptyDir
|
||||
label: "emptyDir"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
hidden: true
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Mount Path"
|
||||
description: "Path to mount inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
default: ""
|
||||
editable: true
|
||||
- variable: hostPathEnabled
|
||||
label: "host Path Enabled"
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
# Specify GPU configuration
|
||||
- variable: gpuConfiguration
|
||||
label: "GPU Configuration"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
$ref:
|
||||
- "definitions/gpuConfiguration"
|
||||
attrs: []
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: "Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: main
|
||||
label: "Web Reverse Proxy Configuration"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: "Enable Web Reverse Proxy"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: type
|
||||
label: "Reverse Proxy Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "HTTP"
|
||||
hidden: true
|
||||
editable: false
|
||||
required: true
|
||||
- variable: serviceName
|
||||
label: "Service name to proxy to"
|
||||
schema:
|
||||
hidden: true
|
||||
editable: false
|
||||
type: string
|
||||
default: ""
|
||||
- variable: entrypoint
|
||||
label: "Select Entrypoint"
|
||||
schema:
|
||||
type: string
|
||||
default: "websecure"
|
||||
required: true
|
||||
enum:
|
||||
- value: "websecure"
|
||||
description: "Websecure: HTTPS/TLS port 443"
|
||||
- variable: hosts
|
||||
label: "Hosts"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: "Host"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: "Domain Name"
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- variable: path
|
||||
label: "path"
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
hidden: true
|
||||
default: "/"
|
||||
- variable: certType
|
||||
label: "Select Certificate Type"
|
||||
schema:
|
||||
type: string
|
||||
default: "selfsigned"
|
||||
enum:
|
||||
- value: ""
|
||||
description: "No Encryption/TLS/Certificates"
|
||||
- value: "selfsigned"
|
||||
description: "Self-Signed Certificate"
|
||||
- value: "ixcert"
|
||||
description: "TrueNAS SCALE Certificate"
|
||||
- variable: certificate
|
||||
label: "Select TrueNAS SCALE Certificate"
|
||||
schema:
|
||||
type: int
|
||||
show_if: [["certType", "=", "ixcert"]]
|
||||
$ref:
|
||||
- "definitions/certificate"
|
||||
- variable: authForwardURL
|
||||
label: "Forward Authentication URL"
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
@@ -0,0 +1,26 @@
|
||||
# Default values for jellyfin.
|
||||
|
||||
image:
|
||||
repository: jellyfin/jellyfin
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 10.7.2
|
||||
|
||||
strategy:
|
||||
type: Recreate
|
||||
|
||||
# 44=video 107=render
|
||||
supplementalGroups: 44,107
|
||||
|
||||
services:
|
||||
main:
|
||||
port:
|
||||
port: 8096
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
mountPath: "/config"
|
||||
emptyDir: true
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
storageClass: ""
|
||||
@@ -1,7 +1,7 @@
|
||||
apiVersion: v2
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
name: kms
|
||||
version: 2.2.2
|
||||
version: 3.0.0
|
||||
# upstream_version:
|
||||
appVersion: "minimal"
|
||||
description: Private Windows Activation Server for development and testing
|
||||
@@ -7,7 +7,7 @@ groups:
|
||||
description: "additional container configuration"
|
||||
- name: "Networking"
|
||||
description: "Configure / service for container"
|
||||
- name: "Storage and Devices"
|
||||
- name: "Storage"
|
||||
description: "Persist and share data that is separate from the lifecycle of the container"
|
||||
- name: "Resource Reservation"
|
||||
description: "Specify resources to be allocated to workload"
|
||||
@@ -69,6 +69,19 @@ questions:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
|
||||
# Enable privileged
|
||||
- variable: securityContext
|
||||
group: "Container Image"
|
||||
label: "Security Context"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: privileged
|
||||
label: "Enable privileged to pass thru a USB device"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: PGID
|
||||
group: "Container Image"
|
||||
label: "PGID"
|
||||
@@ -189,7 +202,7 @@ questions:
|
||||
|
||||
- variable: additionalAppVolumeMounts
|
||||
label: "Custom app storage"
|
||||
group: "Storage and Devices"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user