diff --git a/charts/dev/factorio/.helmignore b/charts/dev/factorio/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/factorio/.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/factorio/Chart.yaml b/charts/dev/factorio/Chart.yaml new file mode 100644 index 00000000000..44a25b19e6c --- /dev/null +++ b/charts/dev/factorio/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 Container will download the latest stable release of the\ + \ game, generate the map and you're ready to play.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/factorio +icon: https://truecharts.org/img/chart-icons/factorio.png +keywords: +- factorio +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: factorio +sources: +- https://www.factorio.com/ +- https://hub.docker.com/r/factoriotools/factorio/ +type: application +version: 0.0.10 diff --git a/charts/dev/factorio/icon.png b/charts/dev/factorio/icon.png new file mode 100644 index 00000000000..a0e64fd4a1f Binary files /dev/null and b/charts/dev/factorio/icon.png differ diff --git a/charts/dev/factorio/questions.yaml b/charts/dev/factorio/questions.yaml new file mode 100644 index 00000000000..7f35485ea35 --- /dev/null +++ b/charts/dev/factorio/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: 34197 + 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: 34197 + + + + - 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: path + label: "path Storage" + description: "Container Path factorio" + 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/factorio/templates/common.yaml b/charts/dev/factorio/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/factorio/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/factorio/values.yaml b/charts/dev/factorio/values.yaml new file mode 100644 index 00000000000..e088047ecb2 --- /dev/null +++ b/charts/dev/factorio/values.yaml @@ -0,0 +1,31 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/factorio + tag: vstable +persistence: + path: + enabled: true + mountPath: /factorio +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: 34197 + protocol: UDP + targetPort: 34197 diff --git a/charts/dev/factorioservermanager/.helmignore b/charts/dev/factorioservermanager/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/factorioservermanager/.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/factorioservermanager/Chart.yaml b/charts/dev/factorioservermanager/Chart.yaml new file mode 100644 index 00000000000..298d617b136 --- /dev/null +++ b/charts/dev/factorioservermanager/Chart.yaml @@ -0,0 +1,28 @@ +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: "A tool for managing Factorio servers \r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/factorioservermanager +icon: https://truecharts.org/img/chart-icons/factorioservermanager.png +keywords: +- factorioservermanager +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: factorioservermanager +sources: +- https://github.com/OpenFactorioServerManager/factorio-server-manager +- https://hub.docker.com/r/ofsm/ofsm +type: application +version: 0.0.10 diff --git a/charts/dev/factorioservermanager/icon.png b/charts/dev/factorioservermanager/icon.png new file mode 100644 index 00000000000..b16d31eda94 Binary files /dev/null and b/charts/dev/factorioservermanager/icon.png differ diff --git a/charts/dev/factorioservermanager/questions.yaml b/charts/dev/factorioservermanager/questions.yaml new file mode 100644 index 00000000000..6f8f39134b7 --- /dev/null +++ b/charts/dev/factorioservermanager/questions.yaml @@ -0,0 +1,358 @@ +# 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: 8888 + 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: factorioport + label: 'factorioport service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: factorioport + label: "factorioport 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: 34197 + 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: 34197 + + + - 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: fsmsaves + label: "fsmsaves Storage" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: fsmmods + label: "fsmmods Storage" + description: "(can be left as it is)" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: config + label: "config Storage" + description: "(can be left as it is)" + 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/factorioservermanager/templates/common.yaml b/charts/dev/factorioservermanager/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/factorioservermanager/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/factorioservermanager/values.yaml b/charts/dev/factorioservermanager/values.yaml new file mode 100644 index 00000000000..4e2bd9325ba --- /dev/null +++ b/charts/dev/factorioservermanager/values.yaml @@ -0,0 +1,38 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/factorioservermanager + tag: latest +persistence: + config: + enabled: true + mountPath: /opt/factorio/config + fsmmods: + enabled: true + mountPath: /opt/factorio/mods + fsmsaves: + enabled: true + mountPath: /opt/factorio/saves +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + factorioport: + enabled: true + ports: + factorioport: + enabled: true + port: 34197 + protocol: UDP + targetPort: 34197 + main: + enabled: true + ports: + main: + enabled: true + port: 8888 + protocol: HTTP + targetPort: 80 diff --git a/charts/dev/facturascripts/.helmignore b/charts/dev/facturascripts/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/facturascripts/.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/facturascripts/Chart.yaml b/charts/dev/facturascripts/Chart.yaml new file mode 100644 index 00000000000..2d65ceb7985 --- /dev/null +++ b/charts/dev/facturascripts/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Productivity +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "FacturaScripts is an accounting, billing and CRM program with it you\ + \ can manage the day to day of your company: invoices, receipts, expenses, budgets,\ + \ orders, delivery notes, inventory...\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/facturascripts +icon: https://truecharts.org/img/chart-icons/facturascripts.png +keywords: +- facturascripts +- Cloud +- Productivity +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: facturascripts +sources: +- https://facturascripts.com/ +- https://hub.docker.com/r/unraides/facturascripts +type: application +version: 0.0.10 diff --git a/charts/dev/facturascripts/icon.png b/charts/dev/facturascripts/icon.png new file mode 100644 index 00000000000..e3628212574 Binary files /dev/null and b/charts/dev/facturascripts/icon.png differ diff --git a/charts/dev/facturascripts/questions.yaml b/charts/dev/facturascripts/questions.yaml new file mode 100644 index 00000000000..42f0467039e --- /dev/null +++ b/charts/dev/facturascripts/questions.yaml @@ -0,0 +1,281 @@ +# 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: 31000 + 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: appdata + label: "appdata 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/facturascripts/templates/common.yaml b/charts/dev/facturascripts/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/facturascripts/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/facturascripts/values.yaml b/charts/dev/facturascripts/values.yaml new file mode 100644 index 00000000000..7466522692d --- /dev/null +++ b/charts/dev/facturascripts/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/facturascripts + tag: latest +persistence: + appdata: + enabled: true + mountPath: /var/www/html +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 31000 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/farmos/.helmignore b/charts/dev/farmos/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/farmos/.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/farmos/Chart.yaml b/charts/dev/farmos/Chart.yaml new file mode 100644 index 00000000000..c981c72cb9a --- /dev/null +++ b/charts/dev/farmos/Chart.yaml @@ -0,0 +1,32 @@ +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: "farmOS is a web-based application for farm management, planning, and\ + \ record keeping. It is developed by a community of volunteers and aims to provide\ + \ a standard platform for farmers, developers, and researchers to build upon.\r" +home: https://github.com/truecharts/apps/tree/master/charts/stable/farmos +icon: https://truecharts.org/img/chart-icons/farmos.png +keywords: +- farmos +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: farmos +sources: +- https://github.com/farmOS/farmOS +- https://hub.docker.com/r/farmos/farmos/ +type: application +version: 0.0.10 diff --git a/charts/dev/farmos/icon.png b/charts/dev/farmos/icon.png new file mode 100644 index 00000000000..b8ec2126be0 Binary files /dev/null and b/charts/dev/farmos/icon.png differ diff --git a/charts/dev/farmos/questions.yaml b/charts/dev/farmos/questions.yaml new file mode 100644 index 00000000000..f36c8b5d079 --- /dev/null +++ b/charts/dev/farmos/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: 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: sitesdirectory + label: "sitesdirectory Storage" + description: "Contains the site-specific settings and uploaded files" + 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/farmos/templates/common.yaml b/charts/dev/farmos/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/farmos/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/farmos/values.yaml b/charts/dev/farmos/values.yaml new file mode 100644 index 00000000000..0c9658935f1 --- /dev/null +++ b/charts/dev/farmos/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/farmos + tag: latest +persistence: + sitesdirectory: + enabled: true + mountPath: /var/www/html/sites +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/fastcom-mqtt/.helmignore b/charts/dev/fastcom-mqtt/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fastcom-mqtt/.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/fastcom-mqtt/Chart.yaml b/charts/dev/fastcom-mqtt/Chart.yaml new file mode 100644 index 00000000000..f466bab252f --- /dev/null +++ b/charts/dev/fastcom-mqtt/Chart.yaml @@ -0,0 +1,30 @@ +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: 'Docker Container with Fast.com CLI sending data directly to MQTT Broker + + ' +home: https://github.com/truecharts/apps/tree/master/charts/stable/fastcom-mqtt +icon: https://truecharts.org/img/chart-icons/fastcom-mqtt.png +keywords: +- fastcom-mqtt +- HomeAutomation +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fastcom-mqtt +sources: +- https://github.com/simonjenny/fastcom-mqtt +- https://hub.docker.com/r/simonjenny/fastcom-mqtt/ +type: application +version: 0.0.10 diff --git a/charts/dev/fastcom-mqtt/icon.png b/charts/dev/fastcom-mqtt/icon.png new file mode 100644 index 00000000000..7a813b0fc05 Binary files /dev/null and b/charts/dev/fastcom-mqtt/icon.png differ diff --git a/charts/dev/fastcom-mqtt/questions.yaml b/charts/dev/fastcom-mqtt/questions.yaml new file mode 100644 index 00000000000..614d045191e --- /dev/null +++ b/charts/dev/fastcom-mqtt/questions.yaml @@ -0,0 +1,201 @@ +# 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: MQTT_SERVER + label: 'MQTT_SERVER' + description: "Container Variable MQTTSERVER" + schema: + type: string + default: "" + - variable: MQTT_UP + label: 'MQTT_UP' + description: "Container Variable MQTTUP" + schema: + type: string + default: "" + - variable: MQTT_DOWN + label: 'MQTT_DOWN' + description: "Container Variable MQTTDOWN" + schema: + type: string + default: "" + - variable: SLEEP + label: 'SLEEP' + description: "Container Variable sleep" + schema: + type: string + default: "3600" + + + - 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/fastcom-mqtt/templates/common.yaml b/charts/dev/fastcom-mqtt/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fastcom-mqtt/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fastcom-mqtt/values.yaml b/charts/dev/fastcom-mqtt/values.yaml new file mode 100644 index 00000000000..33430729dbb --- /dev/null +++ b/charts/dev/fastcom-mqtt/values.yaml @@ -0,0 +1,29 @@ +env: + MQTT_DOWN: '' + MQTT_SERVER: '' + MQTT_UP: '' + SLEEP: '3600' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fastcom-mqtt + 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/fenrus/.helmignore b/charts/dev/fenrus/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fenrus/.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/fenrus/Chart.yaml b/charts/dev/fenrus/Chart.yaml new file mode 100644 index 00000000000..8c02c9d6874 --- /dev/null +++ b/charts/dev/fenrus/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: "Fenrus is a home page / personal dashboard with smart apps. \n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fenrus +icon: https://truecharts.org/img/chart-icons/fenrus.png +keywords: +- fenrus +- Productivity +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fenrus +sources: +- http://fenrus.io +- https://hub.docker.com/r/revenz/fenrus/ +type: application +version: 0.0.10 diff --git a/charts/dev/fenrus/icon.png b/charts/dev/fenrus/icon.png new file mode 100644 index 00000000000..515527c8443 Binary files /dev/null and b/charts/dev/fenrus/icon.png differ diff --git a/charts/dev/fenrus/questions.yaml b/charts/dev/fenrus/questions.yaml new file mode 100644 index 00000000000..a20cea23fbb --- /dev/null +++ b/charts/dev/fenrus/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: 3000 + 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: 3000 + + + + - 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: "Location of user configuration files" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: images + label: "images Storage" + description: "Location to store user images" + 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/fenrus/templates/common.yaml b/charts/dev/fenrus/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fenrus/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fenrus/values.yaml b/charts/dev/fenrus/values.yaml new file mode 100644 index 00000000000..5ad61459769 --- /dev/null +++ b/charts/dev/fenrus/values.yaml @@ -0,0 +1,27 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fenrus + tag: latest +persistence: + data: + enabled: true + mountPath: /app/data + images: + enabled: true + mountPath: /app/wwwroot/images +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 3000 + protocol: TCP + targetPort: 3000 diff --git a/charts/dev/ferdi-client/.helmignore b/charts/dev/ferdi-client/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/ferdi-client/.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/ferdi-client/Chart.yaml b/charts/dev/ferdi-client/Chart.yaml new file mode 100644 index 00000000000..162ab645984 --- /dev/null +++ b/charts/dev/ferdi-client/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: "Ferdi is a destkop app that helps you organize how you use your favourite\ + \ apps by combining them into one application. It is based on Franz - a software\ + \ already used by thousands of people - with the difference that Ferdi gives you\ + \ many additional features and doesn't restrict its usage! Ferdi is compatible with\ + \ your existing Franz account so you can continue right where you left off.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/ferdi-client +icon: https://truecharts.org/img/chart-icons/ferdi-client.png +keywords: +- ferdi-client +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: ferdi-client +sources: +- https://getferdi.com/ +- https://hub.docker.com/r/ich777/ferdi-client/ +type: application +version: 0.0.10 diff --git a/charts/dev/ferdi-client/icon.png b/charts/dev/ferdi-client/icon.png new file mode 100644 index 00000000000..56c4c251ae2 Binary files /dev/null and b/charts/dev/ferdi-client/icon.png differ diff --git a/charts/dev/ferdi-client/questions.yaml b/charts/dev/ferdi-client/questions.yaml new file mode 100644 index 00000000000..1055c2baac9 --- /dev/null +++ b/charts/dev/ferdi-client/questions.yaml @@ -0,0 +1,314 @@ +# 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: FERDI_V + label: 'FERDI_V' + description: "Define your preferred Ferdi version here (valid options are stable and latest where latest refers to pre-releases)" + schema: + type: string + default: "stable" + - variable: CUSTOM_RES_W + label: 'CUSTOM_RES_W' + description: "Minimum screen width 1000 pixels" + schema: + type: string + default: "1280" + - variable: CUSTOM_RES_H + label: 'CUSTOM_RES_H' + description: "Minimum screen hight 880 pixels" + schema: + type: string + default: "768" + - variable: UMASK + label: 'UMASK' + description: "Container Variable 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: 8080 + 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: 8080 + + + + - 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: datadir + label: "datadir Storage" + description: "Data Path" + 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/ferdi-client/templates/common.yaml b/charts/dev/ferdi-client/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/ferdi-client/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/ferdi-client/values.yaml b/charts/dev/ferdi-client/values.yaml new file mode 100644 index 00000000000..ae40eaefdd7 --- /dev/null +++ b/charts/dev/ferdi-client/values.yaml @@ -0,0 +1,28 @@ +env: + CUSTOM_RES_H: '768' + CUSTOM_RES_W: '1280' + FERDI_V: stable + UMASK: '000' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/ferdi-client + tag: latest +persistence: + datadir: + enabled: true + mountPath: /ferdi +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8080 + protocol: TCP + targetPort: 8080 diff --git a/charts/dev/ffmpeg-mkvdts2ac3/.helmignore b/charts/dev/ffmpeg-mkvdts2ac3/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/ffmpeg-mkvdts2ac3/.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/ffmpeg-mkvdts2ac3/Chart.yaml b/charts/dev/ffmpeg-mkvdts2ac3/Chart.yaml new file mode 100644 index 00000000000..e639401039a --- /dev/null +++ b/charts/dev/ffmpeg-mkvdts2ac3/Chart.yaml @@ -0,0 +1,29 @@ +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: A Docker container designed to watch a directory and encode media files. +home: https://github.com/truecharts/apps/tree/master/charts/stable/ffmpeg-mkvdts2ac3 +icon: https://truecharts.org/img/chart-icons/ffmpeg-mkvdts2ac3.png +keywords: +- ffmpeg-mkvdts2ac3 +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: ffmpeg-mkvdts2ac3 +sources: +- https://registry.hub.docker.com/r/snoopy86/ffmpeg/ +type: application +version: 0.0.10 diff --git a/charts/dev/ffmpeg-mkvdts2ac3/icon.png b/charts/dev/ffmpeg-mkvdts2ac3/icon.png new file mode 100644 index 00000000000..fdf7b66a6e3 Binary files /dev/null and b/charts/dev/ffmpeg-mkvdts2ac3/icon.png differ diff --git a/charts/dev/ffmpeg-mkvdts2ac3/questions.yaml b/charts/dev/ffmpeg-mkvdts2ac3/questions.yaml new file mode 100644 index 00000000000..5a5489ca3af --- /dev/null +++ b/charts/dev/ffmpeg-mkvdts2ac3/questions.yaml @@ -0,0 +1,247 @@ +# 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: script + label: 'script' + description: "encode.sh or mkvdts2ac3.sh" + schema: + type: string + default: "encode.sh" + - variable: parameters + label: 'parameters' + description: "Parameters for FFmpeg" + schema: + type: string + default: "-map 0;-vcodec copy;-scodec copy;-acodec ac3;-b:a 640k" + - variable: output_format + label: 'output_format' + description: "Format of output file." + schema: + type: string + default: "mkv" + - variable: mkvdts2ac3_params + label: 'mkvdts2ac3_params' + description: "Parameters for mkvdts2ac3" + schema: + type: string + default: "--compress none;-d;-n;-w /output;--new" + + + - 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: "Config" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: watch + label: "watch Storage" + description: "Watch" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: output + label: "output Storage" + description: "Output" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: copy + label: "copy Storage" + description: "Copy" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# 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/ffmpeg-mkvdts2ac3/templates/common.yaml b/charts/dev/ffmpeg-mkvdts2ac3/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/ffmpeg-mkvdts2ac3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/ffmpeg-mkvdts2ac3/values.yaml b/charts/dev/ffmpeg-mkvdts2ac3/values.yaml new file mode 100644 index 00000000000..7a30664b06e --- /dev/null +++ b/charts/dev/ffmpeg-mkvdts2ac3/values.yaml @@ -0,0 +1,41 @@ +env: + mkvdts2ac3_params: --compress none;-d;-n;-w /output;--new + output_format: mkv + parameters: -map 0;-vcodec copy;-scodec copy;-acodec ac3;-b:a 640k + script: encode.sh +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/ffmpeg-mkvdts2ac3 + tag: latest +persistence: + config: + enabled: true + mountPath: /config + copy: + enabled: true + mountPath: /copy + output: + enabled: true + mountPath: /output + watch: + enabled: true + mountPath: /watch +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/fileflows-node/.helmignore b/charts/dev/fileflows-node/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fileflows-node/.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/fileflows-node/Chart.yaml b/charts/dev/fileflows-node/Chart.yaml new file mode 100644 index 00000000000..ee14ac3c173 --- /dev/null +++ b/charts/dev/fileflows-node/Chart.yaml @@ -0,0 +1,29 @@ +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: Additinal processing node for FileFlows. See http://fileflows.com for + more information +home: https://github.com/truecharts/apps/tree/master/charts/stable/fileflows-node +icon: https://truecharts.org/img/chart-icons/fileflows-node.png +keywords: +- fileflows-node +- Productivity +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fileflows-node +sources: +- https://fileflows.com/ +- https://hub.docker.com/r/revenz/fileflows/ +type: application +version: 0.0.10 diff --git a/charts/dev/fileflows-node/icon.png b/charts/dev/fileflows-node/icon.png new file mode 100644 index 00000000000..f91572ae03a Binary files /dev/null and b/charts/dev/fileflows-node/icon.png differ diff --git a/charts/dev/fileflows-node/questions.yaml b/charts/dev/fileflows-node/questions.yaml new file mode 100644 index 00000000000..9e73fe8aaeb --- /dev/null +++ b/charts/dev/fileflows-node/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: ServerUrl + label: 'ServerUrl' + description: "FileFlows Server URL" + schema: + type: string + default: "" + - variable: NodeName + label: 'NodeName' + description: "A unique name to identify this Node instance" + schema: + type: string + default: "" + - variable: TempPath + label: 'TempPath' + description: "Path for temporary files created" + 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/fileflows-node/templates/common.yaml b/charts/dev/fileflows-node/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fileflows-node/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fileflows-node/values.yaml b/charts/dev/fileflows-node/values.yaml new file mode 100644 index 00000000000..a429757da00 --- /dev/null +++ b/charts/dev/fileflows-node/values.yaml @@ -0,0 +1,28 @@ +env: + NodeName: '' + ServerUrl: '' + TempPath: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fileflows-node + 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/filegator/.helmignore b/charts/dev/filegator/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/filegator/.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/filegator/Chart.yaml b/charts/dev/filegator/Chart.yaml new file mode 100644 index 00000000000..ff0a1c62489 --- /dev/null +++ b/charts/dev/filegator/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Productivity + - Tools-Utilities + - 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/filegator +icon: https://truecharts.org/img/chart-icons/filegator.png +keywords: +- filegator +- Cloud +- Productivity +- Tools-Utilities +- Network-FTP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: filegator +sources: +- https://github.com/filegator/filegator +- https://hub.docker.com/r/maxime1907/filegator +type: application +version: 0.0.10 diff --git a/charts/dev/filegator/icon.png b/charts/dev/filegator/icon.png new file mode 100644 index 00000000000..f0f2d5d6d85 Binary files /dev/null and b/charts/dev/filegator/icon.png differ diff --git a/charts/dev/filegator/questions.yaml b/charts/dev/filegator/questions.yaml new file mode 100644 index 00000000000..07d33ce42f6 --- /dev/null +++ b/charts/dev/filegator/questions.yaml @@ -0,0 +1,359 @@ +# 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: 8048 + 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: webuihttps + label: 'webuihttps service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: webuihttps + label: "webuihttps 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: 8049 + 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: 443 + + + - 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: "This is the location for all the personal information." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: config + label: "config Storage" + description: "This is the location for the configuration files." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: storageconfigfile + label: "storageconfigfile Storage" + description: "This is the configuration file." + 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/filegator/templates/common.yaml b/charts/dev/filegator/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/filegator/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/filegator/values.yaml b/charts/dev/filegator/values.yaml new file mode 100644 index 00000000000..a908f885123 --- /dev/null +++ b/charts/dev/filegator/values.yaml @@ -0,0 +1,39 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/filegator + tag: latest +persistence: + config: + enabled: true + mountPath: /config + data: + enabled: true + mountPath: /data + storageconfigfile: + enabled: true + mountPath: /var/www/localhost/filegator/configuration.php + readOnly: true +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8048 + protocol: HTTP + targetPort: 80 + webuihttps: + enabled: true + ports: + webuihttps: + enabled: true + port: 8049 + protocol: TCP + targetPort: 443 diff --git a/charts/dev/fileshelter/.helmignore b/charts/dev/fileshelter/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fileshelter/.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/fileshelter/Chart.yaml b/charts/dev/fileshelter/Chart.yaml new file mode 100644 index 00000000000..9aef962b10d --- /dev/null +++ b/charts/dev/fileshelter/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Tools-Utilities + - Network-Web + - 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/fileshelter +icon: https://truecharts.org/img/chart-icons/fileshelter.png +keywords: +- fileshelter +- Cloud +- Tools-Utilities +- Network-Web +- Network-FTP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fileshelter +sources: +- https://github.com/epoupon/fileshelter +- https://hub.docker.com/r/epoupon/fileshelter +type: application +version: 0.0.10 diff --git a/charts/dev/fileshelter/icon.png b/charts/dev/fileshelter/icon.png new file mode 100644 index 00000000000..0758a0e8ba6 Binary files /dev/null and b/charts/dev/fileshelter/icon.png differ diff --git a/charts/dev/fileshelter/questions.yaml b/charts/dev/fileshelter/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/fileshelter/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/fileshelter/templates/common.yaml b/charts/dev/fileshelter/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fileshelter/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fileshelter/values.yaml b/charts/dev/fileshelter/values.yaml new file mode 100644 index 00000000000..fdf5013bfdc --- /dev/null +++ b/charts/dev/fileshelter/values.yaml @@ -0,0 +1,25 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fileshelter + 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/filestash/.helmignore b/charts/dev/filestash/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/filestash/.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/filestash/Chart.yaml b/charts/dev/filestash/Chart.yaml new file mode 100644 index 00000000000..c437970848f --- /dev/null +++ b/charts/dev/filestash/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Productivity + - Network-Web +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, + CardDAV, Mysql, Backblaze, ... +home: https://github.com/truecharts/apps/tree/master/charts/stable/filestash +icon: https://truecharts.org/img/chart-icons/filestash.png +keywords: +- filestash +- Cloud +- Productivity +- Network-Web +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: filestash +sources: +- https://www.filestash.app/ +- https://hub.docker.com/r/machines/filestash/ +type: application +version: 0.0.10 diff --git a/charts/dev/filestash/icon.png b/charts/dev/filestash/icon.png new file mode 100644 index 00000000000..299c4d444f9 Binary files /dev/null and b/charts/dev/filestash/icon.png differ diff --git a/charts/dev/filestash/questions.yaml b/charts/dev/filestash/questions.yaml new file mode 100644 index 00000000000..aff0edcb1f2 --- /dev/null +++ b/charts/dev/filestash/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: 8334 + 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: 8334 + + + + - 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: appdata + label: "appdata Storage" + description: "Container Path appdatastate" + 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/filestash/templates/common.yaml b/charts/dev/filestash/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/filestash/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/filestash/values.yaml b/charts/dev/filestash/values.yaml new file mode 100644 index 00000000000..344cf27fe89 --- /dev/null +++ b/charts/dev/filestash/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/filestash + tag: latest +persistence: + appdata: + enabled: true + mountPath: /app/data/state/ +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8334 + protocol: TCP + targetPort: 8334 diff --git a/charts/dev/firefox-desktop-g3/.helmignore b/charts/dev/firefox-desktop-g3/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/firefox-desktop-g3/.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/firefox-desktop-g3/Chart.yaml b/charts/dev/firefox-desktop-g3/Chart.yaml new file mode 100644 index 00000000000..321f0b95297 --- /dev/null +++ b/charts/dev/firefox-desktop-g3/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity + - Tools-Utilities + - Network-Web +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/firefox-desktop-g3 +icon: https://truecharts.org/img/chart-icons/firefox-desktop-g3.png +keywords: +- firefox-desktop-g3 +- Productivity +- Tools-Utilities +- Network-Web +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: firefox-desktop-g3 +sources: +- https://github.com/accetto/headless-drawing-g3/ +- https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-g3 +type: application +version: 0.0.10 diff --git a/charts/dev/firefox-desktop-g3/icon.png b/charts/dev/firefox-desktop-g3/icon.png new file mode 100644 index 00000000000..9b5874ddc05 Binary files /dev/null and b/charts/dev/firefox-desktop-g3/icon.png differ diff --git a/charts/dev/firefox-desktop-g3/questions.yaml b/charts/dev/firefox-desktop-g3/questions.yaml new file mode 100644 index 00000000000..c9627844be4 --- /dev/null +++ b/charts/dev/firefox-desktop-g3/questions.yaml @@ -0,0 +1,361 @@ +# 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: VNC_PW + label: 'VNC_PW' + description: "The VNCnoVNC password." + schema: + type: string + default: "unraid" + - variable: VNC_RESOLUTION + label: 'VNC_RESOLUTION' + description: "The VNCnoVNC resolution." + schema: + type: string + default: "1360x768" + +# 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: 6901 + 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: 6901 + + - variable: webuivnc + label: 'webuivnc service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: webuivnc + label: "webuivnc 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: 5901 + 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: 5901 + + + - 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: internalshare + label: "internalshare Storage" + description: "Path to a share from your host to be able to work within the container." + 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/firefox-desktop-g3/templates/common.yaml b/charts/dev/firefox-desktop-g3/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/firefox-desktop-g3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/firefox-desktop-g3/values.yaml b/charts/dev/firefox-desktop-g3/values.yaml new file mode 100644 index 00000000000..bed8070fbc4 --- /dev/null +++ b/charts/dev/firefox-desktop-g3/values.yaml @@ -0,0 +1,34 @@ +env: + VNC_PW: unraid + VNC_RESOLUTION: 1360x768 +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/firefox-desktop-g3 + tag: latest +persistence: + internalshare: + enabled: true + mountPath: /UNRAID_SHARE +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 6901 + protocol: HTTP + targetPort: 6901 + webuivnc: + enabled: true + ports: + webuivnc: + enabled: true + port: 5901 + protocol: TCP + targetPort: 5901 diff --git a/charts/dev/fireshare/.helmignore b/charts/dev/fireshare/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fireshare/.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/fireshare/Chart.yaml b/charts/dev/fireshare/Chart.yaml new file mode 100644 index 00000000000..5d7207e0dcd --- /dev/null +++ b/charts/dev/fireshare/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other + - MediaServer-Video +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "Fireshare allows you to easily share your media whether that be game\ + \ clips, screen records, or movies through a unique publically accessible link.\ + \ \r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fireshare +icon: https://truecharts.org/img/chart-icons/fireshare.png +keywords: +- fireshare +- Other +- MediaServer-Video +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fireshare +sources: +- https://github.com/ShaneIsrael/fireshare +- https://hub.docker.com/r/shaneisrael/fireshare +type: application +version: 0.0.10 diff --git a/charts/dev/fireshare/icon.png b/charts/dev/fireshare/icon.png new file mode 100644 index 00000000000..24e8702e51b Binary files /dev/null and b/charts/dev/fireshare/icon.png differ diff --git a/charts/dev/fireshare/questions.yaml b/charts/dev/fireshare/questions.yaml new file mode 100644 index 00000000000..96e0ba68a5c --- /dev/null +++ b/charts/dev/fireshare/questions.yaml @@ -0,0 +1,320 @@ +# 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: ADMIN_PASSWORD + label: 'ADMIN_PASSWORD' + description: "The admin account password" + schema: + type: string + default: "admin" + - variable: MINUTES_BETWEEN_VIDEO_SCANS + label: 'MINUTES_BETWEEN_VIDEO_SCANS' + description: "How often in minutes Fireshare will scan for new videos" + schema: + type: string + default: "5" + +# 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: 8080 + 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: data + label: "data Storage" + description: "Container Path data" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: videos + label: "videos Storage" + description: "This is where fireshare will look for videos that you want to share." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: processeddata + label: "processeddata Storage" + description: "This is where data generated by fireshare related to your shared videos will live. If this is not mapped, whenever you update the container this data will be lost and will need to be regenerated. DO NOT EDIT OR CHANGE FILES IN THIS DIRECTORY." + 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/fireshare/templates/common.yaml b/charts/dev/fireshare/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fireshare/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fireshare/values.yaml b/charts/dev/fireshare/values.yaml new file mode 100644 index 00000000000..964b3796fb8 --- /dev/null +++ b/charts/dev/fireshare/values.yaml @@ -0,0 +1,32 @@ +env: + ADMIN_PASSWORD: admin + MINUTES_BETWEEN_VIDEO_SCANS: '5' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fireshare + tag: latest +persistence: + data: + enabled: true + mountPath: /data + processeddata: + enabled: true + mountPath: /processed + videos: + enabled: true + mountPath: /videos +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8080 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/fistfuloffrags/.helmignore b/charts/dev/fistfuloffrags/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fistfuloffrags/.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/fistfuloffrags/Chart.yaml b/charts/dev/fistfuloffrags/Chart.yaml new file mode 100644 index 00000000000..e5c2784f719 --- /dev/null +++ b/charts/dev/fistfuloffrags/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\ + \ Fistful of Frags and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fistfuloffrags +icon: https://truecharts.org/img/chart-icons/fistfuloffrags.png +keywords: +- fistfuloffrags +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fistfuloffrags +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.10 diff --git a/charts/dev/fistfuloffrags/icon.png b/charts/dev/fistfuloffrags/icon.png new file mode 100644 index 00000000000..afb15210d7a Binary files /dev/null and b/charts/dev/fistfuloffrags/icon.png differ diff --git a/charts/dev/fistfuloffrags/questions.yaml b/charts/dev/fistfuloffrags/questions.yaml new file mode 100644 index 00000000000..48f31705191 --- /dev/null +++ b/charts/dev/fistfuloffrags/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: "295230" + - variable: GAME_NAME + label: 'GAME_NAME' + description: "Game name to start (is connected to the GAMEPARAMS)." + schema: + type: string + default: "fof" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "+maxplayers 20 +map fof_fistful" + - 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/fistfuloffrags/templates/common.yaml b/charts/dev/fistfuloffrags/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fistfuloffrags/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fistfuloffrags/values.yaml b/charts/dev/fistfuloffrags/values.yaml new file mode 100644 index 00000000000..e511e2bc302 --- /dev/null +++ b/charts/dev/fistfuloffrags/values.yaml @@ -0,0 +1,49 @@ +env: + GAME_ID: '295230' + GAME_NAME: fof + GAME_PARAMS: +maxplayers 20 +map fof_fistful + GAME_PORT: '27015' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fistfuloffrags + 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/fivem/.helmignore b/charts/dev/fivem/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fivem/.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/fivem/Chart.yaml b/charts/dev/fivem/Chart.yaml new file mode 100644 index 00000000000..fcf2bc05883 --- /dev/null +++ b/charts/dev/fivem/Chart.yaml @@ -0,0 +1,34 @@ +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: "With this Docker you can run FiveM (GTA V MOD SERVER) it will automatically\ + \ download the latest version or if you want to updated it yourself set the \u2018\ + Manual Updates\u2019 (in the 'Show more settings' tab down below) to \u2018true\u2019\ + \ (without quotes). The Docker will automatically extract it and download all other\ + \ required files (resources, server.cfg). You can get fx.tar.xz from here: https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/\ + \ To run this container you must provide a valid Server Key (you can get them from\ + \ here: https://keymaster.fivem.net/) and your prefered Server Name.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fivem +icon: https://truecharts.org/img/chart-icons/fivem.png +keywords: +- fivem +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fivem +sources: +- https://fivem.net/ +- https://hub.docker.com/r/ich777/fivemserver/ +type: application +version: 0.0.10 diff --git a/charts/dev/fivem/icon.png b/charts/dev/fivem/icon.png new file mode 100644 index 00000000000..61ac094d25b Binary files /dev/null and b/charts/dev/fivem/icon.png differ diff --git a/charts/dev/fivem/questions.yaml b/charts/dev/fivem/questions.yaml new file mode 100644 index 00000000000..f8d421691db --- /dev/null +++ b/charts/dev/fivem/questions.yaml @@ -0,0 +1,566 @@ +# 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_CONFIG + label: 'GAME_CONFIG' + description: "You can edit the server.cfg after the first start (if you dont want to use the server.cfg then leave this field empty. For exampele if you plan to use txAdmin you have to add another port in the template with the host and container port 40120, you then can connect to txAdmin with YOURSERVERIP40120)." + schema: + type: string + default: "server.cfg" + - variable: START_VARS + label: 'START_VARS' + description: "Extra start variables." + schema: + type: string + default: "" + - variable: SRV_NAME + label: 'SRV_NAME' + description: "Your Servername" + schema: + type: string + default: "" + - variable: SERVER_KEY + label: 'SERVER_KEY' + description: "Your Server Key from httpskeymaster.fivem.net" + schema: + type: string + default: "" + - variable: SRV_ADR + label: 'SRV_ADR' + description: "Looks something like this httpsruntime.fivem.netartifactsfivembuildprootlinuxmaster" + schema: + type: string + default: "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/" + - variable: MANUAL_UPDATES + label: 'MANUAL_UPDATES' + description: "Set this to true without quotes to update your server manually (otherwise leave blank)" + schema: + type: string + default: "" + +# 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: 9016 + 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: 8080 + + - variable: tcp1 + label: 'tcp1 service' + description: "Container Port 30110" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcp1 + label: "tcp1 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: 30110 + 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: 30110 + - variable: tcp2 + label: 'tcp2 service' + description: "Container Port 30120" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcp2 + label: "tcp2 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: 30120 + 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: 30120 + - variable: udp1 + label: 'udp1 service' + description: "Container Port 30110" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udp1 + label: "udp1 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: 30110 + 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: 30110 + - variable: udp2 + label: 'udp2 service' + description: "Container Port 30120" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udp2 + label: "udp2 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: 30120 + 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: 30120 + + + - 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: 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/fivem/templates/common.yaml b/charts/dev/fivem/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fivem/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fivem/values.yaml b/charts/dev/fivem/values.yaml new file mode 100644 index 00000000000..bfb7b9a1651 --- /dev/null +++ b/charts/dev/fivem/values.yaml @@ -0,0 +1,62 @@ +env: + GAME_CONFIG: server.cfg + MANUAL_UPDATES: '' + SERVER_KEY: '' + SRV_ADR: https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ + SRV_NAME: '' + START_VARS: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fivem + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 9016 + protocol: HTTP + targetPort: 8080 + tcp1: + enabled: true + ports: + tcp1: + enabled: true + port: 30110 + protocol: TCP + targetPort: 30110 + tcp2: + enabled: true + ports: + tcp2: + enabled: true + port: 30120 + protocol: TCP + targetPort: 30120 + udp1: + enabled: true + ports: + udp1: + enabled: true + port: 30110 + protocol: UDP + targetPort: 30110 + udp2: + enabled: true + ports: + udp2: + enabled: true + port: 30120 + protocol: UDP + targetPort: 30120 diff --git a/charts/dev/flame/.helmignore b/charts/dev/flame/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/flame/.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/flame/Chart.yaml b/charts/dev/flame/Chart.yaml new file mode 100644 index 00000000000..67512ddfb96 --- /dev/null +++ b/charts/dev/flame/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Tools-Utilities + - Network-Web +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: Flame is self-hosted startpage for your server. Easily manage your apps + and bookmarks with built-in editors. +home: https://github.com/truecharts/apps/tree/master/charts/stable/flame +icon: https://truecharts.org/img/chart-icons/flame.png +keywords: +- flame +- Tools-Utilities +- Network-Web +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: flame +sources: +- https://github.com/pawelmalak/flame +- https://hub.docker.com/r/pawelmalak/flame +type: application +version: 0.0.10 diff --git a/charts/dev/flame/icon.png b/charts/dev/flame/icon.png new file mode 100644 index 00000000000..f8f72d99852 Binary files /dev/null and b/charts/dev/flame/icon.png differ diff --git a/charts/dev/flame/questions.yaml b/charts/dev/flame/questions.yaml new file mode 100644 index 00000000000..9cad3d95145 --- /dev/null +++ b/charts/dev/flame/questions.yaml @@ -0,0 +1,296 @@ +# 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: PASSWORD + label: 'PASSWORD' + description: "Container Variable PASSWORD" + schema: + type: string + default: "flame_password" + +# 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: 5030 + 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: 5005 + + + + - 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 appdata" + 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/flame/templates/common.yaml b/charts/dev/flame/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/flame/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/flame/values.yaml b/charts/dev/flame/values.yaml new file mode 100644 index 00000000000..461c1391f71 --- /dev/null +++ b/charts/dev/flame/values.yaml @@ -0,0 +1,25 @@ +env: + PASSWORD: flame_password +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/flame + 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: 5030 + protocol: TCP + targetPort: 5005 diff --git a/charts/dev/flashpaper/.helmignore b/charts/dev/flashpaper/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/flashpaper/.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/flashpaper/Chart.yaml b/charts/dev/flashpaper/Chart.yaml new file mode 100644 index 00000000000..cf96ec4acc3 --- /dev/null +++ b/charts/dev/flashpaper/Chart.yaml @@ -0,0 +1,36 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Productivity + - Security + - Tools-Utilities + - Network-Web +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/flashpaper +icon: https://truecharts.org/img/chart-icons/flashpaper.png +keywords: +- flashpaper +- Cloud +- Productivity +- Security +- Tools-Utilities +- Network-Web +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: flashpaper +sources: +- https://github.com/AndrewPaglusch/FlashPaper +- https://hub.docker.com/r/andrewpaglusch/flashpaper +type: application +version: 0.0.10 diff --git a/charts/dev/flashpaper/icon.png b/charts/dev/flashpaper/icon.png new file mode 100644 index 00000000000..3026ca61f12 Binary files /dev/null and b/charts/dev/flashpaper/icon.png differ diff --git a/charts/dev/flashpaper/questions.yaml b/charts/dev/flashpaper/questions.yaml new file mode 100644 index 00000000000..a73f3230bdf --- /dev/null +++ b/charts/dev/flashpaper/questions.yaml @@ -0,0 +1,369 @@ +# 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: SITE_TITLE + label: 'SITE_TITLE' + schema: + type: string + default: "FlashPaper - Self-Destructing Message" + - variable: RETURN_FULL_URL + label: 'RETURN_FULL_URL' + schema: + type: string + default: "true" + - variable: MAX_SECRET_LENGTH + label: 'MAX_SECRET_LENGTH' + schema: + type: string + default: "3000" + - variable: ANNOUNCEMENT + label: 'ANNOUNCEMENT' + schema: + type: string + default: "" + - variable: MESSAGES_ERROR_SECRET_TOO_LONG + label: 'MESSAGES_ERROR_SECRET_TOO_LONG' + schema: + type: string + default: "Input length too long" + - variable: MESSAGES_SUBMIT_SECRET_HEADER + label: 'MESSAGES_SUBMIT_SECRET_HEADER' + schema: + type: string + default: "Create A Self-Destructing Message" + - variable: MESSAGES_SUBMIT_SECRET_SUBHEADER + label: 'MESSAGES_SUBMIT_SECRET_SUBHEADER' + schema: + type: string + default: "" + - variable: MESSAGES_SUBMIT_SECRET_BUTTON + label: 'MESSAGES_SUBMIT_SECRET_BUTTON' + schema: + type: string + default: "Encrypt Message" + - variable: MESSAGES_VIEW_CODE_HEADER + label: 'MESSAGES_VIEW_CODE_HEADER' + schema: + type: string + default: "Self-Destructing URL" + - variable: MESSAGES_VIEW_CODE_SUBHEADER + label: 'MESSAGES_VIEW_CODE_SUBHEADER' + schema: + type: string + default: "Share this URL via email, chat, or another messaging service. It will self-destruct after being viewed once." + - variable: MESSAGES_CONFIRM_VIEW_SECRET_HEADER + label: 'MESSAGES_CONFIRM_VIEW_SECRET_HEADER' + schema: + type: string + default: "View this secret?" + - variable: MESSAGES_CONFIRM_VIEW_SECRET_BUTTON + label: 'MESSAGES_CONFIRM_VIEW_SECRET_BUTTON' + schema: + type: string + default: "View Secret" + - variable: MESSAGES_VIEW_SECRET_HEADER + label: 'MESSAGES_VIEW_SECRET_HEADER' + schema: + type: string + default: "This message has been destroyed" + - variable: PRUNE_ENABLED + label: 'PRUNE_ENABLED' + schema: + type: string + default: "true" + - variable: PRUNE_MIN_DAYS + label: 'PRUNE_MIN_DAYS' + schema: + type: string + default: "365" + - variable: PRUNE_MAX_DAYS + label: 'PRUNE_MAX_DAYS' + schema: + type: string + default: "730" + +# 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: 8544 + 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: data + label: "data 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/flashpaper/templates/common.yaml b/charts/dev/flashpaper/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/flashpaper/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/flashpaper/values.yaml b/charts/dev/flashpaper/values.yaml new file mode 100644 index 00000000000..9020d55def4 --- /dev/null +++ b/charts/dev/flashpaper/values.yaml @@ -0,0 +1,41 @@ +env: + ANNOUNCEMENT: '' + MAX_SECRET_LENGTH: '3000' + MESSAGES_CONFIRM_VIEW_SECRET_BUTTON: View Secret + MESSAGES_CONFIRM_VIEW_SECRET_HEADER: View this secret? + MESSAGES_ERROR_SECRET_TOO_LONG: Input length too long + MESSAGES_SUBMIT_SECRET_BUTTON: Encrypt Message + MESSAGES_SUBMIT_SECRET_HEADER: Create A Self-Destructing Message + MESSAGES_SUBMIT_SECRET_SUBHEADER: '' + MESSAGES_VIEW_CODE_HEADER: Self-Destructing URL + MESSAGES_VIEW_CODE_SUBHEADER: Share this URL via email, chat, or another messaging + service. It will self-destruct after being viewed once. + MESSAGES_VIEW_SECRET_HEADER: This message has been destroyed + PRUNE_ENABLED: 'true' + PRUNE_MAX_DAYS: '730' + PRUNE_MIN_DAYS: '365' + RETURN_FULL_URL: 'true' + SITE_TITLE: FlashPaper - Self-Destructing Message +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/flashpaper + tag: latest +persistence: + data: + enabled: true + mountPath: /var/www/html/data +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8544 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/flextv/.helmignore b/charts/dev/flextv/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/flextv/.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/flextv/Chart.yaml b/charts/dev/flextv/Chart.yaml new file mode 100644 index 00000000000..26d436764ab --- /dev/null +++ b/charts/dev/flextv/Chart.yaml @@ -0,0 +1,28 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaApp +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: A super-sexy voice interface for the Plex HTPC. +home: https://github.com/truecharts/apps/tree/master/charts/stable/flextv +icon: https://truecharts.org/img/chart-icons/flextv.png +keywords: +- flextv +- MediaApp +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: flextv +sources: +- https://github.com/d8ahazard/FlexTV +- https://registry.hub.docker.com/r/jcreynolds/flextv/ +type: application +version: 0.0.10 diff --git a/charts/dev/flextv/icon.png b/charts/dev/flextv/icon.png new file mode 100644 index 00000000000..c630d8ae2b7 Binary files /dev/null and b/charts/dev/flextv/icon.png differ diff --git a/charts/dev/flextv/questions.yaml b/charts/dev/flextv/questions.yaml new file mode 100644 index 00000000000..ef32a7d7c74 --- /dev/null +++ b/charts/dev/flextv/questions.yaml @@ -0,0 +1,353 @@ +# 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: 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: 5666 + 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: tcpport1 + label: 'tcpport1 service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcpport1 + label: "tcpport1 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: 5667 + 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: 443 + + + - 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/flextv/templates/common.yaml b/charts/dev/flextv/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/flextv/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/flextv/values.yaml b/charts/dev/flextv/values.yaml new file mode 100644 index 00000000000..6d8af48b438 --- /dev/null +++ b/charts/dev/flextv/values.yaml @@ -0,0 +1,33 @@ +env: + UMASK: '000' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/flextv + 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: 5666 + protocol: HTTP + targetPort: 80 + tcpport1: + enabled: true + ports: + tcpport1: + enabled: true + port: 5667 + protocol: TCP + targetPort: 443 diff --git a/charts/dev/fluttercoin-wallet/.helmignore b/charts/dev/fluttercoin-wallet/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fluttercoin-wallet/.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/fluttercoin-wallet/Chart.yaml b/charts/dev/fluttercoin-wallet/Chart.yaml new file mode 100644 index 00000000000..401c9898cf9 --- /dev/null +++ b/charts/dev/fluttercoin-wallet/Chart.yaml @@ -0,0 +1,35 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network-Other + - Productivity + - Tools-Utilities + - Crypto +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "FlutterCoin may be a coin with the tried and true algorithm of scrypt,\ + \ but it's definitely anything but ordinary.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fluttercoin-wallet +icon: https://truecharts.org/img/chart-icons/fluttercoin-wallet.png +keywords: +- fluttercoin-wallet +- Network-Other +- Productivity +- Tools-Utilities +- Crypto +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fluttercoin-wallet +sources: +- https://fluttercoin.me/ +- https://hub.docker.com/r/ich777/fluttercoin +type: application +version: 0.0.10 diff --git a/charts/dev/fluttercoin-wallet/icon.png b/charts/dev/fluttercoin-wallet/icon.png new file mode 100644 index 00000000000..e98e5c31886 Binary files /dev/null and b/charts/dev/fluttercoin-wallet/icon.png differ diff --git a/charts/dev/fluttercoin-wallet/questions.yaml b/charts/dev/fluttercoin-wallet/questions.yaml new file mode 100644 index 00000000000..bdf298518b4 --- /dev/null +++ b/charts/dev/fluttercoin-wallet/questions.yaml @@ -0,0 +1,440 @@ +# 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: EXTRA_PARAMS + label: 'EXTRA_PARAMS' + description: "Leave empty if not needed (eg -upnp, -dns,... without quotes)" + schema: + type: string + default: "-bind=0.0.0.0" + - variable: CUSTOM_RES_H + label: 'CUSTOM_RES_H' + description: "Minimum screen hight 768 pixels" + schema: + type: string + default: "768" + - variable: UMASK + label: 'UMASK' + description: "Container Variable UMASK" + schema: + type: string + default: "000" + - variable: DATA_PERM + label: 'DATA_PERM' + description: "Container Variable DATAPERM" + schema: + type: string + default: "770" + - variable: CUSTOM_RES_W + label: 'CUSTOM_RES_W' + description: "Minimum screen width 1024 pixels" + schema: + type: string + default: "1024" + +# 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: 8080 + 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: 8080 + + - variable: peertopeerconn + label: 'peertopeerconn service' + description: "TCP Port for Peer to Peer connection" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: peertopeerconn + label: "peertopeerconn 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: 7408 + 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: 7408 + - variable: jsonremoteport + label: 'jsonremoteport service' + description: "TCP Port for Remote Connections" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: jsonremoteport + label: "jsonremoteport 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: 7474 + 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: 7474 + + + - 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: datapath + label: "datapath Storage" + description: "Please keep in mind that your wallet is stored there and I strongly recommend you to backup that path (the wallet is stored in your FlutterCoin appdata directory.fluttercoinwallet.dat)." + 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/fluttercoin-wallet/templates/common.yaml b/charts/dev/fluttercoin-wallet/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fluttercoin-wallet/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fluttercoin-wallet/values.yaml b/charts/dev/fluttercoin-wallet/values.yaml new file mode 100644 index 00000000000..4baab1faf9b --- /dev/null +++ b/charts/dev/fluttercoin-wallet/values.yaml @@ -0,0 +1,45 @@ +env: + CUSTOM_RES_H: '768' + CUSTOM_RES_W: '1024' + DATA_PERM: '770' + EXTRA_PARAMS: -bind=0.0.0.0 + UMASK: '000' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fluttercoin-wallet + tag: latest +persistence: + datapath: + enabled: true + mountPath: /fluttercoin +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + jsonremoteport: + enabled: true + ports: + jsonremoteport: + enabled: true + port: 7474 + protocol: TCP + targetPort: 7474 + main: + enabled: true + ports: + main: + enabled: true + port: 8080 + protocol: HTTP + targetPort: 8080 + peertopeerconn: + enabled: true + ports: + peertopeerconn: + enabled: true + port: 7408 + protocol: TCP + targetPort: 7408 diff --git a/charts/dev/fmd2-wine/.helmignore b/charts/dev/fmd2-wine/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fmd2-wine/.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/fmd2-wine/Chart.yaml b/charts/dev/fmd2-wine/Chart.yaml new file mode 100644 index 00000000000..71d5d96081c --- /dev/null +++ b/charts/dev/fmd2-wine/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Books +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "**FMD2:** This is an active fork of the Free Manga Downloader which\ + \ is a free open source application written in Object Pascal for managing and downloading\ + \ manga from various websites. \r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fmd2-wine +icon: https://truecharts.org/img/chart-icons/fmd2-wine.png +keywords: +- fmd2-wine +- Downloaders +- MediaApp-Books +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fmd2-wine +sources: +- https://github.com/Banh-Canh/docker-FMD2 +- https://hub.docker.com/r/banhcanh/docker-fmd2/ +type: application +version: 0.0.10 diff --git a/charts/dev/fmd2-wine/icon.png b/charts/dev/fmd2-wine/icon.png new file mode 100644 index 00000000000..91776c6f89c Binary files /dev/null and b/charts/dev/fmd2-wine/icon.png differ diff --git a/charts/dev/fmd2-wine/questions.yaml b/charts/dev/fmd2-wine/questions.yaml new file mode 100644 index 00000000000..95178189400 --- /dev/null +++ b/charts/dev/fmd2-wine/questions.yaml @@ -0,0 +1,332 @@ +# 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: UMASK + label: 'UMASK' + description: "Container Variable UMASK" + schema: + type: string + default: "002" + +# 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: downloaddirectory + label: "downloaddirectory Storage" + description: "Container Path downloads" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: appluamodulespath + label: "appluamodulespath Storage" + description: "Container Path appFMD2lua" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: data + label: "data Storage" + description: "Container Path appFMD2data" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: appwineconfig + label: "appwineconfig Storage" + description: "Container Path config.wine" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: appuserdata + label: "appuserdata Storage" + description: "Container Path appFMD2userdata" + 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/fmd2-wine/templates/common.yaml b/charts/dev/fmd2-wine/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fmd2-wine/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fmd2-wine/values.yaml b/charts/dev/fmd2-wine/values.yaml new file mode 100644 index 00000000000..8dba074bdd3 --- /dev/null +++ b/charts/dev/fmd2-wine/values.yaml @@ -0,0 +1,37 @@ +env: + UMASK: '002' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fmd2-wine + tag: latest +persistence: + appluamodulespath: + enabled: true + mountPath: /app/FMD2/lua + appuserdata: + enabled: true + mountPath: /app/FMD2/userdata + appwineconfig: + enabled: true + mountPath: /config/.wine + data: + enabled: true + mountPath: /app/FMD2/data + downloaddirectory: + enabled: true + mountPath: /downloads +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/fogproject/.helmignore b/charts/dev/fogproject/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fogproject/.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/fogproject/Chart.yaml b/charts/dev/fogproject/Chart.yaml new file mode 100644 index 00000000000..f80e9c9cbbe --- /dev/null +++ b/charts/dev/fogproject/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Backup + - Network-DNS +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "FOG Project can capture, deploy, and manage Windows, Mac OSX, and various\ + \ Linux distributions.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/fogproject +icon: https://truecharts.org/img/chart-icons/fogproject.png +keywords: +- fogproject +- Backup +- Network-DNS +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fogproject +sources: +- https://github.com/redvex2460/fogproject +type: application +version: 0.0.10 diff --git a/charts/dev/fogproject/icon.png b/charts/dev/fogproject/icon.png new file mode 100644 index 00000000000..211d1b3d6e8 Binary files /dev/null and b/charts/dev/fogproject/icon.png differ diff --git a/charts/dev/fogproject/questions.yaml b/charts/dev/fogproject/questions.yaml new file mode 100644 index 00000000000..096273af381 --- /dev/null +++ b/charts/dev/fogproject/questions.yaml @@ -0,0 +1,197 @@ +# 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} + + - variable: persistence + label: "Integrated Persistent Storage" + description: "Integrated Persistent Storage" + group: "Storage and Persistence" + schema: + additional_attrs: true + type: dict + attrs: + + - variable: images + label: "images Storage" + description: "Container Path images" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: mysql + label: "mysql Storage" + description: "Container Path varlibmysql" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + + +# 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/fogproject/templates/common.yaml b/charts/dev/fogproject/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fogproject/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fogproject/values.yaml b/charts/dev/fogproject/values.yaml new file mode 100644 index 00000000000..4e66615dd19 --- /dev/null +++ b/charts/dev/fogproject/values.yaml @@ -0,0 +1,31 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fogproject + tag: latest +persistence: + images: + enabled: true + mountPath: /images + mysql: + enabled: true + mountPath: /var/lib/mysql +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/fotosho/.helmignore b/charts/dev/fotosho/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fotosho/.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/fotosho/Chart.yaml b/charts/dev/fotosho/Chart.yaml new file mode 100644 index 00000000000..a540f1dca0c --- /dev/null +++ b/charts/dev/fotosho/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaApp-Photos + - MediaServer-Photos +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: '*BETA* Fotosho is a photo gallery for your home server. Organize your + photos into albums internally and view as a slideshow. Free and open source. Does + not require a database. Does not move, copy or modify your photos.' +home: https://github.com/truecharts/apps/tree/master/charts/stable/fotosho +icon: https://truecharts.org/img/chart-icons/fotosho.png +keywords: +- fotosho +- MediaApp-Photos +- MediaServer-Photos +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fotosho +sources: +- https://github.com/advplyr/fotosho +- https://hub.docker.com/r/advplyr/fotosho/ +type: application +version: 0.0.10 diff --git a/charts/dev/fotosho/icon.png b/charts/dev/fotosho/icon.png new file mode 100644 index 00000000000..3176be87c2b Binary files /dev/null and b/charts/dev/fotosho/icon.png differ diff --git a/charts/dev/fotosho/questions.yaml b/charts/dev/fotosho/questions.yaml new file mode 100644 index 00000000000..b17c8c45f62 --- /dev/null +++ b/charts/dev/fotosho/questions.yaml @@ -0,0 +1,300 @@ +# 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: 13377 + 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} + - variable: photos + label: "photos Storage" + description: "Container Path photos" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: thumbs + label: "thumbs Storage" + description: "Container Path thumbnails" + 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/fotosho/templates/common.yaml b/charts/dev/fotosho/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fotosho/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fotosho/values.yaml b/charts/dev/fotosho/values.yaml new file mode 100644 index 00000000000..bdfef58ceea --- /dev/null +++ b/charts/dev/fotosho/values.yaml @@ -0,0 +1,30 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fotosho + tag: latest +persistence: + config: + enabled: true + mountPath: /config + photos: + enabled: true + mountPath: /photos + thumbs: + enabled: true + mountPath: /thumbnails +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 13377 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/freecad-desktop-g3/.helmignore b/charts/dev/freecad-desktop-g3/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/freecad-desktop-g3/.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/freecad-desktop-g3/Chart.yaml b/charts/dev/freecad-desktop-g3/Chart.yaml new file mode 100644 index 00000000000..95fb9f26271 --- /dev/null +++ b/charts/dev/freecad-desktop-g3/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity + - Tools-Utilities + - MediaApp-Photos +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/freecad-desktop-g3 +icon: https://truecharts.org/img/chart-icons/freecad-desktop-g3.png +keywords: +- freecad-desktop-g3 +- Productivity +- Tools-Utilities +- MediaApp-Photos +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: freecad-desktop-g3 +sources: +- https://github.com/accetto/headless-drawing-g3/ +- https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-freecad-g3 +type: application +version: 0.0.10 diff --git a/charts/dev/freecad-desktop-g3/icon.png b/charts/dev/freecad-desktop-g3/icon.png new file mode 100644 index 00000000000..ed65848ef63 Binary files /dev/null and b/charts/dev/freecad-desktop-g3/icon.png differ diff --git a/charts/dev/freecad-desktop-g3/questions.yaml b/charts/dev/freecad-desktop-g3/questions.yaml new file mode 100644 index 00000000000..c9627844be4 --- /dev/null +++ b/charts/dev/freecad-desktop-g3/questions.yaml @@ -0,0 +1,361 @@ +# 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: VNC_PW + label: 'VNC_PW' + description: "The VNCnoVNC password." + schema: + type: string + default: "unraid" + - variable: VNC_RESOLUTION + label: 'VNC_RESOLUTION' + description: "The VNCnoVNC resolution." + schema: + type: string + default: "1360x768" + +# 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: 6901 + 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: 6901 + + - variable: webuivnc + label: 'webuivnc service' + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: webuivnc + label: "webuivnc 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: 5901 + 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: 5901 + + + - 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: internalshare + label: "internalshare Storage" + description: "Path to a share from your host to be able to work within the container." + 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/freecad-desktop-g3/templates/common.yaml b/charts/dev/freecad-desktop-g3/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/freecad-desktop-g3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/freecad-desktop-g3/values.yaml b/charts/dev/freecad-desktop-g3/values.yaml new file mode 100644 index 00000000000..7fec57f0455 --- /dev/null +++ b/charts/dev/freecad-desktop-g3/values.yaml @@ -0,0 +1,34 @@ +env: + VNC_PW: unraid + VNC_RESOLUTION: 1360x768 +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/freecad-desktop-g3 + tag: latest +persistence: + internalshare: + enabled: true + mountPath: /UNRAID_SHARE +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 6901 + protocol: HTTP + targetPort: 6901 + webuivnc: + enabled: true + ports: + webuivnc: + enabled: true + port: 5901 + protocol: TCP + targetPort: 5901 diff --git a/charts/dev/fsm/.helmignore b/charts/dev/fsm/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/fsm/.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/fsm/Chart.yaml b/charts/dev/fsm/Chart.yaml new file mode 100644 index 00000000000..4142de6c099 --- /dev/null +++ b/charts/dev/fsm/Chart.yaml @@ -0,0 +1,27 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: '' +home: https://github.com/truecharts/apps/tree/master/charts/stable/fsm +icon: https://truecharts.org/img/chart-icons/fsm.png +keywords: +- fsm +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: fsm +sources: +- https://registry.hub.docker.com/r/ofsm/ofsm +type: application +version: 0.0.10 diff --git a/charts/dev/fsm/icon.png b/charts/dev/fsm/icon.png new file mode 100644 index 00000000000..fc7f915880c Binary files /dev/null and b/charts/dev/fsm/icon.png differ diff --git a/charts/dev/fsm/questions.yaml b/charts/dev/fsm/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/fsm/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/fsm/templates/common.yaml b/charts/dev/fsm/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/fsm/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/fsm/values.yaml b/charts/dev/fsm/values.yaml new file mode 100644 index 00000000000..b2ea8d13857 --- /dev/null +++ b/charts/dev/fsm/values.yaml @@ -0,0 +1,25 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/fsm + 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/funkwhale-all-in-one/.helmignore b/charts/dev/funkwhale-all-in-one/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/funkwhale-all-in-one/.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/funkwhale-all-in-one/Chart.yaml b/charts/dev/funkwhale-all-in-one/Chart.yaml new file mode 100644 index 00000000000..ae79c4e1bb8 --- /dev/null +++ b/charts/dev/funkwhale-all-in-one/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaServer-Music +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: "Funkwhale is a community-driven project that lets you listen and share\ + \ music and audio within a decentralised, open network.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/funkwhale-all-in-one +icon: https://truecharts.org/img/chart-icons/funkwhale-all-in-one.png +keywords: +- funkwhale-all-in-one +- MediaServer-Music +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: funkwhale-all-in-one +sources: +- https://funkwhale.audio/ +- https://hub.docker.com/r/funkwhale/all-in-one/ +type: application +version: 0.0.10 diff --git a/charts/dev/funkwhale-all-in-one/icon.png b/charts/dev/funkwhale-all-in-one/icon.png new file mode 100644 index 00000000000..eeb71bf46a1 Binary files /dev/null and b/charts/dev/funkwhale-all-in-one/icon.png differ diff --git a/charts/dev/funkwhale-all-in-one/questions.yaml b/charts/dev/funkwhale-all-in-one/questions.yaml new file mode 100644 index 00000000000..342d7fbce81 --- /dev/null +++ b/charts/dev/funkwhale-all-in-one/questions.yaml @@ -0,0 +1,311 @@ +# 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: FUNKWHALE_HOSTNAME + label: 'FUNKWHALE_HOSTNAME' + description: "Container Variable FUNKWHALEHOSTNAME" + schema: + type: string + default: "" + - variable: NESTED_PROXY + label: 'NESTED_PROXY' + description: "Container Variable NESTEDPROXY Set to 1 when container is behind a reverse proxy." + schema: + type: string + default: "0" + +# 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: 3030 + 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: musicpath + label: "musicpath Storage" + description: "Container Path music" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - 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/funkwhale-all-in-one/templates/common.yaml b/charts/dev/funkwhale-all-in-one/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/funkwhale-all-in-one/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/funkwhale-all-in-one/values.yaml b/charts/dev/funkwhale-all-in-one/values.yaml new file mode 100644 index 00000000000..33e4caedb9e --- /dev/null +++ b/charts/dev/funkwhale-all-in-one/values.yaml @@ -0,0 +1,30 @@ +env: + FUNKWHALE_HOSTNAME: '' + NESTED_PROXY: '0' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/funkwhale-all-in-one + tag: latest +persistence: + data: + enabled: true + mountPath: /data + musicpath: + enabled: true + mountPath: /music + readOnly: true +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 3030 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/funkwhale/.helmignore b/charts/dev/funkwhale/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dev/funkwhale/.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/funkwhale/Chart.yaml b/charts/dev/funkwhale/Chart.yaml new file mode 100644 index 00000000000..7680f772195 --- /dev/null +++ b/charts/dev/funkwhale/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaApp-Music + - MediaServer-Music +apiVersion: v2 +appVersion: latest +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 10.4.6 +deprecated: false +description: Funkwhale is designed to make it easy to listen to music you like, and + to discover new artists. +home: https://github.com/truecharts/apps/tree/master/charts/stable/funkwhale +icon: https://truecharts.org/img/chart-icons/funkwhale.png +keywords: +- funkwhale +- MediaApp-Music +- MediaServer-Music +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: funkwhale +sources: +- https://funkwhale.audio/ +- https://hub.docker.com/r/thetarkus/funkwhale/ +type: application +version: 0.0.10 diff --git a/charts/dev/funkwhale/icon.png b/charts/dev/funkwhale/icon.png new file mode 100644 index 00000000000..eeb71bf46a1 Binary files /dev/null and b/charts/dev/funkwhale/icon.png differ diff --git a/charts/dev/funkwhale/questions.yaml b/charts/dev/funkwhale/questions.yaml new file mode 100644 index 00000000000..b140533dd96 --- /dev/null +++ b/charts/dev/funkwhale/questions.yaml @@ -0,0 +1,311 @@ +# 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: FUNKWHALE_HOSTNAME + label: 'FUNKWHALE_HOSTNAME' + description: "Container Variable FUNKWHALEHOSTNAME" + schema: + type: string + default: "yourdomain.funkwhale" + - variable: NESTED_PROXY + label: 'NESTED_PROXY' + description: "Container Variable NESTEDPROXY Set to 1 when container is behind a reverse proxy." + schema: + type: string + default: "0" + +# 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: 3030 + 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: musicpath + label: "musicpath Storage" + description: "Container Path music" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - 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/funkwhale/templates/common.yaml b/charts/dev/funkwhale/templates/common.yaml new file mode 100644 index 00000000000..cbf66c20818 --- /dev/null +++ b/charts/dev/funkwhale/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "tc.common.loader.all" . }} diff --git a/charts/dev/funkwhale/values.yaml b/charts/dev/funkwhale/values.yaml new file mode 100644 index 00000000000..f4a0624eb0e --- /dev/null +++ b/charts/dev/funkwhale/values.yaml @@ -0,0 +1,30 @@ +env: + FUNKWHALE_HOSTNAME: yourdomain.funkwhale + NESTED_PROXY: '0' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/funkwhale + tag: latest +persistence: + data: + enabled: true + mountPath: /data + musicpath: + enabled: true + mountPath: /music + readOnly: true +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 3030 + protocol: TCP + targetPort: 80