feat(apps): fill incubator with a bunch of new apps (#1083)

* (feat) fill incubator with a bunch of new apps

* Ornias' cleanup

* stavros' cleanup

* Ornias' second cleanup

* Add basic SCALE Compatibility layer and docs

* Ornias's cleanup 3

* Stavros' cleanup 2

Update service's port on the skipped apps (+32 squashed commit)

Squashed commit:

[361963ced] config -> data on some apps

[545c32b55] wiki

[41fb4f518] twtxt

[02169bad9] static

[a9042669c] sqlitebrowser

[f09ce3d76] smokeping

[01d2f9af6] sickgear

[680fd358f] sickchill

[71856480f] shorturl

[ce130ac8a] Remmina

[6410ec2ae] pixapop

[a1ea2a33f] Piwigo

[0b4c52d43] photoshow

[25e9a44fd] novnc

[84954deae] notes

[b3be0b28d] muximux

[43d2b37a5] mstream

[736f9877f] Medusa

[8ef3434d6] Headphones

[05e52284f] Grav

[7ce6f1723] golinks

[b4eee91e6] fossil

[d19b44434] FIlezilla

[926236447] Doublecommander

[6f68e5253] Digikam

[f14d3af21] Davos

[8108c01ea] Code-server

[496991750] Cloud9

[4ad02a99f] Beets

[f2f0565b9] Apache-musicindex

[9bf8de8c4] aria2

[283edf7b0] Audacity

* Ornias' cleanup 4

try something for amcrest and zigbee (+8 squashed commit)

Squashed commit:

[a199779a9] First part of  leaf2mqtt

[0eb7fea43] cryptfolio

[81c2b9b8b] amcrest readonly default true

[fc62aebb4] setup amcrest2mqtt

[d97f7d1fe] remove empty secret references

[ec0e6b1b3] remove sogo for now (till we have a decent mail server and such)

[9be04c1e7] Adapt to recent serviceExpert changes (includes)

(cherry picked from commit 98acc5f93f9f1aa5129942af7f196a04ed6a8c1e)

[8362ebc89] Adapt to recent ingress changes in questions.yaml (includes)

(cherry picked from commit d307ba98a74d470c45c8fdff51423930826015a9)

* Stavros' cleanup 3

leaf2mqtt actually needs root when the core fuctionality env's are populated (+6 squashed commit)

Squashed commit:

[4ef306f0c] minio-console

[6ad206b48] finish whoogle and move fixed envs on top

[aaf48575c] finish 4 apps

[97ad3fd4d] don't leave sercrets empty

[e27b98841] sync more env's and sercrets

[398929040] sync secrets

* Initial work on valheim (WIP)

* fix some linting issues

* Use the configuration only as a default and let users expand it using env vars

* indent issue on valheim

* add second ingress to valheim

* remove some old valheim comments

* valheim fix port ints

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
Co-authored-by: Stavros kois <s.kois@outlook.com>
This commit is contained in:
Kjeld Schouten-Lebbing
2021-10-13 22:46:42 +02:00
committed by GitHub
co-authored by Stavros Kois Stavros kois
parent cebbd4fd23
commit a26eb7e344
694 changed files with 29919 additions and 372 deletions
+201 -225
View File
@@ -1,24 +1,4 @@
groups:
- name: "Container Image"
description: "Image to be used for container"
- name: "Controller"
description: "Configure workload deployment"
- name: "Container Configuration"
description: "additional container configuration"
- name: "App Configuration"
description: "App specific config options"
- name: "Networking and Services"
description: "Configure Network and Services for container"
- name: "Storage and Persistence"
description: "Persist and share data that is separate from the container"
- name: "Ingress"
description: "Ingress Configuration"
- name: "Security and Permissions"
description: "Configure security context and permissions"
- name: "Resources and Devices"
description: "Specify resources/devices to be allocated to workload"
- name: "Advanced"
description: "Advanced Configuration"
# Include{groups}
portals:
web_portal:
protocols:
@@ -84,53 +64,17 @@ questions:
description: "RollingUpdate: Create new pods and then kill old ones"
- value: "OnDelete"
description: "(Legacy) OnDelete: ignore .spec.template changes"
# Include{controllerExpert}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
type: dict
attrs:
- variable: TZ
label: "Timezone"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: UMASK
label: "UMASK"
description: "Sets the UMASK env var for LinuxServer.io (compatible) containers"
schema:
type: string
default: "002"
# Configure Enviroment Variables
- variable: envList
label: "Image environment"
group: "Container Configuration"
schema:
type: list
default: []
items:
- variable: envItem
label: "Environment Variable"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
# Include{fixedEnv}
- variable: hostNetwork
group: "Networking and Services"
label: "Enable Host Networking"
schema:
type: boolean
default: false
# Include{containerConfig}
- variable: service
group: "Networking and Services"
@@ -212,16 +156,16 @@ questions:
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "Container Port"
- variable: targetPort
label: "Target Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: PLACEHOLDERPORT
editable: false
hidden: true
- variable: targetport
label: "Target Port"
description: "This port exposes the container port on the service"
- variable: port
label: "Container Port"
schema:
type: int
default: PLACEHOLDERPORT
@@ -235,7 +179,77 @@ questions:
min: 9000
max: 65535
default: PLACEHOLDERNODEPORT
required: true
- variable: serviceexpert
group: "Networking and Services"
label: "Show Expert Config"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: "Networking and Services"
label: "Host-Networking (Complicated)"
schema:
type: boolean
default: false
- variable: dnsPolicy
group: "Networking and Services"
label: "dnsPolicy"
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "ClusterFirst"
description: "ClusterFirst"
- value: "ClusterFirstWithHostNet"
description: "ClusterFirstWithHostNet"
- value: "None"
description: "None"
- variable: dnsConfig
label: "DNS Configuration"
group: "Networking and Services"
description: "Specify custom DNS configuration which will be applied to the pod"
schema:
type: dict
attrs:
- variable: nameservers
label: "Nameservers"
schema:
default: []
type: list
items:
- variable: nameserver
label: "Nameserver"
schema:
type: string
- variable: options
label: "options"
schema:
default: []
type: list
items:
- variable: option
label: "Option Entry"
schema:
type: string
- variable: searches
label: "Searches"
schema:
default: []
type: list
items:
- variable: search
label: "Search Entry"
schema:
type: string
# Include{serviceList}
- variable: persistence
label: "Integrated Persistent Storage"
@@ -274,6 +288,44 @@ questions:
show_if: [["type", "=", "pvc"]]
type: string
default: "SCALE-ZFS"
- variable: labelsList
label: "Labels"
schema:
type: list
default: []
items:
- variable: labelItem
label: "Label"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
- variable: annotationsList
label: "Annotations"
schema:
type: list
default: []
items:
- variable: annotationItem
label: "Label"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
- variable: setPermissions
label: "Automatic Permissions"
description: "Automatically set permissions on install"
@@ -353,122 +405,7 @@ questions:
show_if: [["type", "=", "pvc"]]
type: string
default: "100Gi"
- variable: persistenceList
label: "Additional app storage"
group: "Storage and Persistence"
schema:
type: list
default: []
items:
- variable: persistenceListEntry
label: "Custom Storage"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the storage"
schema:
type: boolean
default: true
- variable: type
label: "(Advanced) Type of Storage"
description: "Sets the persistence type"
schema:
type: string
default: "hostPath"
enum:
- value: "pvc"
description: "pvc"
- value: "emptyDir"
description: "emptyDir"
- value: "hostPath"
description: "hostPath"
- variable: storageClass
label: "(Advanced) storageClass"
description: " Warning: Anything other than SCALE-ZFS will break rollback!"
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: "SCALE-ZFS"
- variable: setPermissions
label: "Automatic Permissions"
description: "Automatically set permissions on install"
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: true
- variable: readOnly
label: "readOnly"
schema:
type: boolean
default: false
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: hostPathType
label: "hostPath Type"
schema:
show_if: [["type", "=", "hostPath"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "DirectoryOrCreate"
description: "DirectoryOrCreate"
- value: "Directory"
description: "Directory"
- value: "FileOrCreate"
description: "FileOrCreate"
- value: "File"
description: "File"
- value: "Socket"
description: "Socket"
- value: "CharDevice"
description: "CharDevice"
- value: "BlockDevice"
description: "BlockDevice"
- variable: mountPath
label: "mountPath"
description: "Path inside the container the storage is mounted"
schema:
type: string
required: true
default: ""
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
- variable: accessMode
label: "Access Mode (Advanced)"
description: "Allow or disallow multiple PVC's writhing to the same PVC"
schema:
show_if: [["type", "=", "pvc"]]
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:
show_if: [["type", "=", "pvc"]]
type: string
default: "100Gi"
# Include{persistenceList}
- variable: ingress
label: ""
@@ -558,7 +495,7 @@ questions:
$ref:
- "definitions/certificate"
- variable: entrypoint
label: "Traefik Entrypoint"
label: "(Advanced) Traefik Entrypoint"
description: "Entrypoint used by Traefik when using Traefik as Ingress Provider"
schema:
type: string
@@ -578,6 +515,59 @@ questions:
default: ""
required: true
- variable: expert
label: "Show Expert Configuration Options"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ingressClassName
label: "IngressClass Name"
schema:
type: string
default: ""
- variable: labelsList
label: "Labels"
schema:
type: list
default: []
items:
- variable: labelItem
label: "Label"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
- variable: annotationsList
label: "Annotations"
schema:
type: list
default: []
items:
- variable: annotationItem
label: "Label"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
# Include{ingressList}
- variable: securityContext
group: "Security and Permissions"
label: "Security Context"
@@ -585,7 +575,17 @@ questions:
type: dict
attrs:
- variable: privileged
label: "Enable privileged mode for Common-Chart based charts"
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
@@ -619,6 +619,16 @@ questions:
schema:
type: int
default: 568
- variable: supplementalGroups
label: "supplemental Groups"
schema:
type: list
default: []
items:
- variable: supplementalGroupsEntry
label: "supplemental Group"
schema:
type: int
- variable: fsGroupChangePolicy
label: "When should we take ownership?"
schema:
@@ -629,43 +639,9 @@ questions:
description: "OnRootMismatch"
- value: "Always"
description: "Always"
- variable: resources
group: "Resources and Devices"
label: ""
schema:
type: dict
attrs:
- variable: limits
label: "Advanced Limit Resource Consumption"
schema:
type: dict
attrs:
- variable: cpu
label: "CPU"
schema:
type: string
default: "2000m"
valid_chars: '^([0-9]+)(\.[0-9]?|m?)$'
- variable: memory
label: "Memory RAM"
schema:
type: string
default: "2Gi"
valid_chars: '^([0-9.]+)([EPTGMK]i?|[EPTGMK]?|e[0-9]+)$'
- variable: requests
label: "Advanced Request minimum resources required"
schema:
type: dict
attrs:
- variable: cpu
label: "CPU"
schema:
type: string
default: "10m"
valid_chars: '^([0-9]+)(\.[0-9]?|m?)$'
- variable: memory
label: "Memory RAM"
schema:
type: string
default: "50Mi"
valid_chars: '^([0-9.]+)([EPTGMK]i?|[EPTGMK]?|e[0-9]+)$'
# Include{resources}
# Include{advanced}
# Include{addons}