diff --git a/.github/ct-install.yaml b/.github/ct-install.yaml index 89083f6c7f2..85082ff3b86 100644 --- a/.github/ct-install.yaml +++ b/.github/ct-install.yaml @@ -32,8 +32,11 @@ excluded-charts: - charts/stable/foundryvtt - charts/stable/promcord - charts/incubator/zigbee2mqtt -- zigbee2mqtt -- incubator/zigbee2mqtt +- charts/dev/alienswarm-reactivedrop +- charts/dev/arksurvivalevolved +- charts/dev/arma3 +- charts/dev/arma3exilemod +- charts/dev/assettocorsa - charts/dev/server-7daystodie chart-repos: - truecharts-old=https://truecharts.org diff --git a/charts/dev/acestream/.helmignore b/charts/dev/acestream/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/acestream/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/acestream/Chart.yaml b/charts/dev/acestream/Chart.yaml new file mode 100644 index 00000000000..a763754c053 --- /dev/null +++ b/charts/dev/acestream/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaServer-Video + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "Acestream-engine\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/acestream +icon: https://truecharts.org/_static/img/appicons/acestream.png +keywords: +- acestream +- MediaServer-Video +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: acestream +sources: +- https://github.com/vstavrinov/acestream-service +- https://hub.docker.com/r/vstavrinov/acestream-service +type: application +version: 0.0.1 diff --git a/charts/dev/acestream/icon.png b/charts/dev/acestream/icon.png new file mode 100644 index 00000000000..f8bb87d44d0 Binary files /dev/null and b/charts/dev/acestream/icon.png differ diff --git a/charts/dev/acestream/questions.yaml b/charts/dev/acestream/questions.yaml new file mode 100644 index 00000000000..de58b3b5160 --- /dev/null +++ b/charts/dev/acestream/questions.yaml @@ -0,0 +1,316 @@ +# 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: 8008 + 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: 6878 + + + + - 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: acestreamcache + label: "acestreamcache Storage" + description: "Stream cache data" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/acestream/readme.md b/charts/dev/acestream/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/acestream/templates/common.yaml b/charts/dev/acestream/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/acestream/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/acestream/values.yaml b/charts/dev/acestream/values.yaml new file mode 100644 index 00000000000..6ad02297059 --- /dev/null +++ b/charts/dev/acestream/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/acestream + tag: latest +persistence: + acestreamcache: + enabled: true + mountPath: /srv/acestream/.ACEStream +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8008 + protocol: TCP + targetPort: 6878 diff --git a/charts/dev/adguard-home/.helmignore b/charts/dev/adguard-home/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/adguard-home/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/adguard-home/Chart.yaml b/charts/dev/adguard-home/Chart.yaml new file mode 100644 index 00000000000..0515d1a4787 --- /dev/null +++ b/charts/dev/adguard-home/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network + - Network-DNS + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "AdGuard Home is a network-wide software for blocking ads & tracking.\ + \ After you set it up, it\u2019ll cover ALL your home devices, and you don\u2019\ + t need any client-side software for that. With the rise of Internet-Of-Things and\ + \ connected devices, it becomes more and more important to be able to control your\ + \ whole network." +home: https://github.com/truecharts/apps/tree/master/charts/stable/adguard-home +icon: https://truecharts.org/_static/img/appicons/adguard-home.png +keywords: +- adguard-home +- Network +- Network-DNS +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: adguard-home +sources: +- https://registry.hub.docker.com/r/adguard/adguardhome +type: application +version: 0.0.1 diff --git a/charts/dev/adguard-home/icon.png b/charts/dev/adguard-home/icon.png new file mode 100644 index 00000000000..638873dc890 Binary files /dev/null and b/charts/dev/adguard-home/icon.png differ diff --git a/charts/dev/adguard-home/questions.yaml b/charts/dev/adguard-home/questions.yaml new file mode 100644 index 00000000000..2968c94275c --- /dev/null +++ b/charts/dev/adguard-home/questions.yaml @@ -0,0 +1,376 @@ +# 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: 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: 3000 + + - variable: dnsserver + label: 'dnsserver service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: dnsserver + label: "dnsserver 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: 53 + 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: 53 + + + - 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: workingdirectory + label: "workingdirectory Storage" + description: "Configuration Directory" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/adguard-home/readme.md b/charts/dev/adguard-home/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/adguard-home/templates/common.yaml b/charts/dev/adguard-home/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/adguard-home/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/adguard-home/values.yaml b/charts/dev/adguard-home/values.yaml new file mode 100644 index 00000000000..aae2e11df79 --- /dev/null +++ b/charts/dev/adguard-home/values.yaml @@ -0,0 +1,32 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/adguard-home + tag: latest +persistence: + workingdirectory: + enabled: true + mountPath: /opt/adguardhome/conf +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + dnsserver: + enabled: true + ports: + dnsserver: + enabled: true + port: 53 + protocol: TCP + targetPort: 53 + main: + enabled: true + ports: + main: + enabled: true + port: 3000 + protocol: HTTP + targetPort: 3000 diff --git a/charts/dev/adguardhome-sync/.helmignore b/charts/dev/adguardhome-sync/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/adguardhome-sync/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/adguardhome-sync/Chart.yaml b/charts/dev/adguardhome-sync/Chart.yaml new file mode 100644 index 00000000000..b06f5def4e0 --- /dev/null +++ b/charts/dev/adguardhome-sync/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Adguardhome-sync(https://github.com/bakito/adguardhome-sync/) is a tool + to synchronize AdGuardHome config to replica instances. +home: https://github.com/truecharts/apps/tree/master/charts/stable/adguardhome-sync +icon: https://truecharts.org/_static/img/appicons/adguardhome-sync.png +keywords: +- adguardhome-sync +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: adguardhome-sync +sources: +- https://github.com/bakito/adguardhome-sync/ +- https://github.com/orgs/linuxserver/packages/container/package/adguardhome-sync +- https://github.com/linuxserver/docker-adguardhome-sync#readme +type: application +version: 0.0.1 diff --git a/charts/dev/adguardhome-sync/icon.png b/charts/dev/adguardhome-sync/icon.png new file mode 100644 index 00000000000..1f4cc39af57 Binary files /dev/null and b/charts/dev/adguardhome-sync/icon.png differ diff --git a/charts/dev/adguardhome-sync/questions.yaml b/charts/dev/adguardhome-sync/questions.yaml new file mode 100644 index 00000000000..d2dad1a40a5 --- /dev/null +++ b/charts/dev/adguardhome-sync/questions.yaml @@ -0,0 +1,336 @@ +# 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: CONFIGFILE + label: 'CONFIGFILE' + description: "Set a custom config file." + schema: + type: string + default: "" + - variable: UMASK + label: 'UMASK' + description: "Container Variable UMASK" + 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: 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: config + label: "config Storage" + description: "Contains all relevant configuration files." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/adguardhome-sync/readme.md b/charts/dev/adguardhome-sync/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/adguardhome-sync/templates/common.yaml b/charts/dev/adguardhome-sync/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/adguardhome-sync/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/adguardhome-sync/values.yaml b/charts/dev/adguardhome-sync/values.yaml new file mode 100644 index 00000000000..96c5db72d6c --- /dev/null +++ b/charts/dev/adguardhome-sync/values.yaml @@ -0,0 +1,26 @@ +env: + CONFIGFILE: '' + UMASK: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/adguardhome-sync + 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: 8080 + protocol: TCP + targetPort: 8080 diff --git a/charts/dev/adminer/.helmignore b/charts/dev/adminer/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/adminer/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/adminer/Chart.yaml b/charts/dev/adminer/Chart.yaml new file mode 100644 index 00000000000..150e4a44239 --- /dev/null +++ b/charts/dev/adminer/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "Adminer (formerly phpMinAdmin) is a full-featured database management\ + \ tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready\ + \ to deploy to the target server. Adminer is available for MySQL, PostgreSQL, SQLite,\ + \ MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch and MongoDB.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/adminer +icon: https://truecharts.org/_static/img/appicons/adminer.png +keywords: +- adminer +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: adminer +sources: +- https://github.com/vrana/adminer +- http://hub.docker.com/_/adminer/ +type: application +version: 0.0.1 diff --git a/charts/dev/adminer/icon.png b/charts/dev/adminer/icon.png new file mode 100644 index 00000000000..fd23557682f Binary files /dev/null and b/charts/dev/adminer/icon.png differ diff --git a/charts/dev/adminer/questions.yaml b/charts/dev/adminer/questions.yaml new file mode 100644 index 00000000000..7da075b196a --- /dev/null +++ b/charts/dev/adminer/questions.yaml @@ -0,0 +1,283 @@ +# 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: ADMINER_DESIGN + label: 'ADMINER_DESIGN' + description: "Container Variable ADMINERDESIGN" + schema: + type: string + default: "" + - variable: ADMINER_PLUGINS + label: 'ADMINER_PLUGINS' + description: "e.g. ADMINERPLUGINS=tables-filter tinymce" + 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: 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} + + +# 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/adminer/readme.md b/charts/dev/adminer/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/adminer/templates/common.yaml b/charts/dev/adminer/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/adminer/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/adminer/values.yaml b/charts/dev/adminer/values.yaml new file mode 100644 index 00000000000..a43390662c1 --- /dev/null +++ b/charts/dev/adminer/values.yaml @@ -0,0 +1,23 @@ +env: + ADMINER_DESIGN: '' + ADMINER_PLUGINS: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/adminer + tag: latest +persistence: {} +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/alienswarm-reactivedrop/.helmignore b/charts/dev/alienswarm-reactivedrop/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/alienswarm-reactivedrop/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/alienswarm-reactivedrop/Chart.yaml b/charts/dev/alienswarm-reactivedrop/Chart.yaml new file mode 100644 index 00000000000..2cc22a23c4a --- /dev/null +++ b/charts/dev/alienswarm-reactivedrop/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ Alien Swarm: Reactive Drop and run it. (!!!This container will only run on systems\ + \ with less than 32 CPU cores!!!) \r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/alienswarm-reactivedrop +icon: https://truecharts.org/_static/img/appicons/alienswarm-reactivedrop.png +keywords: +- alienswarm-reactivedrop +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: alienswarm-reactivedrop +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/alienswarm-reactivedrop/icon.png b/charts/dev/alienswarm-reactivedrop/icon.png new file mode 100644 index 00000000000..12c31e9a1b1 Binary files /dev/null and b/charts/dev/alienswarm-reactivedrop/icon.png differ diff --git a/charts/dev/alienswarm-reactivedrop/questions.yaml b/charts/dev/alienswarm-reactivedrop/questions.yaml new file mode 100644 index 00000000000..0538bdb4316 --- /dev/null +++ b/charts/dev/alienswarm-reactivedrop/questions.yaml @@ -0,0 +1,469 @@ +# 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: "563560" + - variable: GAME_NAME + label: 'GAME_NAME' + description: "Game name to start (is connected to the GAMEPARAMS)." + schema: + type: string + default: "reactivedrop" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "+map lobby -maxplayers 4 +exec server.cfg" + - 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: tcp-rconport + label: 'tcp-rconport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcp-rconport + label: "tcp-rconport 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/alienswarm-reactivedrop/readme.md b/charts/dev/alienswarm-reactivedrop/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/alienswarm-reactivedrop/templates/common.yaml b/charts/dev/alienswarm-reactivedrop/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/alienswarm-reactivedrop/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/alienswarm-reactivedrop/values.yaml b/charts/dev/alienswarm-reactivedrop/values.yaml new file mode 100644 index 00000000000..c8bec0cfaf5 --- /dev/null +++ b/charts/dev/alienswarm-reactivedrop/values.yaml @@ -0,0 +1,44 @@ +env: + GAME_ID: '563560' + GAME_NAME: reactivedrop + GAME_PARAMS: +map lobby -maxplayers 4 +exec server.cfg + GAME_PORT: '27015' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/alienswarm-reactivedrop + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 27015 + protocol: UDP + targetPort: 27015 + tcp-rconport: + enabled: true + ports: + tcp-rconport: + enabled: true + port: 27015 + protocol: TCP + targetPort: 27015 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] diff --git a/charts/dev/alienswarm/.helmignore b/charts/dev/alienswarm/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/alienswarm/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/alienswarm/Chart.yaml b/charts/dev/alienswarm/Chart.yaml new file mode 100644 index 00000000000..68b933b3371 --- /dev/null +++ b/charts/dev/alienswarm/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ Alien Swarm and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/alienswarm +icon: https://truecharts.org/_static/img/appicons/alienswarm.png +keywords: +- alienswarm +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: alienswarm +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/alienswarm/icon.png b/charts/dev/alienswarm/icon.png new file mode 100644 index 00000000000..70a9d93e214 Binary files /dev/null and b/charts/dev/alienswarm/icon.png differ diff --git a/charts/dev/alienswarm/questions.yaml b/charts/dev/alienswarm/questions.yaml new file mode 100644 index 00000000000..c68a3089e02 --- /dev/null +++ b/charts/dev/alienswarm/questions.yaml @@ -0,0 +1,469 @@ +# 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: "635" + - variable: GAME_NAME + label: 'GAME_NAME' + description: "Game name to start (is connected to the GAMEPARAMS)." + schema: + type: string + default: "swarm" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "+map lobby -maxplayers 4 +exec server.cfg" + - 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: 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: 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: 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: tcp-rconport + label: 'tcp-rconport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcp-rconport + label: "tcp-rconport 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/alienswarm/readme.md b/charts/dev/alienswarm/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/alienswarm/templates/common.yaml b/charts/dev/alienswarm/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/alienswarm/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/alienswarm/values.yaml b/charts/dev/alienswarm/values.yaml new file mode 100644 index 00000000000..9ac3c975113 --- /dev/null +++ b/charts/dev/alienswarm/values.yaml @@ -0,0 +1,51 @@ +env: + GAME_ID: '635' + GAME_NAME: swarm + GAME_PARAMS: +map lobby -maxplayers 4 +exec server.cfg + GAME_PORT: '27015' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/alienswarm + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 27015 + protocol: TCP + targetPort: 27015 + gameport: + enabled: true + ports: + tcp-rconport: + enabled: true + port: 27015 + protocol: UDP + targetPort: 27015 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false diff --git a/charts/dev/altitude/.helmignore b/charts/dev/altitude/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/altitude/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/altitude/Chart.yaml b/charts/dev/altitude/Chart.yaml new file mode 100644 index 00000000000..c73b47115ea --- /dev/null +++ b/charts/dev/altitude/Chart.yaml @@ -0,0 +1,29 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install Altitude and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/altitude +icon: https://truecharts.org/_static/img/appicons/altitude.png +keywords: +- altitude +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: altitude +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/altitude/ +type: application +version: 0.0.1 diff --git a/charts/dev/altitude/icon.png b/charts/dev/altitude/icon.png new file mode 100644 index 00000000000..593ce579548 Binary files /dev/null and b/charts/dev/altitude/icon.png differ diff --git a/charts/dev/altitude/questions.yaml b/charts/dev/altitude/questions.yaml new file mode 100644 index 00000000000..26dcf5c9be0 --- /dev/null +++ b/charts/dev/altitude/questions.yaml @@ -0,0 +1,336 @@ +# 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_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "" + - variable: DL_URL + label: 'DL_URL' + description: "Dont change unless you know what you are doing." + schema: + type: string + default: "http://installer.altitudegame.com/0.0.1/altitude.sh" + +# 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: 27276 + 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: 27276 + + + + - 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 altitude" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/altitude/readme.md b/charts/dev/altitude/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/altitude/templates/common.yaml b/charts/dev/altitude/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/altitude/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/altitude/values.yaml b/charts/dev/altitude/values.yaml new file mode 100644 index 00000000000..0fec6c004eb --- /dev/null +++ b/charts/dev/altitude/values.yaml @@ -0,0 +1,36 @@ +env: + DL_URL: http://installer.altitudegame.com/0.0.1/altitude.sh + GAME_PARAMS: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/altitude + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /altitude +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 27276 + protocol: UDP + targetPort: 27276 + +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false diff --git a/charts/dev/ama/.helmignore b/charts/dev/ama/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/ama/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/ama/Chart.yaml b/charts/dev/ama/Chart.yaml new file mode 100644 index 00000000000..817de2e0321 --- /dev/null +++ b/charts/dev/ama/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Music + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: 'Automated Music Archiver :: This script will automatically archive music + using a popular online DL Client' +home: https://github.com/truecharts/apps/tree/master/charts/stable/ama +icon: https://truecharts.org/_static/img/appicons/ama.png +keywords: +- ama +- Downloaders +- MediaApp-Music +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: ama +sources: +- https://github.com/RandomNinjaAtk/docker-ama +- https://hub.docker.com/r/randomninjaatk/ama +type: application +version: 0.0.1 diff --git a/charts/dev/ama/icon.png b/charts/dev/ama/icon.png new file mode 100644 index 00000000000..0a3b8cd5b46 Binary files /dev/null and b/charts/dev/ama/icon.png differ diff --git a/charts/dev/ama/questions.yaml b/charts/dev/ama/questions.yaml new file mode 100644 index 00000000000..0469f29334e --- /dev/null +++ b/charts/dev/ama/questions.yaml @@ -0,0 +1,441 @@ +# 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: AUTOSTART + label: 'AUTOSTART' + description: "true = Enabled Runs script automatically on startup" + schema: + type: string + default: "" + - variable: SCRIPTINTERVAL + label: 'SCRIPTINTERVAL' + description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled" + schema: + type: string + default: "" + - variable: ARL_TOKEN + label: 'ARL_TOKEN' + description: "User token for dl client, for instructions to obtain token httpsnotabug.orgRemixDevsDeezloaderRemixwikiLoginviauserToken" + schema: + type: string + default: "" + - variable: MODE + label: 'MODE' + description: "artist or discography artist mode downloads all albums listed as that artist, discography downloads all albums listed as that artist and featured in albums" + schema: + type: string + default: "" + - variable: RELATED_ARTIST + label: 'RELATED_ARTIST' + description: "true = enabled Enabling this lets the script crawl your artist list for related artists and process them" + schema: + type: string + default: "" + - variable: RELATED_ARTIST_RELATED + label: 'RELATED_ARTIST_RELATED' + description: "true = enabled Enabling this lets the script crawl your related artists for additional related artists and process them accordingly WARNING this will cause an endless loop (spider crawling) until no more are found..." + schema: + type: string + default: "" + - variable: RELATED_COUNT + label: 'RELATED_COUNT' + description: "Maximum number of related artists to import per artist (20 is max)" + schema: + type: string + default: "" + - variable: FAN_COUNT + label: 'FAN_COUNT' + description: "Minimum number of fans required for processing" + schema: + type: string + default: "" + - variable: FORMAT + label: 'FORMAT' + description: "SET TO ALAC or FLAC or AAC or MP3 or OPUS" + schema: + type: string + default: "" + - variable: BITRATE + label: 'BITRATE' + description: "FLAC - OPUSAACMP3 will be converted using this bitrate" + schema: + type: string + default: "" + - variable: FORCECONVERT + label: 'FORCECONVERT' + description: "true = enabled This will convert lossy MP3 to desired target format (exluding FLACALAC, ALAC setting will convert to AAC)" + schema: + type: string + default: "" + - variable: POSTPROCESSTHREADS + label: 'POSTPROCESSTHREADS' + description: "Controls number of threads used for Format conversion and replaygain tagging" + schema: + type: string + default: "" + - variable: EMBEDDED_COVER_QUALITY + label: 'EMBEDDED_COVER_QUALITY' + description: "Controls the quality of the cover image compression in percentage, 100 = no compression" + schema: + type: string + default: "" + - variable: ALBUM_TYPE_FILTER + label: 'ALBUM_TYPE_FILTER' + description: "Filter Types COMPILE, SINGLE, ALBUM, EP (this is a , separated list of Album Types to skip)" + schema: + type: string + default: "" + - variable: CONCURRENT_DOWNLOADS + label: 'CONCURRENT_DOWNLOADS' + description: "Controls download concurrency" + schema: + type: string + default: "" + - variable: REQUIRE_QUALITY + label: 'REQUIRE_QUALITY' + description: "true = enabled Requires all downloaded files match target file extension (mp3 or flac) when enabled" + schema: + type: string + default: "" + - variable: FOLDER_PERMISSIONS + label: 'FOLDER_PERMISSIONS' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: FILE_PERMISSIONS + label: 'FILE_PERMISSIONS' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: REPLAYGAIN + label: 'REPLAYGAIN' + description: "true = enabled Scans and analyzes files to add replaygain tags to song metadata" + schema: + type: string + default: "" + - variable: IGNORE_ARTIST_WITHOUT_IMAGE + label: 'IGNORE_ARTIST_WITHOUT_IMAGE' + description: "true = enabled Enabling this will prevent downloading albums from artists with default image (non-unique)" + schema: + type: string + default: "" + - variable: COMPLETE_MY_ARTISTS + label: 'COMPLETE_MY_ARTISTS' + description: "true = enabled Eanabling this will add artist ids found in the library directory that are currently not in your list. This will then allow the script archive them accordingly !!!WARNING!!! Could cause an endless loop!" + schema: + type: string + default: "" + - variable: LIDARR_LIST_IMPORT + label: 'LIDARR_LIST_IMPORT' + description: "true = enabled imports artist list from lidarr" + schema: + type: string + default: "" + - variable: LIDARR_URL + label: 'LIDARR_URL' + description: "ONLY used if Lidarr List Import is enabled..." + schema: + type: string + default: "" + - variable: LIDARR_API_KEY + label: 'LIDARR_API_KEY' + description: "ONLY used if Lidarr List Import is enabled..." + schema: + type: string + default: "" + - variable: NOTIFYPLEX + label: 'NOTIFYPLEX' + description: "true = enabled Plex must have a Music library added and also be configured with the downloads-ama directory" + schema: + type: string + default: "" + - variable: PLEXLIBRARYNAME + label: 'PLEXLIBRARYNAME' + description: "This must exactly match the name of the Plex Library that contains the Lidarr Media Folder data" + schema: + type: string + default: "" + - variable: PLEXURL + label: 'PLEXURL' + description: "ONLY used if NOTIFYPLEX is enabled..." + schema: + type: string + default: "" + - variable: PLEXTOKEN + label: 'PLEXTOKEN' + description: "ONLY used if NOTIFYPLEX is enabled..." + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: hostpathfordownloads-ama + label: "hostpathfordownloads-ama Storage" + description: "Container Path for downloads library..." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/ama/readme.md b/charts/dev/ama/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/ama/templates/common.yaml b/charts/dev/ama/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/ama/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/ama/values.yaml b/charts/dev/ama/values.yaml new file mode 100644 index 00000000000..712dc86f46b --- /dev/null +++ b/charts/dev/ama/values.yaml @@ -0,0 +1,52 @@ +env: + ALBUM_TYPE_FILTER: '' + ARL_TOKEN: '' + AUTOSTART: '' + BITRATE: '' + COMPLETE_MY_ARTISTS: '' + CONCURRENT_DOWNLOADS: '' + EMBEDDED_COVER_QUALITY: '' + FAN_COUNT: '' + FILE_PERMISSIONS: '' + FOLDER_PERMISSIONS: '' + FORCECONVERT: '' + FORMAT: '' + IGNORE_ARTIST_WITHOUT_IMAGE: '' + LIDARR_API_KEY: '' + LIDARR_LIST_IMPORT: '' + LIDARR_URL: '' + MODE: '' + NOTIFYPLEX: '' + PLEXLIBRARYNAME: '' + PLEXTOKEN: '' + PLEXURL: '' + POSTPROCESSTHREADS: '' + RELATED_ARTIST: '' + RELATED_ARTIST_RELATED: '' + RELATED_COUNT: '' + REPLAYGAIN: '' + REQUIRE_QUALITY: '' + SCRIPTINTERVAL: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/ama + tag: latest +persistence: + config: + enabled: true + mountPath: /config + hostpathfordownloads-ama: + enabled: true + mountPath: /downloads-ama +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/ambd/.helmignore b/charts/dev/ambd/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/ambd/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/ambd/Chart.yaml b/charts/dev/ambd/Chart.yaml new file mode 100644 index 00000000000..143cdef7aca --- /dev/null +++ b/charts/dev/ambd/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Music + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: 'Automated MusicBrainz Downloader :: This script will automatically archive + music using a popular online DL Client' +home: https://github.com/truecharts/apps/tree/master/charts/stable/ambd +icon: https://truecharts.org/_static/img/appicons/ambd.png +keywords: +- ambd +- Downloaders +- MediaApp-Music +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: ambd +sources: +- https://github.com/RandomNinjaAtk/docker-ambd +- https://hub.docker.com/r/randomninjaatk/ambd +type: application +version: 0.0.1 diff --git a/charts/dev/ambd/icon.png b/charts/dev/ambd/icon.png new file mode 100644 index 00000000000..0a3b8cd5b46 Binary files /dev/null and b/charts/dev/ambd/icon.png differ diff --git a/charts/dev/ambd/questions.yaml b/charts/dev/ambd/questions.yaml new file mode 100644 index 00000000000..0f61c4de90c --- /dev/null +++ b/charts/dev/ambd/questions.yaml @@ -0,0 +1,388 @@ +# 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: AUTOSTART + label: 'AUTOSTART' + description: "true = Enabled Runs script automatically on startup" + schema: + type: string + default: "" + - variable: SCRIPTINTERVAL + label: 'SCRIPTINTERVAL' + description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled" + schema: + type: string + default: "" + - variable: ARL_TOKEN + label: 'ARL_TOKEN' + description: "User token for dl client, for instructions to obtain token httpsnotabug.orgRemixDevsDeezloaderRemixwikiLoginviauserToken" + schema: + type: string + default: "" + - variable: QUALITY + label: 'QUALITY' + description: "SET TO FLAC or 320 or 128" + schema: + type: string + default: "" + - variable: EMBEDDED_COVER_QUALITY + label: 'EMBEDDED_COVER_QUALITY' + description: "Controls the quality of the cover image compression in percentage, 100 = no compression" + schema: + type: string + default: "" + - variable: CONCURRENT_DOWNLOADS + label: 'CONCURRENT_DOWNLOADS' + description: "Controls download concurrency" + schema: + type: string + default: "" + - variable: FOLDER_PERMISSIONS + label: 'FOLDER_PERMISSIONS' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: FILE_PERMISSIONS + label: 'FILE_PERMISSIONS' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: NOTIFYPLEX + label: 'NOTIFYPLEX' + description: "true = enabled Plex must have a Music library added and also be configured with the downloads-ama directory" + schema: + type: string + default: "" + - variable: PLEXLIBRARYNAME + label: 'PLEXLIBRARYNAME' + description: "This must exactly match the name of the Plex Library that contains the Lidarr Media Folder data" + schema: + type: string + default: "" + - variable: PLEXURL + label: 'PLEXURL' + description: "ONLY used if NOTIFYPLEX is enabled..." + schema: + type: string + default: "" + - variable: PLEXTOKEN + label: 'PLEXTOKEN' + description: "ONLY used if NOTIFYPLEX is enabled..." + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: hostpathfordownloads-ambd + label: "hostpathfordownloads-ambd Storage" + description: "Container Path for downloads..." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: hostpathforlibrary-ambd + label: "hostpathforlibrary-ambd Storage" + description: "Container Path for completed library..." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/ambd/readme.md b/charts/dev/ambd/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/ambd/templates/common.yaml b/charts/dev/ambd/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/ambd/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/ambd/values.yaml b/charts/dev/ambd/values.yaml new file mode 100644 index 00000000000..faee9dfff23 --- /dev/null +++ b/charts/dev/ambd/values.yaml @@ -0,0 +1,39 @@ +env: + ARL_TOKEN: '' + AUTOSTART: '' + CONCURRENT_DOWNLOADS: '' + EMBEDDED_COVER_QUALITY: '' + FILE_PERMISSIONS: '' + FOLDER_PERMISSIONS: '' + NOTIFYPLEX: '' + PLEXLIBRARYNAME: '' + PLEXTOKEN: '' + PLEXURL: '' + QUALITY: '' + SCRIPTINTERVAL: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/ambd + tag: latest +persistence: + config: + enabled: true + mountPath: /config + hostpathfordownloads-ambd: + enabled: true + mountPath: /downloads-ambd + hostpathforlibrary-ambd: + enabled: true + mountPath: /library-ambd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/americasarmy-pg/.helmignore b/charts/dev/americasarmy-pg/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/americasarmy-pg/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/americasarmy-pg/Chart.yaml b/charts/dev/americasarmy-pg/Chart.yaml new file mode 100644 index 00000000000..a691bb1d954 --- /dev/null +++ b/charts/dev/americasarmy-pg/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ America's Army: Proving Grounds and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/americasarmy-pg +icon: https://truecharts.org/_static/img/appicons/americasarmy-pg.png +keywords: +- americasarmy-pg +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: americasarmy-pg +sources: +- https://www.americasarmy.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/americasarmy-pg/icon.png b/charts/dev/americasarmy-pg/icon.png new file mode 100644 index 00000000000..94bcce9869f Binary files /dev/null and b/charts/dev/americasarmy-pg/icon.png differ diff --git a/charts/dev/americasarmy-pg/questions.yaml b/charts/dev/americasarmy-pg/questions.yaml new file mode 100644 index 00000000000..d1415e4e965 --- /dev/null +++ b/charts/dev/americasarmy-pg/questions.yaml @@ -0,0 +1,463 @@ +# 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.If you want to install a static or beta version of the game change the value to 203300 -beta YOURBRANCH (without quotes, replace YOURBRANCH with the branch or version you want to install)." + schema: + type: string + default: "203300" + - variable: SRV_NAME + label: 'SRV_NAME' + description: "Container Variable SRVNAME" + schema: + type: string + default: "Army Docker" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server." + schema: + type: string + default: "-port=7778 -SAP=8778 -SQP=27015 -aauregion=1 -log=Server.log" + - 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: "" + +# 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: 8778 + 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: 8778 + + - variable: steamqueryport + label: 'steamqueryport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: steamqueryport + label: "steamqueryport 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: 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: 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/americasarmy-pg/readme.md b/charts/dev/americasarmy-pg/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/americasarmy-pg/templates/common.yaml b/charts/dev/americasarmy-pg/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/americasarmy-pg/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/americasarmy-pg/values.yaml b/charts/dev/americasarmy-pg/values.yaml new file mode 100644 index 00000000000..dbc9abe243b --- /dev/null +++ b/charts/dev/americasarmy-pg/values.yaml @@ -0,0 +1,50 @@ +env: + GAME_ID: '203300' + GAME_PARAMS: -port=7778 -SAP=8778 -SQP=27015 -aauregion=1 -log=Server.log + PASSWRD: '' + SRV_NAME: Army Docker + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/americasarmy-pg + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8778 + protocol: UDP + targetPort: 8778 + steamqueryport: + enabled: true + ports: + steamqueryport: + enabled: true + port: 27015 + protocol: UDP + targetPort: 27015 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false diff --git a/charts/dev/amtd/.helmignore b/charts/dev/amtd/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/amtd/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/amtd/Chart.yaml b/charts/dev/amtd/Chart.yaml new file mode 100644 index 00000000000..84e04a39779 --- /dev/null +++ b/charts/dev/amtd/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Video + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: 'Automated Movie Trailer Downloader :: AMTD is a Radarr Companion script + to automatically download movie trailers for use in media applications + + ' +home: https://github.com/truecharts/apps/tree/master/charts/stable/amtd +icon: https://truecharts.org/_static/img/appicons/amtd.png +keywords: +- amtd +- Downloaders +- MediaApp-Video +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: amtd +sources: +- https://github.com/RandomNinjaAtk/docker-amtd +- https://hub.docker.com/r/randomninjaatk/amtd +type: application +version: 0.0.1 diff --git a/charts/dev/amtd/icon.png b/charts/dev/amtd/icon.png new file mode 100644 index 00000000000..74c1867a6a0 Binary files /dev/null and b/charts/dev/amtd/icon.png differ diff --git a/charts/dev/amtd/questions.yaml b/charts/dev/amtd/questions.yaml new file mode 100644 index 00000000000..111ba430618 --- /dev/null +++ b/charts/dev/amtd/questions.yaml @@ -0,0 +1,314 @@ +# 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: AUTOSTART + label: 'AUTOSTART' + description: "true = Enabled Runs script automatically on startup" + schema: + type: string + default: "" + - variable: SCRIPTINTERVAL + label: 'SCRIPTINTERVAL' + description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled" + schema: + type: string + default: "" + - variable: RadarrUrl + label: 'RadarrUrl' + description: "Set domain or IP to your Radarr instance including port. If using reverse proxy, do not use a trailing slash. Ensure you specify https..." + schema: + type: string + default: "" + - variable: RadarrAPIkey + label: 'RadarrAPIkey' + description: "Radarr API Key" + schema: + type: string + default: "" + - variable: extrastype + label: 'extrastype' + description: "all or trailers all downloads all available videos (trailers, clips, featurettes, etc...) trailers only downloads trailers" + schema: + type: string + default: "" + - variable: LANGUAGES + label: 'LANGUAGES' + description: "Set the primary desired language, if not found, fallback to next langauge in the list... (this is a , separated list of ISO 639-1 language codes)" + schema: + type: string + default: "" + - variable: videoformat + label: 'videoformat' + description: "For guidence, please see youtube-dl documentation" + schema: + type: string + default: "" + - variable: subtitlelanguage + label: 'subtitlelanguage' + description: "Desired Language Code For guidence, please see youtube-dl documentation" + schema: + type: string + default: "" + - variable: SINGLETRAILER + label: 'SINGLETRAILER' + description: "true = enabled Only downloads the first available trailer, does not apply to other extras type" + schema: + type: string + default: "" + - variable: PREFER_EXISTING + label: 'PREFER_EXISTING' + description: "true = enabled Checks for existing trailer file, and skips it if found" + schema: + type: string + default: "" + - variable: USEFOLDERS + label: 'USEFOLDERS' + description: "true = enabled Creates subfolders within the movie folder for extras" + schema: + type: string + default: "" + - variable: EndClient + label: 'EndClient' + description: "plex or emby or jellyfin Select the appropriate client for maximum compatibility" + schema: + type: string + default: "" + - variable: FilePermissions + label: 'FilePermissions' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: FolderPermissions + label: 'FolderPermissions' + description: "Based on chmod linux permissions" + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/amtd/readme.md b/charts/dev/amtd/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/amtd/templates/common.yaml b/charts/dev/amtd/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/amtd/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/amtd/values.yaml b/charts/dev/amtd/values.yaml new file mode 100644 index 00000000000..5f9caa0e139 --- /dev/null +++ b/charts/dev/amtd/values.yaml @@ -0,0 +1,35 @@ +env: + AUTOSTART: '' + EndClient: '' + FilePermissions: '' + FolderPermissions: '' + LANGUAGES: '' + PREFER_EXISTING: '' + RadarrAPIkey: '' + RadarrUrl: '' + SCRIPTINTERVAL: '' + SINGLETRAILER: '' + USEFOLDERS: '' + extrastype: '' + subtitlelanguage: '' + videoformat: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/amtd + tag: latest +persistence: + config: + enabled: true + mountPath: /config +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/amule/.helmignore b/charts/dev/amule/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/amule/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/amule/Chart.yaml b/charts/dev/amule/Chart.yaml new file mode 100644 index 00000000000..cce989c0ca0 --- /dev/null +++ b/charts/dev/amule/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - Productivity + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "DESCRIPTION\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/amule +icon: https://truecharts.org/_static/img/appicons/amule.png +keywords: +- amule +- Downloaders +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: amule +sources: +- https://github.com/t-chab/dockerfiles +- https://hub.docker.com/r/tchabaud/amule +type: application +version: 0.0.1 diff --git a/charts/dev/amule/icon.png b/charts/dev/amule/icon.png new file mode 100644 index 00000000000..f53814854ad Binary files /dev/null and b/charts/dev/amule/icon.png differ diff --git a/charts/dev/amule/questions.yaml b/charts/dev/amule/questions.yaml new file mode 100644 index 00000000000..a6beeb8d188 --- /dev/null +++ b/charts/dev/amule/questions.yaml @@ -0,0 +1,542 @@ +# 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: WEBUI_PWD + label: 'WEBUI_PWD' + description: "Password for WebUI." + schema: + type: string + default: "admin" + - variable: WEBUI_TEMPLATE + label: 'WEBUI_TEMPLATE' + description: "Alternative material WebUI design." + schema: + type: string + default: "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: 4711 + 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: 4711 + + - variable: porttcp + label: 'porttcp service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: porttcp + label: "porttcp 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: 4662 + 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: 4662 + - variable: portudp + label: 'portudp service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: portudp + label: "portudp 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: 4672 + 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: 4672 + + + - 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: storagecomplete + label: "storagecomplete Storage" + description: "This is the location for complete downloads." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: storageincomplete + label: "storageincomplete Storage" + description: "This is the location for incomplete downloads." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: storageconfig + label: "storageconfig Storage" + description: "This is the location for the internal data." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/amule/readme.md b/charts/dev/amule/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/amule/templates/common.yaml b/charts/dev/amule/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/amule/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/amule/values.yaml b/charts/dev/amule/values.yaml new file mode 100644 index 00000000000..d1eece54c88 --- /dev/null +++ b/charts/dev/amule/values.yaml @@ -0,0 +1,48 @@ +env: + WEBUI_PWD: admin + WEBUI_TEMPLATE: default +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/amule + tag: latest +persistence: + storagecomplete: + enabled: true + mountPath: /incoming + storageconfig: + enabled: true + mountPath: /home/amule/.aMule + storageincomplete: + enabled: true + mountPath: /temp +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 4711 + protocol: HTTP + targetPort: 4711 + porttcp: + enabled: true + ports: + porttcp: + enabled: true + port: 4662 + protocol: TCP + targetPort: 4662 + portudp: + enabled: true + ports: + portudp: + enabled: true + port: 4672 + protocol: UDP + targetPort: 4672 diff --git a/charts/dev/amvd/.helmignore b/charts/dev/amvd/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/amvd/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/amvd/Chart.yaml b/charts/dev/amvd/Chart.yaml new file mode 100644 index 00000000000..8607d7481b8 --- /dev/null +++ b/charts/dev/amvd/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Video + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: 'Automated Music Video Downloader :: AMVD is a Lidarr Companion script + to automatically download and tag Music Videos for use in various media applications' +home: https://github.com/truecharts/apps/tree/master/charts/stable/amvd +icon: https://truecharts.org/_static/img/appicons/amvd.png +keywords: +- amvd +- Downloaders +- MediaApp-Video +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: amvd +sources: +- https://github.com/RandomNinjaAtk/docker-amvd +- https://hub.docker.com/r/randomninjaatk/amvd +type: application +version: 0.0.1 diff --git a/charts/dev/amvd/icon.png b/charts/dev/amvd/icon.png new file mode 100644 index 00000000000..878f01e933d Binary files /dev/null and b/charts/dev/amvd/icon.png differ diff --git a/charts/dev/amvd/questions.yaml b/charts/dev/amvd/questions.yaml new file mode 100644 index 00000000000..c91e560f755 --- /dev/null +++ b/charts/dev/amvd/questions.yaml @@ -0,0 +1,369 @@ +# 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: AUTOSTART + label: 'AUTOSTART' + description: "true = Enabled Runs script automatically on startup" + schema: + type: string + default: "" + - variable: SCRIPTINTERVAL + label: 'SCRIPTINTERVAL' + description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled" + schema: + type: string + default: "" + - variable: MBRAINZMIRROR + label: 'MBRAINZMIRROR' + description: "OPTIONAL Only change if using a different mirror" + schema: + type: string + default: "" + - variable: MBRATELIMIT + label: 'MBRATELIMIT' + description: "OPTIONAL musicbrainz rate limit, musicbrainz allows only 1 connection per second, max setting is 10" + schema: + type: string + default: "" + - variable: SOURCE_CONNECTION + label: 'SOURCE_CONNECTION' + description: "lidarr or ama ama requires the AMA config folder to be mounted as a volume ama" + schema: + type: string + default: "" + - variable: LidarrUrl + label: 'LidarrUrl' + description: "Set domain or IP to your Lidarr instance including port. If using reverse proxy, do not use a trailing slash. Ensure you specify https." + schema: + type: string + default: "" + - variable: LidarrAPIkey + label: 'LidarrAPIkey' + description: "Lidarr API key" + schema: + type: string + default: "" + - variable: CountryCode + label: 'CountryCode' + description: "Set the country code for preferred video matching, uses Musicbrainz Country Codes, lowercase only." + schema: + type: string + default: "" + - variable: RequireVideoMatch + label: 'RequireVideoMatch' + description: "true = enabled Only keep videos that could be matched to a Musicbrainz music track." + schema: + type: string + default: "" + - variable: subtitlelanguage + label: 'subtitlelanguage' + description: "Desired Language Code For guidence, please see youtube-dl documentation" + schema: + type: string + default: "" + - variable: videofilter + label: 'videofilter' + description: "This will filter out videos Matching MusicBrainz secondary release type and album disambiguation (single word only)" + schema: + type: string + default: "" + - variable: WriteNFOs + label: 'WriteNFOs' + description: "true = enabled Create NFO and Local Thumbnail for use in applications such as Kodi" + schema: + type: string + default: "" + - variable: USEFOLDERS + label: 'USEFOLDERS' + description: "true = enabled Creates subfolders using the Lidarr Artist folder name" + schema: + type: string + default: "" + - variable: USEVIDEOFOLDERS + label: 'USEVIDEOFOLDERS' + description: "true = enabled Creates subfolders using Video File Name only, requires USEFOLDERS to be enabled" + schema: + type: string + default: "" + - variable: FolderPermissions + label: 'FolderPermissions' + description: "Based on chmod linux permissions" + schema: + type: string + default: "" + - variable: FilePermissions + label: 'FilePermissions' + description: "Based on chmod linux permissions" + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: hostpathfordownloads-amvd + label: "hostpathfordownloads-amvd Storage" + description: "Container Path downloads-amvd" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/amvd/readme.md b/charts/dev/amvd/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/amvd/templates/common.yaml b/charts/dev/amvd/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/amvd/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/amvd/values.yaml b/charts/dev/amvd/values.yaml new file mode 100644 index 00000000000..c6c6b5b2d48 --- /dev/null +++ b/charts/dev/amvd/values.yaml @@ -0,0 +1,40 @@ +env: + AUTOSTART: '' + CountryCode: '' + FilePermissions: '' + FolderPermissions: '' + LidarrAPIkey: '' + LidarrUrl: '' + MBRAINZMIRROR: '' + MBRATELIMIT: '' + RequireVideoMatch: '' + SCRIPTINTERVAL: '' + SOURCE_CONNECTION: '' + USEFOLDERS: '' + USEVIDEOFOLDERS: '' + WriteNFOs: '' + subtitlelanguage: '' + videofilter: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/amvd + tag: latest +persistence: + config: + enabled: true + mountPath: /config + hostpathfordownloads-amvd: + enabled: true + mountPath: /downloads-amvd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/android-8-0/.helmignore b/charts/dev/android-8-0/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/android-8-0/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/android-8-0/Chart.yaml b/charts/dev/android-8-0/Chart.yaml new file mode 100644 index 00000000000..b21802ff1ba --- /dev/null +++ b/charts/dev/android-8-0/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Android in docker solution with noVNC supported and video recording. + Work way better with Intel CPUs because AMD doesn't an cpu graphics card. So with + amd cpus can be unusable. +home: https://github.com/truecharts/apps/tree/master/charts/stable/android-8-0 +icon: https://truecharts.org/_static/img/appicons/android-8-0.png +keywords: +- android-8-0 +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: android-8-0 +sources: +- https://registry.hub.docker.com/r/ulisses1478/docker-android +type: application +version: 0.0.1 diff --git a/charts/dev/android-8-0/icon.png b/charts/dev/android-8-0/icon.png new file mode 100644 index 00000000000..5e5f4f2f0d7 Binary files /dev/null and b/charts/dev/android-8-0/icon.png differ diff --git a/charts/dev/android-8-0/questions.yaml b/charts/dev/android-8-0/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/android-8-0/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/android-8-0/readme.md b/charts/dev/android-8-0/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/android-8-0/templates/common.yaml b/charts/dev/android-8-0/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/android-8-0/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/android-8-0/values.yaml b/charts/dev/android-8-0/values.yaml new file mode 100644 index 00000000000..983d41965e6 --- /dev/null +++ b/charts/dev/android-8-0/values.yaml @@ -0,0 +1,18 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/android-8-0 + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/androiddebugbridge/.helmignore b/charts/dev/androiddebugbridge/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/androiddebugbridge/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/androiddebugbridge/Chart.yaml b/charts/dev/androiddebugbridge/Chart.yaml new file mode 100644 index 00000000000..a91bf299b0c --- /dev/null +++ b/charts/dev/androiddebugbridge/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - HomeAutomation + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "Control AndroidTV/FireTV devices through ADB from the Home Assistant\ + \ Core docker image.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/androiddebugbridge +icon: https://truecharts.org/_static/img/appicons/androiddebugbridge.png +keywords: +- androiddebugbridge +- HomeAutomation +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: androiddebugbridge +sources: +- https://hub.docker.com/r/barnybbb/adb-hass-androidtv +- https://hub.docker.com/r/barnybbb/adb-hass-androidtv/ +type: application +version: 0.0.1 diff --git a/charts/dev/androiddebugbridge/icon.png b/charts/dev/androiddebugbridge/icon.png new file mode 100644 index 00000000000..1eb4960bfcc Binary files /dev/null and b/charts/dev/androiddebugbridge/icon.png differ diff --git a/charts/dev/androiddebugbridge/questions.yaml b/charts/dev/androiddebugbridge/questions.yaml new file mode 100644 index 00000000000..69240300cd7 --- /dev/null +++ b/charts/dev/androiddebugbridge/questions.yaml @@ -0,0 +1,289 @@ +# 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: bootwait + label: 'bootwait' + description: "Length of time in seconds to wait after the container has started before attempting to connect to devices." + schema: + type: string + default: "10" + - variable: devicelist + label: 'devicelist' + description: "Comma separated list of androidtvfiretv devices to connect to, each one listed as [iphostname][port],[iphostname][port]." + schema: + type: string + default: "10.0.0.192:5555" + - variable: checkfreq + label: 'checkfreq' + description: "Length of time in seconds to wait between successive attempts to connect (or re-connect) to devices." + schema: + type: string + default: "30" + +# 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: 5037 + 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: 5037 + + + + - 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} + + + - 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/androiddebugbridge/readme.md b/charts/dev/androiddebugbridge/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/androiddebugbridge/templates/common.yaml b/charts/dev/androiddebugbridge/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/androiddebugbridge/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/androiddebugbridge/values.yaml b/charts/dev/androiddebugbridge/values.yaml new file mode 100644 index 00000000000..d1b6b77f6a3 --- /dev/null +++ b/charts/dev/androiddebugbridge/values.yaml @@ -0,0 +1,24 @@ +env: + bootwait: '10' + checkfreq: '30' + devicelist: 10.0.0.192:5555 +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/androiddebugbridge + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 5037 + protocol: TCP + targetPort: 5037 diff --git a/charts/dev/anope/.helmignore b/charts/dev/anope/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/anope/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/anope/Chart.yaml b/charts/dev/anope/Chart.yaml new file mode 100644 index 00000000000..af83c39530d --- /dev/null +++ b/charts/dev/anope/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network-Other + - Productivity + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "Anope is a set of IRC Services designed for flexibility and ease of\ + \ use.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/anope +icon: https://truecharts.org/_static/img/appicons/anope.png +keywords: +- anope +- Network-Other +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: anope +sources: +- https://thelounge.chat/ +- https://hub.docker.com/r/ich777/anope +type: application +version: 0.0.1 diff --git a/charts/dev/anope/icon.png b/charts/dev/anope/icon.png new file mode 100644 index 00000000000..29f4d82a59a Binary files /dev/null and b/charts/dev/anope/icon.png differ diff --git a/charts/dev/anope/questions.yaml b/charts/dev/anope/questions.yaml new file mode 100644 index 00000000000..cc1be02b6a7 --- /dev/null +++ b/charts/dev/anope/questions.yaml @@ -0,0 +1,290 @@ +# 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: HOST + label: 'HOST' + description: "Specify the full hostname from your IRCd (must be the same as configured in your IRCd Server)." + schema: + type: string + default: "irc.example.com" + - variable: IP_ADDR + label: 'IP_ADDR' + description: "Specify the IP Address from your IRCd (if you run it on Unraid it is usually the IP address of Unraid)." + schema: + type: string + default: "" + - variable: SSL + label: 'SSL' + description: "Use SSL to establish the connection (if your IRCd is on the same network this is no problem since Anope talks internally to your IRCd - use this carefully since you have to configure some extra settings in the services.conf itself - valid options are yes or no)." + schema: + type: string + default: "yes" + - variable: PORT + label: 'PORT' + description: "The Server port of your IRCd (usually 7000 is without SSL - this is be no proble if you connect it to your internal network since it only talks internally to your IRCd - if you want to enable SSL you have to configure some extra settings in the services.conf itself)." + schema: + type: string + default: "7000" + - variable: PASSWORD + label: 'PASSWORD' + description: "This have to be the same as your IRCd Service Password (if you are using InspIRCd click on Show more Settings)." + schema: + type: string + default: "" + - variable: IRCD + label: 'IRCD' + description: "Set your IRCd type (valid options are bahamut, charybdis, hybrid, inspircd12, inspircd20, inspircd3, ngircd, plexus, ratbox, unreal (for 3.2.x), unreal4)" + schema: + type: string + default: "inspircd3" + - variable: CASEMAP + label: 'CASEMAP' + description: "Specify the casemap of your IRCd (if you use InspIRCd the default value is rfc1459 other clients often use for example ascii)" + schema: + type: string + default: "rfc1459" + - variable: LOCAL_HOSTNAME + label: 'LOCAL_HOSTNAME' + description: "Specify the hostname where Anope is available (this has to be something different than your IRCd hostname, you dont have to make it reachable from outside or create any port forwarding - leave this value as it is)" + schema: + type: string + default: "services" + - 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: 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: "Data Path" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/anope/readme.md b/charts/dev/anope/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/anope/templates/common.yaml b/charts/dev/anope/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/anope/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/anope/values.yaml b/charts/dev/anope/values.yaml new file mode 100644 index 00000000000..16269f53522 --- /dev/null +++ b/charts/dev/anope/values.yaml @@ -0,0 +1,31 @@ +env: + CASEMAP: rfc1459 + DATA_PERM: '770' + HOST: irc.example.com + IP_ADDR: '' + IRCD: inspircd3 + LOCAL_HOSTNAME: services + PASSWORD: '' + PORT: '7000' + SSL: 'yes' + UMASK: '000' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/anope + tag: latest +persistence: + datapath: + enabled: true + mountPath: /anope +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/apache-webdav/.helmignore b/charts/dev/apache-webdav/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/apache-webdav/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/apache-webdav/Chart.yaml b/charts/dev/apache-webdav/Chart.yaml new file mode 100644 index 00000000000..1bded9f03a9 --- /dev/null +++ b/charts/dev/apache-webdav/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "Very simple WebDAV server based on Apache. You need a WebDAV client\ + \ to transfer files. It does not include a WebUI to upload files through your browser.\r\ + \n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/apache-webdav +icon: https://truecharts.org/_static/img/appicons/apache-webdav.png +keywords: +- apache-webdav +- Cloud +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: apache-webdav +sources: +- https://httpd.apache.org/docs/2.4/mod/mod_dav.html +- https://github.com/mgutt/docker-apachewebdav +type: application +version: 0.0.1 diff --git a/charts/dev/apache-webdav/icon.png b/charts/dev/apache-webdav/icon.png new file mode 100644 index 00000000000..a0ac835578c Binary files /dev/null and b/charts/dev/apache-webdav/icon.png differ diff --git a/charts/dev/apache-webdav/questions.yaml b/charts/dev/apache-webdav/questions.yaml new file mode 100644 index 00000000000..b25b5c2a757 --- /dev/null +++ b/charts/dev/apache-webdav/questions.yaml @@ -0,0 +1,421 @@ +# 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: SERVER_NAMES + label: 'SERVER_NAMES' + description: "Comma-separated list of domains (eg, example.com,www.example.com). The first is set as the ServerName, and the rest (if any) are set as ServerAlias. The default is localhost." + schema: + type: string + default: "localhost" + - variable: LOCATION + label: 'LOCATION' + description: "The URL path for WebDAV (eg, if set to webdav then clients should connect to example.comwebdav). The default is ." + schema: + type: string + default: "/" + - variable: AUTH_TYPE + label: 'AUTH_TYPE' + description: "Apache authentication type to use. This can be Basic (best choice for HTTPS) or Digest (best choice for HTTP). The default is Basic." + schema: + type: string + default: "Basic" + - variable: REALM + label: 'REALM' + description: "The string will appear in the password dialog provided by browsers." + schema: + type: string + default: "WebDAV-Login" + - variable: USERNAME + label: 'USERNAME' + description: "Authenticate with this username (and the password below). Will be ignored if user.passwd is present." + schema: + type: string + default: "" + - variable: PASSWORD + label: 'PASSWORD' + description: "Authenticate with this password (and the username above). Will be ignored if user.passwd is present." + schema: + type: string + default: "" + - variable: ANONYMOUS_METHODS + label: 'ANONYMOUS_METHODS' + description: "Comma-separated list of HTTP request methods (eg, GET,POST,OPTIONS,PROPFIND) which can be used without login. The default is to disallow any anonymous access." + schema: + type: string + default: "" + - variable: SSL_CERT + label: 'SSL_CERT' + description: "Set to selfsigned to generate a self-signed certificate and enable Apaches SSL module. If you specify SERVERNAMES, the first domain is set as the Common Name." + schema: + type: string + default: "" + - variable: PUMASK + label: 'PUMASK' + description: "Container Variable PUMASK" + schema: + type: string + default: "0000" + +# 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: 8384 + 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 varlibdavdata" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: config + label: "config Storage" + description: "Container Path varlibdav" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/apache-webdav/readme.md b/charts/dev/apache-webdav/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/apache-webdav/templates/common.yaml b/charts/dev/apache-webdav/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/apache-webdav/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/apache-webdav/values.yaml b/charts/dev/apache-webdav/values.yaml new file mode 100644 index 00000000000..c8572b22771 --- /dev/null +++ b/charts/dev/apache-webdav/values.yaml @@ -0,0 +1,36 @@ +env: + ANONYMOUS_METHODS: '' + AUTH_TYPE: Basic + LOCATION: / + PASSWORD: '' + PUMASK: '0000' + REALM: WebDAV-Login + SERVER_NAMES: localhost + SSL_CERT: '' + USERNAME: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/apache-webdav + tag: latest +persistence: + config: + enabled: true + mountPath: /var/lib/dav + data: + enabled: true + mountPath: /var/lib/dav/data +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8384 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/apprise-api/.helmignore b/charts/dev/apprise-api/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/apprise-api/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/apprise-api/Chart.yaml b/charts/dev/apprise-api/Chart.yaml new file mode 100644 index 00000000000..79178eb0254 --- /dev/null +++ b/charts/dev/apprise-api/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: 'Apprise-api(https://github.com/caronc/apprise-api) Takes advantage of + Apprise(https://github.com/caronc/apprise) through your network with a user-friendly + API. + + ' +home: https://github.com/truecharts/apps/tree/master/charts/stable/apprise-api +icon: https://truecharts.org/_static/img/appicons/apprise-api.png +keywords: +- apprise-api +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: apprise-api +sources: +- https://github.com/caronc/apprise-api +- https://github.com/orgs/linuxserver/packages/container/package/apprise-api +- https://github.com/linuxserver/docker-apprise-api#readme +type: application +version: 0.0.1 diff --git a/charts/dev/apprise-api/icon.png b/charts/dev/apprise-api/icon.png new file mode 100644 index 00000000000..cf3ec321e6b Binary files /dev/null and b/charts/dev/apprise-api/icon.png differ diff --git a/charts/dev/apprise-api/questions.yaml b/charts/dev/apprise-api/questions.yaml new file mode 100644 index 00000000000..52ba3c9506d --- /dev/null +++ b/charts/dev/apprise-api/questions.yaml @@ -0,0 +1,330 @@ +# 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: "" + +# 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: 8000 + 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: 8000 + + + + - 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: "Where config is stored." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/apprise-api/readme.md b/charts/dev/apprise-api/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/apprise-api/templates/common.yaml b/charts/dev/apprise-api/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/apprise-api/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/apprise-api/values.yaml b/charts/dev/apprise-api/values.yaml new file mode 100644 index 00000000000..8b408620c87 --- /dev/null +++ b/charts/dev/apprise-api/values.yaml @@ -0,0 +1,25 @@ +env: + UMASK: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/apprise-api + 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: 8000 + protocol: TCP + targetPort: 8000 diff --git a/charts/dev/appsmith/.helmignore b/charts/dev/appsmith/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/appsmith/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/appsmith/Chart.yaml b/charts/dev/appsmith/Chart.yaml new file mode 100644 index 00000000000..9e847b92f4a --- /dev/null +++ b/charts/dev/appsmith/Chart.yaml @@ -0,0 +1,32 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Quickly build any custom business software with pre-built UI widgets + that connect to any data source. Control everything with JavaScript. +home: https://github.com/truecharts/apps/tree/master/charts/stable/appsmith +icon: https://truecharts.org/_static/img/appicons/appsmith.png +keywords: +- appsmith +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: appsmith +sources: +- https://www.appsmith.com/ +- https://hub.docker.com/r/appsmith/appsmith-ce +type: application +version: 0.0.1 diff --git a/charts/dev/appsmith/icon.png b/charts/dev/appsmith/icon.png new file mode 100644 index 00000000000..8a4f10c7048 Binary files /dev/null and b/charts/dev/appsmith/icon.png differ diff --git a/charts/dev/appsmith/questions.yaml b/charts/dev/appsmith/questions.yaml new file mode 100644 index 00000000000..909d1c65063 --- /dev/null +++ b/charts/dev/appsmith/questions.yaml @@ -0,0 +1,316 @@ +# 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: 8182 + 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 appsmith-stacks" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/appsmith/readme.md b/charts/dev/appsmith/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/appsmith/templates/common.yaml b/charts/dev/appsmith/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/appsmith/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/appsmith/values.yaml b/charts/dev/appsmith/values.yaml new file mode 100644 index 00000000000..758d7d8138b --- /dev/null +++ b/charts/dev/appsmith/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/appsmith + tag: latest +persistence: + data: + enabled: true + mountPath: /appsmith-stacks +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8182 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/apt-cacher-ng/.helmignore b/charts/dev/apt-cacher-ng/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/apt-cacher-ng/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/apt-cacher-ng/Chart.yaml b/charts/dev/apt-cacher-ng/Chart.yaml new file mode 100644 index 00000000000..aa5c8a9c810 --- /dev/null +++ b/charts/dev/apt-cacher-ng/Chart.yaml @@ -0,0 +1,35 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Network-Proxy + - Network-Other + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Apt-Cacher NG is a caching proxy, specialized for package files from + Linux distributors, primarily for Debian (and Debian based) distributions but not + limited to those. +home: https://github.com/truecharts/apps/tree/master/charts/stable/apt-cacher-ng +icon: https://truecharts.org/_static/img/appicons/apt-cacher-ng.png +keywords: +- apt-cacher-ng +- Network-Proxy +- Network-Other +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: apt-cacher-ng +sources: +- https://www.unix-ag.uni-kl.de/~bloch/acng/ +- https://hub.docker.com/r/sameersbn/apt-cacher-ng/ +type: application +version: 0.0.1 diff --git a/charts/dev/apt-cacher-ng/icon.png b/charts/dev/apt-cacher-ng/icon.png new file mode 100644 index 00000000000..739ab24207c Binary files /dev/null and b/charts/dev/apt-cacher-ng/icon.png differ diff --git a/charts/dev/apt-cacher-ng/questions.yaml b/charts/dev/apt-cacher-ng/questions.yaml new file mode 100644 index 00000000000..8e6276393e8 --- /dev/null +++ b/charts/dev/apt-cacher-ng/questions.yaml @@ -0,0 +1,315 @@ +# 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: 3142 + 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: 3142 + + + + - 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: apt-cacher-ng + label: "apt-cacher-ng Storage" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/apt-cacher-ng/readme.md b/charts/dev/apt-cacher-ng/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/apt-cacher-ng/templates/common.yaml b/charts/dev/apt-cacher-ng/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/apt-cacher-ng/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/apt-cacher-ng/values.yaml b/charts/dev/apt-cacher-ng/values.yaml new file mode 100644 index 00000000000..87ad85a914d --- /dev/null +++ b/charts/dev/apt-cacher-ng/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/apt-cacher-ng + tag: latest +persistence: + apt-cacher-ng: + enabled: true + mountPath: /var/cache/apt-cacher-ng +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 3142 + protocol: TCP + targetPort: 3142 diff --git a/charts/dev/archiveteam-warrior/.helmignore b/charts/dev/archiveteam-warrior/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/archiveteam-warrior/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/archiveteam-warrior/Chart.yaml b/charts/dev/archiveteam-warrior/Chart.yaml new file mode 100644 index 00000000000..f285eebd9a9 --- /dev/null +++ b/charts/dev/archiveteam-warrior/Chart.yaml @@ -0,0 +1,35 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Backup + - Cloud + - Downloaders + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "The Archive Team Warrior is a virtual archiving appliance. You can run\ + \ it to help with the Archive Team archiving efforts. It will download sites and\ + \ upload them to our archive\u2014and it\u2019s really easy to do!\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/archiveteam-warrior +icon: https://truecharts.org/_static/img/appicons/archiveteam-warrior.png +keywords: +- archiveteam-warrior +- Backup +- Cloud +- Downloaders +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: archiveteam-warrior +sources: +- https://wiki.archiveteam.org/index.php/ArchiveTeam_Warrior +- https://hub.docker.com/r/archiveteam/warrior-dockerfile/ +type: application +version: 0.0.1 diff --git a/charts/dev/archiveteam-warrior/icon.png b/charts/dev/archiveteam-warrior/icon.png new file mode 100644 index 00000000000..e1675579d21 Binary files /dev/null and b/charts/dev/archiveteam-warrior/icon.png differ diff --git a/charts/dev/archiveteam-warrior/questions.yaml b/charts/dev/archiveteam-warrior/questions.yaml new file mode 100644 index 00000000000..404324d755d --- /dev/null +++ b/charts/dev/archiveteam-warrior/questions.yaml @@ -0,0 +1,316 @@ +# 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: 8001 + 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: 8001 + + + + - 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 varrundocker.sock" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/archiveteam-warrior/readme.md b/charts/dev/archiveteam-warrior/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/archiveteam-warrior/templates/common.yaml b/charts/dev/archiveteam-warrior/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/archiveteam-warrior/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/archiveteam-warrior/values.yaml b/charts/dev/archiveteam-warrior/values.yaml new file mode 100644 index 00000000000..6f4a4a939a8 --- /dev/null +++ b/charts/dev/archiveteam-warrior/values.yaml @@ -0,0 +1,24 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/archiveteam-warrior + tag: latest +persistence: + appdata: + enabled: true + mountPath: /var/run/docker.sock +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8001 + protocol: TCP + targetPort: 8001 diff --git a/charts/dev/arksurvivalevolved/.helmignore b/charts/dev/arksurvivalevolved/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/arksurvivalevolved/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/arksurvivalevolved/Chart.yaml b/charts/dev/arksurvivalevolved/Chart.yaml new file mode 100644 index 00000000000..7d3b14f8349 --- /dev/null +++ b/charts/dev/arksurvivalevolved/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ ARK:SurvivalEvolved and run it (Normal server startup of ARK can take a long time!).\r\ + \n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/arksurvivalevolved +icon: https://truecharts.org/_static/img/appicons/arksurvivalevolved.png +keywords: +- arksurvivalevolved +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: arksurvivalevolved +sources: +- https://survivetheark.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/arksurvivalevolved/icon.png b/charts/dev/arksurvivalevolved/icon.png new file mode 100644 index 00000000000..c3e1539bf8f Binary files /dev/null and b/charts/dev/arksurvivalevolved/icon.png differ diff --git a/charts/dev/arksurvivalevolved/questions.yaml b/charts/dev/arksurvivalevolved/questions.yaml new file mode 100644 index 00000000000..d88f2eebf53 --- /dev/null +++ b/charts/dev/arksurvivalevolved/questions.yaml @@ -0,0 +1,607 @@ +# 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.If you want to install a static or beta version of the game change the value to 376030 -beta YOURBRANCH (without quotes, replace YOURBRANCH with the branch or version you want to install)." + schema: + type: string + default: "376030" + - 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: MAP + label: 'MAP' + description: "Container Variable MAP" + schema: + type: string + default: "TheIsland" + - variable: SERVER_NAME + label: 'SERVER_NAME' + description: "Leave empty if you want to use the settings from GameUserSettings.ini (this field accepts no spaces)" + schema: + type: string + default: "" + - variable: SRV_PWD + label: 'SRV_PWD' + description: "Leave empty if you want to use the settings from GameUserSettings.ini (this field accepts no spaces)" + schema: + type: string + default: "" + - variable: SRV_ADMIN_PWD + label: 'SRV_ADMIN_PWD' + description: "Leave empty if you want to use the settings from GameUserSettings.ini (this field accepts no spaces)" + schema: + type: string + default: "" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your game parameters seperated with ? and start with a ? (dont put spaces in between eg ?MaxPlayers=40?FastDecayUnsnappedCoreStructures=true)" + schema: + type: string + default: "" + - variable: GAME_PARAMS_EXTRA + label: 'GAME_PARAMS_EXTRA' + description: "Type in your Extra Game Parameters seperated with a space and - (eg -DisableDeathSpectator -UseBattlEye)" + schema: + type: string + default: "-server -log" + +# Include{containerConfig} + + - variable: service + group: "Networking and Services" + label: "Configure Service(s)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 7777 + required: true + - variable: advanced + label: "Show Advanced settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: protocol + label: "Port Type" + schema: + type: string + default: 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: 7777 + + - variable: udp2 + label: 'udp2 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + 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: 7778 + 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: 7778 + - variable: udpsteam + label: 'udpsteam service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpsteam + label: "udpsteam 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: 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: rcontcp + label: 'rcontcp service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: rcontcp + label: "rcontcp 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: 27020 + 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: 27020 + + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/arksurvivalevolved/readme.md b/charts/dev/arksurvivalevolved/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/arksurvivalevolved/templates/common.yaml b/charts/dev/arksurvivalevolved/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/arksurvivalevolved/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/arksurvivalevolved/values.yaml b/charts/dev/arksurvivalevolved/values.yaml new file mode 100644 index 00000000000..c9054410eff --- /dev/null +++ b/charts/dev/arksurvivalevolved/values.yaml @@ -0,0 +1,63 @@ +env: + GAME_ID: '376030' + GAME_PARAMS: '' + GAME_PARAMS_EXTRA: -server -log + MAP: TheIsland + PASSWRD: '' + SERVER_NAME: '' + SRV_ADMIN_PWD: '' + SRV_PWD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/arksurvivalevolved + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 7777 + protocol: UDP + targetPort: 7777 + rcontcp: + enabled: true + ports: + rcontcp: + enabled: true + port: 27020 + protocol: TCP + targetPort: 27020 + udp2: + enabled: true + ports: + udp2: + enabled: true + port: 7778 + protocol: UDP + targetPort: 7778 + udpsteam: + enabled: true + ports: + udpsteam: + enabled: true + port: 27015 + protocol: UDP + targetPort: 27015 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] diff --git a/charts/dev/arma3/.helmignore b/charts/dev/arma3/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/arma3/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/arma3/Chart.yaml b/charts/dev/arma3/Chart.yaml new file mode 100644 index 00000000000..cf3e0aa46ae --- /dev/null +++ b/charts/dev/arma3/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ ArmA III and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/arma3 +icon: https://truecharts.org/_static/img/appicons/arma3.png +keywords: +- arma3 +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: arma3 +sources: +- https://arma3.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/arma3/icon.png b/charts/dev/arma3/icon.png new file mode 100644 index 00000000000..a2e01f5aa98 Binary files /dev/null and b/charts/dev/arma3/icon.png differ diff --git a/charts/dev/arma3/questions.yaml b/charts/dev/arma3/questions.yaml new file mode 100644 index 00000000000..3ae370b99e1 --- /dev/null +++ b/charts/dev/arma3/questions.yaml @@ -0,0 +1,746 @@ +# 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: "233780" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server.Note To change the Port of the server please click on Show more settings button, dont forget to change the other ports." + schema: + type: string + default: "-config=server.cfg -mod=" + - 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: 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: 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: GAME_PORT + label: 'GAME_PORT' + description: "Container Variable GAMEPORT" + schema: + type: string + default: "2302" + +# 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: 2302 + 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: 2302 + + - variable: udpgameport + label: 'udpgameport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpgameport + label: "udpgameport 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: 2302 + 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: 2302 + - variable: udpsteamquerry + label: 'udpsteamquerry service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpsteamquerry + label: "udpsteamquerry 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: 2303 + 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: 2303 + - variable: udpsteammaster + label: 'udpsteammaster service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpsteammaster + label: "udpsteammaster 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: 2304 + 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: 2304 + - variable: udpvonport + label: 'udpvonport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpvonport + label: "udpvonport 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: 2305 + 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: 2305 + - variable: udpbattleyetra + label: 'udpbattleyetra service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpbattleyetra + label: "udpbattleyetra 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: 2306 + 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: 2306 + + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: profiles + label: "profiles Storage" + description: "serverdata.localshare" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/arma3/readme.md b/charts/dev/arma3/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/arma3/templates/common.yaml b/charts/dev/arma3/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/arma3/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/arma3/values.yaml b/charts/dev/arma3/values.yaml new file mode 100644 index 00000000000..160238487ff --- /dev/null +++ b/charts/dev/arma3/values.yaml @@ -0,0 +1,78 @@ +env: + GAME_ID: '233780' + GAME_PARAMS: -config=server.cfg -mod= + GAME_PORT: '2302' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/arma3 + tag: latest +persistence: + profiles: + enabled: true + mountPath: /serverdata/.local/share + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 2302 + protocol: TCP + targetPort: 2302 + udpbattleyetra: + enabled: true + ports: + udpbattleyetra: + enabled: true + port: 2306 + protocol: UDP + targetPort: 2306 + udpgameport: + enabled: true + ports: + udpgameport: + enabled: true + port: 2302 + protocol: UDP + targetPort: 2302 + udpsteammaster: + enabled: true + ports: + udpsteammaster: + enabled: true + port: 2304 + protocol: UDP + targetPort: 2304 + udpsteamquerry: + enabled: true + ports: + udpsteamquerry: + enabled: true + port: 2303 + protocol: UDP + targetPort: 2303 + udpvonport: + enabled: true + ports: + udpvonport: + enabled: true + port: 2305 + protocol: UDP + targetPort: 2305 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] diff --git a/charts/dev/arma3exilemod/.helmignore b/charts/dev/arma3exilemod/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/arma3exilemod/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/arma3exilemod/Chart.yaml b/charts/dev/arma3exilemod/Chart.yaml new file mode 100644 index 00000000000..b09b2dc5f2c --- /dev/null +++ b/charts/dev/arma3exilemod/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ ArmA III including ExileMod and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/arma3exilemod +icon: https://truecharts.org/_static/img/appicons/arma3exilemod.png +keywords: +- arma3exilemod +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: arma3exilemod +sources: +- http://www.exilemod.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/arma3exilemod/icon.png b/charts/dev/arma3exilemod/icon.png new file mode 100644 index 00000000000..f4c77cf40a6 Binary files /dev/null and b/charts/dev/arma3exilemod/icon.png differ diff --git a/charts/dev/arma3exilemod/questions.yaml b/charts/dev/arma3exilemod/questions.yaml new file mode 100644 index 00000000000..35ce887f2d5 --- /dev/null +++ b/charts/dev/arma3exilemod/questions.yaml @@ -0,0 +1,824 @@ +# 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: "233780" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server.Note To change the Port of the server please click on Show more settings button, dont forget to change the other ports." + schema: + type: string + default: "" + - 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: 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: 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: MARIA_DB_ROOT_PWD + label: 'MARIA_DB_ROOT_PWD' + description: "Enter the preffered root password of the database." + schema: + type: string + default: "ExileMod" + - variable: WORKSHOP_MAN_INST + label: 'WORKSHOP_MAN_INST' + description: "Please set to true (without quotes) if you want to install the Workshopcontent for ExileMod manually since the account you specified above must have a valid game purchase for ArmA3 (you could also use one account to download the dedicated server files and another to install the Workshop files).A COMPLETE HOW TO WILL BE IN THE CONSOLEWARNING Please let this variable set to true if you initially set it to true." + schema: + type: string + default: "" + - variable: GAME_PORT + label: 'GAME_PORT' + description: "Container Variable GAMEPORT" + schema: + type: string + default: "2302" + - variable: EXILEMOD_SERVER_URL + label: 'EXILEMOD_SERVER_URL' + description: "Change only if you know what you are doing!" + schema: + type: string + default: "http://www.exilemod.com/ExileServer-1.0.4a.zip" + +# 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: 2302 + 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: 2302 + + - variable: udpgameport + label: 'udpgameport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpgameport + label: "udpgameport 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: 2302 + 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: 2302 + - variable: udpsteamquerry + label: 'udpsteamquerry service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpsteamquerry + label: "udpsteamquerry 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: 2303 + 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: 2303 + - variable: udpsteammaster + label: 'udpsteammaster service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpsteammaster + label: "udpsteammaster 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: 2304 + 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: 2304 + - variable: udpvonport + label: 'udpvonport service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpvonport + label: "udpvonport 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: 2305 + 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: 2305 + - variable: udpbattleyetra + label: 'udpbattleyetra service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udpbattleyetra + label: "udpbattleyetra 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: 2306 + 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: 2306 + - variable: tcpmariadb + label: 'tcpmariadb service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: tcpmariadb + label: "tcpmariadb 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: 3306 + 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: 3306 + + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: profiles + label: "profiles Storage" + description: "serverdata.localshare" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/arma3exilemod/readme.md b/charts/dev/arma3exilemod/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/arma3exilemod/templates/common.yaml b/charts/dev/arma3exilemod/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/arma3exilemod/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/arma3exilemod/values.yaml b/charts/dev/arma3exilemod/values.yaml new file mode 100644 index 00000000000..927ad35a1f7 --- /dev/null +++ b/charts/dev/arma3exilemod/values.yaml @@ -0,0 +1,89 @@ +env: + EXILEMOD_SERVER_URL: http://www.exilemod.com/ExileServer-1.0.4a.zip + GAME_ID: '233780' + GAME_PARAMS: '' + GAME_PORT: '2302' + MARIA_DB_ROOT_PWD: ExileMod + PASSWRD: '' + USERNAME: '' + VALIDATE: '' + WORKSHOP_MAN_INST: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/arma3exilemod + tag: latest +persistence: + profiles: + enabled: true + mountPath: /serverdata/.local/share + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 2302 + protocol: TCP + targetPort: 2302 + tcpmariadb: + enabled: true + ports: + tcpmariadb: + enabled: true + port: 3306 + protocol: TCP + targetPort: 3306 + udpbattleyetra: + enabled: true + ports: + udpbattleyetra: + enabled: true + port: 2306 + protocol: UDP + targetPort: 2306 + udpgameport: + enabled: true + ports: + udpgameport: + enabled: true + port: 2302 + protocol: UDP + targetPort: 2302 + udpsteammaster: + enabled: true + ports: + udpsteammaster: + enabled: true + port: 2304 + protocol: UDP + targetPort: 2304 + udpsteamquerry: + enabled: true + ports: + udpsteamquerry: + enabled: true + port: 2303 + protocol: UDP + targetPort: 2303 + udpvonport: + enabled: true + ports: + udpvonport: + enabled: true + port: 2305 + protocol: UDP + targetPort: 2305 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] diff --git a/charts/dev/artifactory-oss/.helmignore b/charts/dev/artifactory-oss/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/artifactory-oss/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/artifactory-oss/Chart.yaml b/charts/dev/artifactory-oss/Chart.yaml new file mode 100644 index 00000000000..2c986b42cc4 --- /dev/null +++ b/charts/dev/artifactory-oss/Chart.yaml @@ -0,0 +1,34 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Productivity + - Tools-Utilities + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "JFrog\u2019s Artifactory open source project was created to speed up\ + \ development cycles using binary repositories. It\u2019s the world\u2019s most\ + \ advanced repository manager, creating a single place for teams to manage all their\ + \ binary artifacts efficiently." +home: https://github.com/truecharts/apps/tree/master/charts/stable/artifactory-oss +icon: https://truecharts.org/_static/img/appicons/artifactory-oss.png +keywords: +- artifactory-oss +- Productivity +- Tools-Utilities +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: artifactory-oss +sources: +- https://jfrog.com/ +- https://registry.hub.docker.com/r/docker.bintray.io/jfrog/artifactory-oss +type: application +version: 0.0.1 diff --git a/charts/dev/artifactory-oss/icon.png b/charts/dev/artifactory-oss/icon.png new file mode 100644 index 00000000000..1273d28d042 Binary files /dev/null and b/charts/dev/artifactory-oss/icon.png differ diff --git a/charts/dev/artifactory-oss/questions.yaml b/charts/dev/artifactory-oss/questions.yaml new file mode 100644 index 00000000000..427f123130d --- /dev/null +++ b/charts/dev/artifactory-oss/questions.yaml @@ -0,0 +1,330 @@ +# 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_JAVA_OPTIONS + label: 'EXTRA_JAVA_OPTIONS' + description: "Container Variable EXTRAJAVAOPTIONS" + schema: + type: string + default: "-Xms512m -Xmx4g" + +# 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: 8181 + 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: 8081 + + + + - 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: varoptjfrogartifactory + label: "varoptjfrogartifactory Storage" + description: "varoptjfrogartifactory" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/artifactory-oss/readme.md b/charts/dev/artifactory-oss/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/artifactory-oss/templates/common.yaml b/charts/dev/artifactory-oss/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/artifactory-oss/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/artifactory-oss/values.yaml b/charts/dev/artifactory-oss/values.yaml new file mode 100644 index 00000000000..89eeefb9d30 --- /dev/null +++ b/charts/dev/artifactory-oss/values.yaml @@ -0,0 +1,25 @@ +env: + EXTRA_JAVA_OPTIONS: -Xms512m -Xmx4g +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/artifactory-oss + tag: v6.23.7 +persistence: + varoptjfrogartifactory: + enabled: true + mountPath: /var/opt/jfrog/artifactory +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 8181 + protocol: TCP + targetPort: 8081 diff --git a/charts/dev/assettocorsa/.helmignore b/charts/dev/assettocorsa/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/assettocorsa/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/assettocorsa/Chart.yaml b/charts/dev/assettocorsa/Chart.yaml new file mode 100644 index 00000000000..7d846e76018 --- /dev/null +++ b/charts/dev/assettocorsa/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ AssettoCorsa and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/assettocorsa +icon: https://truecharts.org/_static/img/appicons/assettocorsa.png +keywords: +- assettocorsa +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: assettocorsa +sources: +- https://www.assettocorsa.net/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/assettocorsa/icon.png b/charts/dev/assettocorsa/icon.png new file mode 100644 index 00000000000..103259f8fe2 Binary files /dev/null and b/charts/dev/assettocorsa/icon.png differ diff --git a/charts/dev/assettocorsa/questions.yaml b/charts/dev/assettocorsa/questions.yaml new file mode 100644 index 00000000000..acb3f7da853 --- /dev/null +++ b/charts/dev/assettocorsa/questions.yaml @@ -0,0 +1,643 @@ +# 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: "302550" + - 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: INSTALL_STRACKER + label: 'INSTALL_STRACKER' + description: "Set to true (without quotes) to install Stacker, otherwise leave blank (Please note that you can only Stacker or Assetto-Server-Manager, not both at the same time)." + schema: + type: string + default: "" + - variable: INSTALL_ASSETTO_SERVER_MANAGER + label: 'INSTALL_ASSETTO_SERVER_MANAGER' + description: "Set to true (without quotes) to install Assetto-Server-Manager, otherwise leave blank (Please note that you can only Stacker or Assetto-Server-Manager, not both at the same time)." + 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: 9600 + 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: 9600 + + - variable: udp + label: 'udp service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: udp + label: "udp Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 9600 + 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: 9600 + - variable: tcp2 + label: 'tcp2 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + 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: 8081 + 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: 8081 + - variable: stracker + label: 'stracker service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: stracker + label: "stracker 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: 50041 + 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: 50041 + - variable: assetto- + label: 'assetto- service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: assetto- + label: "assetto- 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: 8772 + 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: 8772 + + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/assettocorsa/readme.md b/charts/dev/assettocorsa/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/assettocorsa/templates/common.yaml b/charts/dev/assettocorsa/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/assettocorsa/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/assettocorsa/values.yaml b/charts/dev/assettocorsa/values.yaml new file mode 100644 index 00000000000..9400769cead --- /dev/null +++ b/charts/dev/assettocorsa/values.yaml @@ -0,0 +1,65 @@ +env: + GAME_ID: '302550' + INSTALL_ASSETTO_SERVER_MANAGER: '' + INSTALL_STRACKER: '' + PASSWRD: '' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/assettocorsa + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + assetto: + enabled: true + ports: + assetto: + enabled: true + port: 8772 + protocol: TCP + targetPort: 8772 + main: + enabled: true + ports: + main: + enabled: true + port: 9600 + protocol: TCP + targetPort: 9600 + stracker: + enabled: true + ports: + stracker: + enabled: true + port: 50041 + protocol: TCP + targetPort: 50041 + tcp2: + enabled: true + ports: + tcp2: + enabled: true + port: 8081 + protocol: TCP + targetPort: 8081 + udp: + enabled: true + ports: + udp: + enabled: true + port: 9600 + protocol: UDP + targetPort: 9600 diff --git a/charts/dev/atd/.helmignore b/charts/dev/atd/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/atd/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/atd/Chart.yaml b/charts/dev/atd/Chart.yaml new file mode 100644 index 00000000000..6e93ae543d0 --- /dev/null +++ b/charts/dev/atd/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + - MediaApp-Music + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: '[b][u][span style=''color: #E80000;'']NOT FOR PUBLIC USE YET...[/span][/u][/b][br][br]Automated + Tidal Downloader :: This script will automatically archive music using a popular + online DL Client' +home: https://github.com/truecharts/apps/tree/master/charts/stable/atd +icon: https://truecharts.org/_static/img/appicons/atd.png +keywords: +- atd +- Downloaders +- MediaApp-Music +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: atd +sources: +- https://github.com/RandomNinjaAtk/docker-atd +- https://hub.docker.com/r/randomninjaatk/atd +type: application +version: 0.0.1 diff --git a/charts/dev/atd/icon.png b/charts/dev/atd/icon.png new file mode 100644 index 00000000000..0a3b8cd5b46 Binary files /dev/null and b/charts/dev/atd/icon.png differ diff --git a/charts/dev/atd/questions.yaml b/charts/dev/atd/questions.yaml new file mode 100644 index 00000000000..488cd344ba2 --- /dev/null +++ b/charts/dev/atd/questions.yaml @@ -0,0 +1,357 @@ +# 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: AutoStart + label: 'AutoStart' + description: "true = Enabled Runs script automatically on startup" + schema: + type: string + default: "" + - variable: ScriptInterval + label: 'ScriptInterval' + description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled" + schema: + type: string + default: "" + - variable: MusicbrainzMirror + label: 'MusicbrainzMirror' + description: "OPTIONAL Only change if using a different mirror" + schema: + type: string + default: "" + - variable: MusicbrainzRateLimit + label: 'MusicbrainzRateLimit' + description: "OPTIONAL musicbrainz rate limit, musicbrainz allows only 1 connection per second, max setting is 10 Set to 101 to disable limit" + schema: + type: string + default: "" + - variable: LidarrUrl + label: 'LidarrUrl' + description: "REQUIRED Lidarr URL, Lidarr provides artist list for processing with ATD..." + schema: + type: string + default: "" + - variable: LidarrApiKey + label: 'LidarrApiKey' + description: "REQUIRED Lidarr API Key, enables ATD to connect to Lidarr..." + schema: + type: string + default: "" + - variable: ScriptMode + label: 'ScriptMode' + description: "REQUIRED set to music or video or both both downloads music and videos, the others set the download to the desired media type" + schema: + type: string + default: "" + - variable: CountryCode + label: 'CountryCode' + description: "Set to Tidal Region, same region as your account" + schema: + type: string + default: "" + - variable: Compilations + label: 'Compilations' + description: "false = disabled; true = enabled Enabling this downloads compilations the Artist Appears On..." + schema: + type: string + default: "" + - variable: WantedQuality + label: 'WantedQuality' + description: "FLAC or 320 or 128 Maxium Quality FLAC (CD quality 16bit), 320 (320 kbps AAC), 128 (128 kbps AAC)" + schema: + type: string + default: "" + - variable: RequireQuality + label: 'RequireQuality' + description: "false = disabled; true = enabled Enabling requires the downloads to match the expected file type (.flac or .m4a)..." + schema: + type: string + default: "" + - variable: EnableReplayGain + label: 'EnableReplayGain' + description: "true = enabled Scans and analyzes files to add replaygain tags to song metadata" + schema: + type: string + default: "" + - variable: FolderPermissions + label: 'FolderPermissions' + description: "Folder Permissions (chmod)" + schema: + type: string + default: "" + - variable: FilePermisssions + label: 'FilePermisssions' + description: "File Permissions (chmod)" + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: hostpathfordownloads-atd + label: "hostpathfordownloads-atd Storage" + description: "Container Path for downloads library..." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/atd/readme.md b/charts/dev/atd/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/atd/templates/common.yaml b/charts/dev/atd/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/atd/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/atd/values.yaml b/charts/dev/atd/values.yaml new file mode 100644 index 00000000000..87017cd57d6 --- /dev/null +++ b/charts/dev/atd/values.yaml @@ -0,0 +1,38 @@ +env: + AutoStart: '' + Compilations: '' + CountryCode: '' + EnableReplayGain: '' + FilePermisssions: '' + FolderPermissions: '' + LidarrApiKey: '' + LidarrUrl: '' + MusicbrainzMirror: '' + MusicbrainzRateLimit: '' + RequireQuality: '' + ScriptInterval: '' + ScriptMode: '' + WantedQuality: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/atd + tag: latest +persistence: + config: + enabled: true + mountPath: /config + hostpathfordownloads-atd: + enabled: true + mountPath: /downloads-atd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/audiobookshelf/.helmignore b/charts/dev/audiobookshelf/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/audiobookshelf/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/audiobookshelf/Chart.yaml b/charts/dev/audiobookshelf/Chart.yaml new file mode 100644 index 00000000000..71f3d5f97ff --- /dev/null +++ b/charts/dev/audiobookshelf/Chart.yaml @@ -0,0 +1,36 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - MediaApp-Books + - MediaServer-Books + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Audiobook manager and player. Saves your progress, supports multiple + accounts, stream all audio formats on the fly. No more switching between dozens + of audio files for a single audiobook, Audiobookshelf shows you one audio track + with skipping, seeking and adjustable playback speed. Free & open source mobile + apps under construction, consider contributing by posting feedback, suggestions, + feature requests on github or the forums. +home: https://github.com/truecharts/apps/tree/master/charts/stable/audiobookshelf +icon: https://truecharts.org/_static/img/appicons/audiobookshelf.png +keywords: +- audiobookshelf +- MediaApp-Books +- MediaServer-Books +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: audiobookshelf +sources: +- https://github.com/advplyr/audiobookshelf +- https://hub.docker.com/r/advplyr/audiobookshelf/ +type: application +version: 0.0.1 diff --git a/charts/dev/audiobookshelf/icon.png b/charts/dev/audiobookshelf/icon.png new file mode 100644 index 00000000000..24e03a64ac6 Binary files /dev/null and b/charts/dev/audiobookshelf/icon.png differ diff --git a/charts/dev/audiobookshelf/questions.yaml b/charts/dev/audiobookshelf/questions.yaml new file mode 100644 index 00000000000..20adced1209 --- /dev/null +++ b/charts/dev/audiobookshelf/questions.yaml @@ -0,0 +1,402 @@ +# 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: 13378 + 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: audiobooks + label: "audiobooks Storage" + description: "Container Path audiobooks" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: config + label: "config Storage" + description: "Container Path config" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: metadata + label: "metadata Storage" + description: "Container Path metadata" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/audiobookshelf/readme.md b/charts/dev/audiobookshelf/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/audiobookshelf/templates/common.yaml b/charts/dev/audiobookshelf/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/audiobookshelf/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/audiobookshelf/values.yaml b/charts/dev/audiobookshelf/values.yaml new file mode 100644 index 00000000000..3dd9d2655fc --- /dev/null +++ b/charts/dev/audiobookshelf/values.yaml @@ -0,0 +1,30 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/audiobookshelf + tag: latest +persistence: + audiobooks: + enabled: true + mountPath: /audiobooks + config: + enabled: true + mountPath: /config + metadata: + enabled: true + mountPath: /metadata +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 13378 + protocol: TCP + targetPort: 80 diff --git a/charts/dev/aurora-files/.helmignore b/charts/dev/aurora-files/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/aurora-files/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/aurora-files/Chart.yaml b/charts/dev/aurora-files/Chart.yaml new file mode 100644 index 00000000000..19d6f5c1a54 --- /dev/null +++ b/charts/dev/aurora-files/Chart.yaml @@ -0,0 +1,33 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Cloud + - Tools-Utilities + - Network-FTP + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "DESCRIPTION\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/aurora-files +icon: https://truecharts.org/_static/img/appicons/aurora-files.png +keywords: +- aurora-files +- Cloud +- Tools-Utilities +- Network-FTP +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: aurora-files +sources: +- https://github.com/afterlogic/docker-aurora-files +- https://hub.docker.com/r/afterlogic/docker-aurora-files +type: application +version: 0.0.1 diff --git a/charts/dev/aurora-files/icon.png b/charts/dev/aurora-files/icon.png new file mode 100644 index 00000000000..7237b6b696f Binary files /dev/null and b/charts/dev/aurora-files/icon.png differ diff --git a/charts/dev/aurora-files/questions.yaml b/charts/dev/aurora-files/questions.yaml new file mode 100644 index 00000000000..1f3a55cb4c6 --- /dev/null +++ b/charts/dev/aurora-files/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/aurora-files/readme.md b/charts/dev/aurora-files/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/aurora-files/templates/common.yaml b/charts/dev/aurora-files/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/aurora-files/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/aurora-files/values.yaml b/charts/dev/aurora-files/values.yaml new file mode 100644 index 00000000000..5966996421e --- /dev/null +++ b/charts/dev/aurora-files/values.yaml @@ -0,0 +1,18 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/aurora-files + tag: latest +persistence: {} +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/auto-yt-dl/.helmignore b/charts/dev/auto-yt-dl/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/auto-yt-dl/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/auto-yt-dl/Chart.yaml b/charts/dev/auto-yt-dl/Chart.yaml new file mode 100644 index 00000000000..e925e0990e1 --- /dev/null +++ b/charts/dev/auto-yt-dl/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Downloaders + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: auto-yt-dl is used to automatically download new Videos of specific YouTube + Channels. It features a Web Gui to add and remove Channels from your watch list. +home: https://github.com/truecharts/apps/tree/master/charts/stable/auto-yt-dl +icon: https://truecharts.org/_static/img/appicons/auto-yt-dl.png +keywords: +- auto-yt-dl +- Downloaders +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: auto-yt-dl +sources: +- https://github.com/xXGuhuXx/auto-yt-dl +- https://hub.docker.com/repository/docker/guhu007/auto-yt-dl +type: application +version: 0.0.1 diff --git a/charts/dev/auto-yt-dl/icon.png b/charts/dev/auto-yt-dl/icon.png new file mode 100644 index 00000000000..9713be7fe23 Binary files /dev/null and b/charts/dev/auto-yt-dl/icon.png differ diff --git a/charts/dev/auto-yt-dl/questions.yaml b/charts/dev/auto-yt-dl/questions.yaml new file mode 100644 index 00000000000..3c7d77241a2 --- /dev/null +++ b/charts/dev/auto-yt-dl/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: 5000 + 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: 5000 + + + + - 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: hostpath1 + label: "hostpath1 Storage" + description: "This is the destination of the downloaded videos." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: data + label: "data Storage" + description: "Used to store data (ex. monitored Channels)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/auto-yt-dl/readme.md b/charts/dev/auto-yt-dl/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/auto-yt-dl/templates/common.yaml b/charts/dev/auto-yt-dl/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/auto-yt-dl/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/auto-yt-dl/values.yaml b/charts/dev/auto-yt-dl/values.yaml new file mode 100644 index 00000000000..ffdb8d7c38e --- /dev/null +++ b/charts/dev/auto-yt-dl/values.yaml @@ -0,0 +1,27 @@ +env: {} +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/auto-yt-dl + tag: latest +persistence: + data: + enabled: true + mountPath: /app/data + hostpath1: + enabled: true + mountPath: /app/Downloads +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: true + ports: + main: + enabled: true + port: 5000 + protocol: TCP + targetPort: 5000 diff --git a/charts/dev/autoscan/.helmignore b/charts/dev/autoscan/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/autoscan/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/autoscan/Chart.yaml b/charts/dev/autoscan/Chart.yaml new file mode 100644 index 00000000000..cacb2539608 --- /dev/null +++ b/charts/dev/autoscan/Chart.yaml @@ -0,0 +1,31 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - Other + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: Autoscan replaces the default Plex and Emby behaviour for picking up + file changes on the file system. Autoscan integrates with Sonarr, Radarr and Lidarr + to fetch changes in near real-time without relying on the file system. +home: https://github.com/truecharts/apps/tree/master/charts/stable/autoscan +icon: https://truecharts.org/_static/img/appicons/autoscan.png +keywords: +- autoscan +- Other +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: autoscan +sources: +- https://hotio.dev/containers/autoscan +- https://hub.docker.com/r/hotio/autoscan +type: application +version: 0.0.1 diff --git a/charts/dev/autoscan/icon.png b/charts/dev/autoscan/icon.png new file mode 100644 index 00000000000..f5f96af1830 Binary files /dev/null and b/charts/dev/autoscan/icon.png differ diff --git a/charts/dev/autoscan/questions.yaml b/charts/dev/autoscan/questions.yaml new file mode 100644 index 00000000000..d2a2701e5d9 --- /dev/null +++ b/charts/dev/autoscan/questions.yaml @@ -0,0 +1,248 @@ +# 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: PLEX_LOGIN + label: 'PLEX_LOGIN' + description: "Container Variable PLEXLOGIN" + schema: + type: string + default: "" + - variable: PLEX_PASSWORD + label: 'PLEX_PASSWORD' + description: "Container Variable PLEXPASSWORD" + schema: + type: string + default: "" + - variable: UMASK + label: 'UMASK' + description: "Container Variable UMASK" + 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} + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/autoscan/readme.md b/charts/dev/autoscan/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/autoscan/templates/common.yaml b/charts/dev/autoscan/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/autoscan/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/autoscan/values.yaml b/charts/dev/autoscan/values.yaml new file mode 100644 index 00000000000..f50d7678eef --- /dev/null +++ b/charts/dev/autoscan/values.yaml @@ -0,0 +1,24 @@ +env: + PLEX_LOGIN: '' + PLEX_PASSWORD: '' + UMASK: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/autoscan + tag: latest +persistence: + config: + enabled: true + mountPath: /config +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + main: + enabled: false + ports: + main: + enabled: false diff --git a/charts/dev/avorion/.helmignore b/charts/dev/avorion/.helmignore new file mode 100644 index 00000000000..4379e2b3014 --- /dev/null +++ b/charts/dev/avorion/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/dev/avorion/Chart.yaml b/charts/dev/avorion/Chart.yaml new file mode 100644 index 00000000000..2bac13b4264 --- /dev/null +++ b/charts/dev/avorion/Chart.yaml @@ -0,0 +1,30 @@ +annotations: + truecharts.org/SCALE-support: 'true' + truecharts.org/catagories: | + - GameServers + truecharts.org/grade: U +apiVersion: v2 +appVersion: 0.0.1 +dependencies: +- name: common + repository: https://library-charts.truecharts.org + version: 9.2.6 +deprecated: false +description: "This Docker will download and install SteamCMD. It will also install\ + \ Avorion and run it.\r\n" +home: https://github.com/truecharts/apps/tree/master/charts/stable/avorion +icon: https://truecharts.org/_static/img/appicons/avorion.png +keywords: +- avorion +- GameServers +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: avorion +sources: +- https://www.steampowered.com/ +- https://hub.docker.com/r/ich777/steamcmd/ +type: application +version: 0.0.1 diff --git a/charts/dev/avorion/icon.png b/charts/dev/avorion/icon.png new file mode 100644 index 00000000000..51d152e793a Binary files /dev/null and b/charts/dev/avorion/icon.png differ diff --git a/charts/dev/avorion/questions.yaml b/charts/dev/avorion/questions.yaml new file mode 100644 index 00000000000..c424706a8e0 --- /dev/null +++ b/charts/dev/avorion/questions.yaml @@ -0,0 +1,649 @@ +# 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: "565060" + - variable: GALAXY_NAME + label: 'GALAXY_NAME' + description: "Enter the Galaxy Name here (also the savepath will be the same as the Galaxy Name in the serverfiles folder, please use no spaces or special characters)." + schema: + type: string + default: "AvorionDocker" + - variable: GAME_PARAMS + label: 'GAME_PARAMS' + description: "Enter your start up commands for the server (for example the server admin --admin [YOURsteamID64] e.g --admin 123456789123456789 without quotes)." + schema: + type: string + default: "" + - 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: 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: 27000 + 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: 27000 + + - variable: hostport2 + label: 'hostport2 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: hostport2 + label: "hostport2 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: 27000 + 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: 27000 + - variable: hostport3 + label: 'hostport3 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: hostport3 + label: "hostport3 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: 27003 + 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: 27003 + - variable: hostport4 + label: 'hostport4 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: hostport4 + label: "hostport4 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: 27020 + 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: 27020 + - variable: hostport5 + label: 'hostport5 service' + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: hostport5 + label: "hostport5 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: 27021 + 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: 27021 + + + - 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: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# Include{persistenceAdvanced} + - variable: serverfiles + label: "serverfiles Storage" + description: "Container Path serverdataserverfiles" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: "Type of Storage" + description: "Sets the persistence type, Anything other than PVC could break rollback!" + schema: + type: string + default: "simplePVC" + enum: + - value: "simplePVC" + description: "PVC (simple)" + - value: "simpleHP" + description: "HostPath (simple)" + - value: "emptyDir" + description: "emptyDir" + - value: "pvc" + description: "pvc" + - value: "hostPath" + description: "hostPath" +# Include{persistenceBasic} + - variable: hostPath + label: "hostPath" + description: "Path inside the container the storage is mounted" + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: "EmptyDir Medium" + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: "Default" + - value: "Memory" + description: "Memory" +# 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/avorion/readme.md b/charts/dev/avorion/readme.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/dev/avorion/templates/common.yaml b/charts/dev/avorion/templates/common.yaml new file mode 100644 index 00000000000..f6d3b6d3a08 --- /dev/null +++ b/charts/dev/avorion/templates/common.yaml @@ -0,0 +1,2 @@ +{{/* Render the templates */}} +{{ include "common.all" . }} diff --git a/charts/dev/avorion/values.yaml b/charts/dev/avorion/values.yaml new file mode 100644 index 00000000000..83b844638a6 --- /dev/null +++ b/charts/dev/avorion/values.yaml @@ -0,0 +1,76 @@ +env: + GALAXY_NAME: AvorionDocker + GAME_ID: '565060' + GAME_PARAMS: '' + PASSWRD: '' + UMASK: '000' + USERNAME: '' + VALIDATE: '' +image: + pullPolicy: IfNotPresent + repository: tccr.io/truecharts/avorion + tag: latest +persistence: + serverfiles: + enabled: true + mountPath: /serverdata/serverfiles + steamcmd: + enabled: true + mountPath: /serverdata/steamcmd +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false +service: + hostport2: + enabled: true + ports: + hostport2: + enabled: true + port: 27000 + protocol: UDP + targetPort: 27000 + hostport3: + enabled: true + ports: + hostport3: + enabled: true + port: 27003 + protocol: UDP + targetPort: 27003 + hostport4: + enabled: true + ports: + hostport4: + enabled: true + port: 27020 + protocol: UDP + targetPort: 27020 + hostport5: + enabled: true + ports: + hostport5: + enabled: true + port: 27021 + protocol: UDP + targetPort: 27021 + main: + enabled: true + ports: + main: + enabled: true + port: 27000 + protocol: TCP + targetPort: 27000 +command: ["/bin/sh"] +args: ["-c", "groupmod -g ${GID} ${USER} && bash /opt/scripts/start.sh"] +tty: true +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false