diff --git a/charts/dev/h5ai/.helmignore b/charts/dev/h5ai/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/h5ai/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/h5ai/Chart.yaml b/charts/dev/h5ai/Chart.yaml new file mode 100644 index 00000000000..d9cfac1e481 --- /dev/null +++ b/charts/dev/h5ai/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Network-FTP +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "DESCRIPTION\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/h5ai +icon: https://truecharts.org/img/chart-icons/h5ai.png +keywords: +- h5ai +- Cloud +- Network-FTP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: h5ai +sources: +- https://github.com/awesometic/docker-h5ai +- https://hub.docker.com/r/awesometic/h5ai +type: application +version: 0.0.10 diff --git a/charts/dev/h5ai/icon.png b/charts/dev/h5ai/icon.png new file mode 100644 index 00000000000..ab6ddffbd78 Binary files /dev/null and b/charts/dev/h5ai/icon.png differ diff --git a/charts/dev/h5ai/questions.yaml b/charts/dev/h5ai/questions.yaml new file mode 100644 index 00000000000..cc2a0c87293 --- /dev/null +++ b/charts/dev/h5ai/questions.yaml @@ -0,0 +1,290 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 80 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: directorystorage + label: "directorystorage Storage" + description: "This is where the shared files are located." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: config + label: "config Storage" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/h5ai/templates/common.yaml b/charts/dev/h5ai/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/h5ai/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/h5ai/values.yaml b/charts/dev/h5ai/values.yaml new file mode 100644 index 00000000000..0fd04aa6fda --- /dev/null +++ b/charts/dev/h5ai/values.yaml @@ -0,0 +1,28 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/h5ai + tag: latest +persistence: + config: + enabled: true + mountPath: /config + directorystorage: + enabled: true + mountPath: /h5ai + readOnly: true +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 80 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/halflife2deathmatch/.helmignore b/charts/dev/halflife2deathmatch/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/halflife2deathmatch/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/halflife2deathmatch/Chart.yaml b/charts/dev/halflife2deathmatch/Chart.yaml new file mode 100644 index 00000000000..6f277819ffa --- /dev/null +++ b/charts/dev/halflife2deathmatch/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ HalfLife2 DeathMatch and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/halflife2deathmatch +icon: https://truecharts.org/img/chart-icons/halflife2deathmatch.png +keywords: +- halflife2deathmatch +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: halflife2deathmatch +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.10 diff --git a/charts/dev/halflife2deathmatch/icon.png b/charts/dev/halflife2deathmatch/icon.png new file mode 100644 index 00000000000..655a4dbe9b6 Binary files /dev/null and b/charts/dev/halflife2deathmatch/icon.png differ diff --git a/charts/dev/halflife2deathmatch/questions.yaml b/charts/dev/halflife2deathmatch/questions.yaml new file mode 100644 index 00000000000..41ba359348f --- /dev/null +++ b/charts/dev/halflife2deathmatch/questions.yaml @@ -0,0 +1,401 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + 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: + additional_attrs: true + type: dict + attrs: + + - variable: GAME_ID + label: 'GAME_ID' + description: "The GAMEID that the container download at startup.(httpsdeveloper.valvesoftware.comwikiDedicatedServersList)" + schema: + type: string + default: "232370" + - variable: GAME_NAME + label: 'GAME_NAME' + description: "Game name to start (is connected to the GAMEPARAMS)." + schema: + type: string + default: "hl2mp" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "-secure +maxplayers 16 +map dm_overwatch" + - variable: USERNAME + label: 'USERNAME' + description: "Your Steam username goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)." + schema: + type: string + default: "" + - variable: VALIDATE + label: 'VALIDATE' + description: "Set the Variable to true if you want to validate the installation otherwise leave it blank." + schema: + type: string + default: "" + - variable: PASSWRD + label: 'PASSWRD' + description: "Your Steam password goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)." + schema: + type: string + default: "" + - variable: GAME_PORT + label: 'GAME_PORT' + description: "Container Variable GAMEPORT" + schema: + type: string + default: "27015" + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 27015 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: UDP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 27015 + + - variable: tcprcon + label: 'tcprcon service' + description: "TCP RCON Port (not required)" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcprcon + label: "tcprcon Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 27015 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 27015 + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: steamcmd + label: "steamcmd Storage" + description: "Container Path serverdatasteamcmd" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/halflife2deathmatch/templates/common.yaml b/charts/dev/halflife2deathmatch/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/halflife2deathmatch/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/halflife2deathmatch/values.yaml b/charts/dev/halflife2deathmatch/values.yaml new file mode 100644 index 00000000000..7be68ee6cbf --- /dev/null +++ b/charts/dev/halflife2deathmatch/values.yaml @@ -0,0 +1,49 @@ +env: + GAME_ID: '232370' + GAME_NAME: hl2mp + GAME_PARAMS: -secure +maxplayers 16 +map dm_overwatch + GAME_PORT: '27015' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/halflife2deathmatch + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + port: '{{ .Values.service.tcprcon.ports.tcprcon.targetPort }}' + readiness: + port: '{{ .Values.service.tcprcon.ports.tcprcon.targetPort }}' + startup: + port: '{{ .Values.service.tcprcon.ports.tcprcon.targetPort }}' +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 27015 + protocol: UDP + targetPort: 27015 + tcprcon: + enabled: true + ports: + tcprcon: + enabled: true + port: 27015 + protocol: TCP + targetPort: 27015 diff --git a/charts/dev/hassconfigurator/.helmignore b/charts/dev/hassconfigurator/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hassconfigurator/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hassconfigurator/Chart.yaml b/charts/dev/hassconfigurator/Chart.yaml new file mode 100644 index 00000000000..f7d4a081327 --- /dev/null +++ b/charts/dev/hassconfigurator/Chart.yaml @@ -0,0 +1,28 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - HomeAutomation +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: Home Assistant online configurator container from https://github.com/danielperna84/hass-configurator +home: https://github.com/truecharts/apps/tree/master/charts/stable/hassconfigurator +icon: https://truecharts.org/img/chart-icons/hassconfigurator.png +keywords: +- hassconfigurator +- HomeAutomation +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hassconfigurator +sources: +- https://github.com/danielperna84/hass-configurator +- https://hub.docker.com/r/causticlab/hass-configurator-docker//Dockerfile/ +type: application +version: 0.0.10 diff --git a/charts/dev/hassconfigurator/icon.png b/charts/dev/hassconfigurator/icon.png new file mode 100644 index 00000000000..73ce5b51270 Binary files /dev/null and b/charts/dev/hassconfigurator/icon.png differ diff --git a/charts/dev/hassconfigurator/questions.yaml b/charts/dev/hassconfigurator/questions.yaml new file mode 100644 index 00000000000..1c3fc817ae5 --- /dev/null +++ b/charts/dev/hassconfigurator/questions.yaml @@ -0,0 +1,291 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3218 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 3218 + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: config + label: "config Storage" + description: "Container Path config" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: hass-config + label: "hass-config Storage" + description: "Your home assistant configuration folder" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hassconfigurator/templates/common.yaml b/charts/dev/hassconfigurator/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hassconfigurator/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hassconfigurator/values.yaml b/charts/dev/hassconfigurator/values.yaml new file mode 100644 index 00000000000..2a6f0b28529 --- /dev/null +++ b/charts/dev/hassconfigurator/values.yaml @@ -0,0 +1,27 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hassconfigurator + tag: vx86_64 +persistence: + config: + enabled: true + mountPath: /config + hass-config: + enabled: true + mountPath: /hass-config +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 3218 + protocol: TCP + targetPort: 3218 diff --git a/charts/dev/hastebin/.helmignore b/charts/dev/hastebin/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hastebin/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hastebin/Chart.yaml b/charts/dev/hastebin/Chart.yaml new file mode 100644 index 00000000000..a86a879743c --- /dev/null +++ b/charts/dev/hastebin/Chart.yaml @@ -0,0 +1,35 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Productivity + - Tools-Utilities + - Network-Other +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "Alpine-based Docker image for Hastebin, the node.js paste service \r\ + \n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/hastebin +icon: https://truecharts.org/img/chart-icons/hastebin.png +keywords: +- hastebin +- Cloud +- Productivity +- Tools-Utilities +- Network-Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hastebin +sources: +- https://github.com/nzzane/haste-server +- https://hub.docker.com/r/flippinturt/hastebin +type: application +version: 0.0.10 diff --git a/charts/dev/hastebin/icon.png b/charts/dev/hastebin/icon.png new file mode 100644 index 00000000000..f798914b10d Binary files /dev/null and b/charts/dev/hastebin/icon.png differ diff --git a/charts/dev/hastebin/questions.yaml b/charts/dev/hastebin/questions.yaml new file mode 100644 index 00000000000..f7bb68cb9e0 --- /dev/null +++ b/charts/dev/hastebin/questions.yaml @@ -0,0 +1,282 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 7777 + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: data + label: "data Storage" + description: "Container Path data" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hastebin/templates/common.yaml b/charts/dev/hastebin/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hastebin/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hastebin/values.yaml b/charts/dev/hastebin/values.yaml new file mode 100644 index 00000000000..33469d3fb65 --- /dev/null +++ b/charts/dev/hastebin/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hastebin + tag: latest +persistence: + data: + enabled: true + mountPath: /app/data +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 7777 + protocol: TCP + targetPort: 7777 diff --git a/charts/dev/healthchecksdashboard/.helmignore b/charts/dev/healthchecksdashboard/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/healthchecksdashboard/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/healthchecksdashboard/Chart.yaml b/charts/dev/healthchecksdashboard/Chart.yaml new file mode 100644 index 00000000000..dbb55fe8a00 --- /dev/null +++ b/charts/dev/healthchecksdashboard/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Tools-Utilities + - Other + - Network-Other +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "A standalone dashboard page showing the status of the checks in your\ + \ Healthchecks.io account.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/healthchecksdashboard +icon: https://truecharts.org/img/chart-icons/healthchecksdashboard.png +keywords: +- healthchecksdashboard +- Tools-Utilities +- Other +- Network-Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: healthchecksdashboard +sources: +- https://github.com/healthchecks/dashboard +- https://hub.docker.com/r/healthchecks/dashboard +type: application +version: 0.0.10 diff --git a/charts/dev/healthchecksdashboard/icon.png b/charts/dev/healthchecksdashboard/icon.png new file mode 100644 index 00000000000..454f5a6e31d Binary files /dev/null and b/charts/dev/healthchecksdashboard/icon.png differ diff --git a/charts/dev/healthchecksdashboard/questions.yaml b/charts/dev/healthchecksdashboard/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/healthchecksdashboard/questions.yaml @@ -0,0 +1,169 @@ +# Include{groups} +portals: {} +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: false +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + +# Include{persistenceList} + + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/healthchecksdashboard/templates/common.yaml b/charts/dev/healthchecksdashboard/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/healthchecksdashboard/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/healthchecksdashboard/values.yaml b/charts/dev/healthchecksdashboard/values.yaml new file mode 100644 index 00000000000..b3969783842 --- /dev/null +++ b/charts/dev/healthchecksdashboard/values.yaml @@ -0,0 +1,25 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/healthchecksdashboard + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/hetzner-ddns/.helmignore b/charts/dev/hetzner-ddns/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hetzner-ddns/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hetzner-ddns/Chart.yaml b/charts/dev/hetzner-ddns/Chart.yaml new file mode 100644 index 00000000000..9b00f98e9b4 --- /dev/null +++ b/charts/dev/hetzner-ddns/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network-DNS +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: This Docker image will allow you to use the Hetzner DNS Service (https://www.hetzner.com/dns-console) + as a Dynamic DNS (DDNS) Provider. +home: https://github.com/truecharts/apps/tree/master/charts/stable/hetzner-ddns +icon: https://truecharts.org/img/chart-icons/hetzner-ddns.png +keywords: +- hetzner-ddns +- Network-DNS +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hetzner-ddns +sources: +- https://github.com/kutzilla/docker-hetzner-ddns +- https://hub.docker.com/r/kutzilla/hetzner-ddns +type: application +version: 0.0.10 diff --git a/charts/dev/hetzner-ddns/icon.png b/charts/dev/hetzner-ddns/icon.png new file mode 100644 index 00000000000..394cfe82fb2 Binary files /dev/null and b/charts/dev/hetzner-ddns/icon.png differ diff --git a/charts/dev/hetzner-ddns/questions.yaml b/charts/dev/hetzner-ddns/questions.yaml new file mode 100644 index 00000000000..cf2ba8d9ea1 --- /dev/null +++ b/charts/dev/hetzner-ddns/questions.yaml @@ -0,0 +1,195 @@ +# Include{groups} +portals: {} +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: false +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + 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: + additional_attrs: true + type: dict + attrs: + + - variable: ZONE_NAME + label: 'ZONE_NAME' + description: "The DNS zone that DDNS updates should be applied to." + schema: + type: string + default: "example.com" + - variable: API_TOKEN + label: 'API_TOKEN' + description: "Your Hetzner API token." + schema: + type: string + default: "my-secret-api-token" + - variable: RECORD_TYPE + label: 'RECORD_TYPE' + description: "The record type of your zone. If your zone uses an IPv4 address use A. Use AAAA if it uses an IPv6 address." + schema: + type: string + default: "A" + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + +# Include{persistenceList} + + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hetzner-ddns/templates/common.yaml b/charts/dev/hetzner-ddns/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hetzner-ddns/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hetzner-ddns/values.yaml b/charts/dev/hetzner-ddns/values.yaml new file mode 100644 index 00000000000..4b4e5e89741 --- /dev/null +++ b/charts/dev/hetzner-ddns/values.yaml @@ -0,0 +1,28 @@ +env: + API_TOKEN: my-secret-api-token + RECORD_TYPE: A + ZONE_NAME: example.com +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hetzner-ddns + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/hexchat/.helmignore b/charts/dev/hexchat/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hexchat/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hexchat/Chart.yaml b/charts/dev/hexchat/Chart.yaml new file mode 100644 index 00000000000..548cf019d81 --- /dev/null +++ b/charts/dev/hexchat/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity + - Tools-Utilities +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "HexChat is an IRC client based on XChat, but unlike XChat it\u2019s\ + \ completely free for both Windows and Unix-like systems. Since XChat is open source,\ + \ it\u2019s perfectly legal. For more info. HexChat was originally called XChat-WDK\ + \ which in turn was a successor of freakschat." +home: https://github.com/truecharts/apps/tree/master/charts/stable/hexchat +icon: https://truecharts.org/img/chart-icons/hexchat.png +keywords: +- hexchat +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hexchat +sources: +- https://hexchat.github.io/ +- https://registry.hub.docker.com/r/binhex/arch-hexchat/ +- https://github.com/binhex/documentation +type: application +version: 0.0.10 diff --git a/charts/dev/hexchat/icon.png b/charts/dev/hexchat/icon.png new file mode 100644 index 00000000000..9189da2c509 Binary files /dev/null and b/charts/dev/hexchat/icon.png differ diff --git a/charts/dev/hexchat/questions.yaml b/charts/dev/hexchat/questions.yaml new file mode 100644 index 00000000000..e5239d17022 --- /dev/null +++ b/charts/dev/hexchat/questions.yaml @@ -0,0 +1,304 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + 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: + additional_attrs: true + type: dict + attrs: + + - variable: WEBPAGE_TITLE + label: 'WEBPAGE_TITLE' + schema: + type: string + default: "HexChat" + - variable: VNC_PASSWORD + label: 'VNC_PASSWORD' + schema: + type: string + default: "" + - variable: UMASK + label: 'UMASK' + schema: + type: string + default: "000" + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 6080 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 6080 + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: config + label: "config Storage" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hexchat/templates/common.yaml b/charts/dev/hexchat/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hexchat/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hexchat/values.yaml b/charts/dev/hexchat/values.yaml new file mode 100644 index 00000000000..b4eac4d9580 --- /dev/null +++ b/charts/dev/hexchat/values.yaml @@ -0,0 +1,27 @@ +env: + UMASK: '000' + VNC_PASSWORD: '' + WEBPAGE_TITLE: HexChat +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hexchat + tag: latest +persistence: + config: + enabled: true + mountPath: /config +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 6080 + protocol: TCP + targetPort: 6080 diff --git a/charts/dev/hexo-blog/.helmignore b/charts/dev/hexo-blog/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hexo-blog/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hexo-blog/Chart.yaml b/charts/dev/hexo-blog/Chart.yaml new file mode 100644 index 00000000000..3d0e6df6363 --- /dev/null +++ b/charts/dev/hexo-blog/Chart.yaml @@ -0,0 +1,28 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: A self-hosted blogging platform in which posts are written in markdown +home: https://github.com/truecharts/apps/tree/master/charts/stable/hexo-blog +icon: https://truecharts.org/img/chart-icons/hexo-blog.png +keywords: +- hexo-blog +- Productivity +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hexo-blog +sources: +- https://github.com/fletchto99/hexo-dev-docker +- https://hub.docker.com/r/fletchto99/hexo-dev-blog/ +type: application +version: 0.0.10 diff --git a/charts/dev/hexo-blog/icon.png b/charts/dev/hexo-blog/icon.png new file mode 100644 index 00000000000..35b8f0d5a63 Binary files /dev/null and b/charts/dev/hexo-blog/icon.png differ diff --git a/charts/dev/hexo-blog/questions.yaml b/charts/dev/hexo-blog/questions.yaml new file mode 100644 index 00000000000..d4a6ffffc2d --- /dev/null +++ b/charts/dev/hexo-blog/questions.yaml @@ -0,0 +1,183 @@ +# Include{groups} +portals: {} +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: false +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + 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: + additional_attrs: true + type: dict + attrs: + + - variable: HEXO_PLUGINS + label: 'HEXO_PLUGINS' + description: "A space seperated list of hexo plugins to install" + schema: + type: string + default: "" + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + +# Include{persistenceList} + + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hexo-blog/templates/common.yaml b/charts/dev/hexo-blog/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hexo-blog/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hexo-blog/values.yaml b/charts/dev/hexo-blog/values.yaml new file mode 100644 index 00000000000..bd9ae5ca512 --- /dev/null +++ b/charts/dev/hexo-blog/values.yaml @@ -0,0 +1,26 @@ +env: + HEXO_PLUGINS: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hexo-blog + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/homelablabelmaker/.helmignore b/charts/dev/homelablabelmaker/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/homelablabelmaker/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/homelablabelmaker/Chart.yaml b/charts/dev/homelablabelmaker/Chart.yaml new file mode 100644 index 00000000000..bbb1086770a --- /dev/null +++ b/charts/dev/homelablabelmaker/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Tools-Utilities + - Other +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: DIY tool to create and print labels for Dell Poweredge and HP Proliant + drive caddies. +home: https://github.com/truecharts/apps/tree/master/charts/stable/homelablabelmaker +icon: https://truecharts.org/img/chart-icons/homelablabelmaker.png +keywords: +- homelablabelmaker +- Tools-Utilities +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: homelablabelmaker +sources: +- https://github.com/DavidSpek/homelablabelmaker +- https://hub.docker.com/r/davidspek/homelablabelmaker/ +type: application +version: 0.0.10 diff --git a/charts/dev/homelablabelmaker/icon.png b/charts/dev/homelablabelmaker/icon.png new file mode 100644 index 00000000000..fe2f078b85d Binary files /dev/null and b/charts/dev/homelablabelmaker/icon.png differ diff --git a/charts/dev/homelablabelmaker/questions.yaml b/charts/dev/homelablabelmaker/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/homelablabelmaker/questions.yaml @@ -0,0 +1,169 @@ +# Include{groups} +portals: {} +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: false +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + +# Include{persistenceList} + + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/homelablabelmaker/templates/common.yaml b/charts/dev/homelablabelmaker/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/homelablabelmaker/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/homelablabelmaker/values.yaml b/charts/dev/homelablabelmaker/values.yaml new file mode 100644 index 00000000000..d2d2a5c4f51 --- /dev/null +++ b/charts/dev/homelablabelmaker/values.yaml @@ -0,0 +1,25 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/homelablabelmaker + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/hoobs/.helmignore b/charts/dev/hoobs/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hoobs/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hoobs/Chart.yaml b/charts/dev/hoobs/Chart.yaml new file mode 100644 index 00000000000..c079023c9f6 --- /dev/null +++ b/charts/dev/hoobs/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - HomeAutomation + - Tools-Utilities +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "HOOBS is a Homebridge stack with a interface that simplifies configuration\ + \ and installing plugins. This adds a process wrapper for Homebridge. \r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/hoobs +icon: https://truecharts.org/img/chart-icons/hoobs.png +keywords: +- hoobs +- HomeAutomation +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hoobs +sources: +- https://hub.docker.com/r/hoobs/hoobs +type: application +version: 0.0.10 diff --git a/charts/dev/hoobs/icon.png b/charts/dev/hoobs/icon.png new file mode 100644 index 00000000000..f0b79df32e5 Binary files /dev/null and b/charts/dev/hoobs/icon.png differ diff --git a/charts/dev/hoobs/questions.yaml b/charts/dev/hoobs/questions.yaml new file mode 100644 index 00000000000..1b5104b41ec --- /dev/null +++ b/charts/dev/hoobs/questions.yaml @@ -0,0 +1,340 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 8082 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: HTTP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + - variable: homebridgeport + label: 'homebridgeport service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: homebridgeport + label: "homebridgeport Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 51826 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 51826 + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: applicationpath + label: "applicationpath Storage" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hoobs/templates/common.yaml b/charts/dev/hoobs/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hoobs/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hoobs/values.yaml b/charts/dev/hoobs/values.yaml new file mode 100644 index 00000000000..3deca2487e8 --- /dev/null +++ b/charts/dev/hoobs/values.yaml @@ -0,0 +1,32 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hoobs + tag: latest +persistence: + applicationpath: + enabled: true + mountPath: /hoobs +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + homebridgeport: + enabled: true + ports: + homebridgeport: + enabled: true + port: 51826 + protocol: TCP + targetPort: 51826 + main: + enabled: true + ports: + main: + enabled: true + port: 8082 + protocol: HTTP + targetPort: 80 diff --git a/charts/dev/humhub/.helmignore b/charts/dev/humhub/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/humhub/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/humhub/Chart.yaml b/charts/dev/humhub/Chart.yaml new file mode 100644 index 00000000000..35394cd44bd --- /dev/null +++ b/charts/dev/humhub/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network-Web +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: HumHub is a free social network software and framework built to give + you the tools to make communication and collaboration easy and successful. The Database + is at 'localhost', username is 'humhub', the database name is 'humhub', there are + no password (local user) +home: https://github.com/truecharts/apps/tree/master/charts/stable/humhub +icon: https://truecharts.org/img/chart-icons/humhub.png +keywords: +- humhub +- Network-Web +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: humhub +sources: +- https://ghcr.io/siwatinc/humhub +type: application +version: 0.0.10 diff --git a/charts/dev/humhub/icon.png b/charts/dev/humhub/icon.png new file mode 100644 index 00000000000..5dc9502c283 Binary files /dev/null and b/charts/dev/humhub/icon.png differ diff --git a/charts/dev/humhub/questions.yaml b/charts/dev/humhub/questions.yaml new file mode 100644 index 00000000000..ccfdcf2b61f --- /dev/null +++ b/charts/dev/humhub/questions.yaml @@ -0,0 +1,282 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + description: "RollingUpdate: Create new pods and then kill old ones" + - value: "OnDelete" + description: "(Legacy) OnDelete: ignore .spec.template changes" +# Include{controllerExpert} + + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 85 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: TCP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 80 + + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: config + label: "config Storage" + description: "Container Path config" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/humhub/templates/common.yaml b/charts/dev/humhub/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/humhub/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/humhub/values.yaml b/charts/dev/humhub/values.yaml new file mode 100644 index 00000000000..6a92422175d --- /dev/null +++ b/charts/dev/humhub/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/humhub + tag: latest +persistence: + config: + enabled: true + mountPath: /config +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 85 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/hurtworld/.helmignore b/charts/dev/hurtworld/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/hurtworld/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dev/hurtworld/Chart.yaml b/charts/dev/hurtworld/Chart.yaml new file mode 100644 index 00000000000..c24eaa595b5 --- /dev/null +++ b/charts/dev/hurtworld/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ Hurtworld and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/hurtworld +icon: https://truecharts.org/img/chart-icons/hurtworld.png +keywords: +- hurtworld +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: hurtworld +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.10 diff --git a/charts/dev/hurtworld/icon.png b/charts/dev/hurtworld/icon.png new file mode 100644 index 00000000000..9bd9e2f2db5 Binary files /dev/null and b/charts/dev/hurtworld/icon.png differ diff --git a/charts/dev/hurtworld/questions.yaml b/charts/dev/hurtworld/questions.yaml new file mode 100644 index 00000000000..2218fe95a3d --- /dev/null +++ b/charts/dev/hurtworld/questions.yaml @@ -0,0 +1,413 @@ +# Include{groups} +portals: + open: + 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 +# Include{global} + + - variable: controller + group: "Controller" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: advanced + label: "Show Advanced Controller Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: type + description: "Please specify type of workload to deploy" + label: "(Advanced) Controller Type" + schema: + type: string + default: "deployment" + required: true + enum: + - value: "deployment" + description: "Deployment" + - value: "statefulset" + description: "Statefulset" + - value: "daemonset" + description: "Daemonset" + - variable: replicas + description: "Number of desired pod replicas" + label: "Desired Replicas" + schema: + type: int + default: 1 + required: true + - variable: strategy + description: "Please specify type of workload to deploy" + label: "(Advanced) Update Strategy" + schema: + type: string + default: "Recreate" + required: true + enum: + - value: "Recreate" + description: "Recreate: Kill existing pods before creating new ones" + - value: "RollingUpdate" + 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: + additional_attrs: true + type: dict + attrs: + + - variable: GAME_ID + label: 'GAME_ID' + description: "The GAMEID that the container download at startup.(httpsdeveloper.valvesoftware.comwikiDedicatedServersList)" + schema: + type: string + default: "405100" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your extra start up commands for the server starting with a ; (without quotes e.g. ;afkkicktime 900;autosaveenabled 0). Dont forget to change the admin SteamID." + schema: + type: string + default: ";autosaveenabled 1;addadmin 76561197963117432" + - variable: USERNAME + label: 'USERNAME' + description: "Your Steam username goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)." + schema: + type: string + default: "" + - variable: VALIDATE + label: 'VALIDATE' + description: "Set the Variable to true if you want to validate the installation otherwise leave it blank." + schema: + type: string + default: "" + - variable: PASSWRD + label: 'PASSWRD' + description: "Your Steam password goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)." + schema: + type: string + default: "" + - variable: SRV_NAME + label: 'SRV_NAME' + description: "Enter your servername." + schema: + type: string + default: "Hurtworld Docker" + - variable: SRV_MAXPLAYERS + label: 'SRV_MAXPLAYERS' + description: "Enter the maximum allowed players" + schema: + type: string + default: "50" + - variable: GAME_PORT + label: 'GAME_PORT' + description: "Container Variable GAMEPORT" + schema: + type: string + default: "12871" + - variable: QUERY_PORT + label: 'QUERY_PORT' + description: "Container Variable QUERYPORT" + schema: + type: string + default: "12881" + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 12871 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: UDP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 12871 + + - variable: queryport + label: 'queryport service' + description: "UDP Queryport (if you need another port, please delete this entry and create a new UDP Port with the required port number, also dont forget to click an Show more settings ... and change the port number)" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: queryport + label: "queryport Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 12881 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: enabled + label: "Enable the port" + schema: + type: boolean + default: true + - variable: protocol + label: "Port Type" + schema: + type: string + default: UDP + enum: + - value: HTTP + description: "HTTP" + - value: "HTTPS" + description: "HTTPS" + - value: TCP + description: "TCP" + - value: "UDP" + description: "UDP" + - variable: nodePort + label: "Node Port (Optional)" + description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer" + schema: + type: int + min: 9000 + max: 65535 + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 12881 + + + - 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 + +# Include{serviceExpert} + +# Include{serviceList} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: steamcmd + label: "steamcmd Storage" + description: "Container Path serverdatasteamcmd" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# Include{persistenceList} + + + - variable: ingress + label: "" + group: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} + +# Include{ingressTLS} + +# Include{ingressTraefik} + +# Include{ingressExpert} + +# Include{ingressList} + +# Include{security} + + - variable: advancedSecurity + label: "Show Advanced Security Settings" + group: "Security and Permissions" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: securityContext + label: "Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: false + - variable: allowPrivilegeEscalation + label: "Allow Privilege Escalation" + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: "runAsNonRoot" + schema: + type: boolean + default: false +# Include{securityContextAdvanced} + + - variable: podSecurityContext + group: "Security and Permissions" + label: "Pod Security Context" + schema: + additional_attrs: true + type: dict + attrs: + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 0 + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} + + +# Include{resources} + +# Include{advanced} + +# Include{addons} diff --git a/charts/dev/hurtworld/templates/common.yaml b/charts/dev/hurtworld/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/hurtworld/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/hurtworld/values.yaml b/charts/dev/hurtworld/values.yaml new file mode 100644 index 00000000000..10ced3bb684 --- /dev/null +++ b/charts/dev/hurtworld/values.yaml @@ -0,0 +1,51 @@ +env: + GAME_ID: '405100' + GAME_PARAMS: ;autosaveenabled 1;addadmin 76561197963117432 + GAME_PORT: '12871' + PASSWRD: '' + QUERY_PORT: '12881' + SRV_MAXPLAYERS: '50' + SRV_NAME: Hurtworld Docker + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/hurtworld + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 12871 + protocol: UDP + targetPort: 12871 + queryport: + enabled: true + ports: + queryport: + enabled: true + port: 12881 + protocol: UDP + targetPort: 12881