From 5f50f730b10b5443dc333e190c8761016d169242 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Fri, 4 Feb 2022 21:06:27 +0100 Subject: [PATCH] feat(apps): add games train and two gameservers (#1839) * feat(apps): add games train and two gameservers * nightly ftw * move to tccr * whoops * another whoops * some cleanup * setup impostor ci --- .github/workflows/apps.test.yaml | 6 + .github/workflows/renovate-bump.yaml | 6 + charts/games/imposter-server/.helmignore | 24 + charts/games/imposter-server/Chart.yaml | 27 + .../games/imposter-server/ci/base-values.yaml | 0 charts/games/imposter-server/ci/values.yaml | 4 + charts/games/imposter-server/questions.yaml | 308 +++++++++++ .../imposter-server/templates/common.yaml | 1 + charts/games/imposter-server/values.yaml | 43 ++ charts/games/minecraft-bedrock/.helmignore | 24 + charts/games/minecraft-bedrock/Chart.yaml | 28 + charts/games/minecraft-bedrock/questions.yaml | 483 ++++++++++++++++++ .../minecraft-bedrock/templates/common.yaml | 1 + charts/games/minecraft-bedrock/values.yaml | 62 +++ .../img/appicons/impostor-server-icon.png | Bin 0 -> 64934 bytes .../img/appicons/minecraft-bedrock-icon.png | Bin 0 -> 25038 bytes tools/bump.sh | 2 +- 17 files changed, 1018 insertions(+), 1 deletion(-) create mode 100644 charts/games/imposter-server/.helmignore create mode 100644 charts/games/imposter-server/Chart.yaml create mode 100644 charts/games/imposter-server/ci/base-values.yaml create mode 100644 charts/games/imposter-server/ci/values.yaml create mode 100644 charts/games/imposter-server/questions.yaml create mode 100644 charts/games/imposter-server/templates/common.yaml create mode 100644 charts/games/imposter-server/values.yaml create mode 100644 charts/games/minecraft-bedrock/.helmignore create mode 100644 charts/games/minecraft-bedrock/Chart.yaml create mode 100644 charts/games/minecraft-bedrock/questions.yaml create mode 100644 charts/games/minecraft-bedrock/templates/common.yaml create mode 100644 charts/games/minecraft-bedrock/values.yaml create mode 100644 docs/_static/img/appicons/impostor-server-icon.png create mode 100644 docs/_static/img/appicons/minecraft-bedrock-icon.png diff --git a/.github/workflows/apps.test.yaml b/.github/workflows/apps.test.yaml index ce4a0f205d5..ba6eceaa68f 100644 --- a/.github/workflows/apps.test.yaml +++ b/.github/workflows/apps.test.yaml @@ -34,6 +34,8 @@ jobs: - 'charts/dependency/**' - 'charts/library/**' - 'charts/core/**' + - 'charts/enterprise/**' + - 'charts/games/**' - run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json - id: reduce run: | @@ -90,6 +92,10 @@ jobs: train="dependency" elif test -f "./charts/core/${{ matrix.app }}/Chart.yaml"; then train="core" + elif test -f "./charts/games/${{ matrix.app }}/Chart.yaml"; then + train="games" + elif test -f "./charts/enterprise/${{ matrix.app }}/Chart.yaml"; then + train="enterprise" else train="incubator" fi diff --git a/.github/workflows/renovate-bump.yaml b/.github/workflows/renovate-bump.yaml index 8e523e1b655..e4f54f0923e 100644 --- a/.github/workflows/renovate-bump.yaml +++ b/.github/workflows/renovate-bump.yaml @@ -34,6 +34,8 @@ jobs: - 'charts/library/**' - 'charts/dependency/**' - 'charts/core/**' + - 'charts/enterprise/**' + - 'charts/games/**' - name: Filter filter-output run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json - name: Bump @@ -55,6 +57,10 @@ jobs: train="dependency" elif test -f "./charts/core/${chart}/Chart.yaml"; then train="core" + elif test -f "./charts/games/${{ matrix.app }}/Chart.yaml"; then + train="games" + elif test -f "./charts/enterprise/${{ matrix.app }}/Chart.yaml"; then + train="enterprise" else train="incubator" fi diff --git a/charts/games/imposter-server/.helmignore b/charts/games/imposter-server/.helmignore new file mode 100644 index 00000000000..e559de0a012 --- /dev/null +++ b/charts/games/imposter-server/.helmignore @@ -0,0 +1,24 @@ +# 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 diff --git a/charts/games/imposter-server/Chart.yaml b/charts/games/imposter-server/Chart.yaml new file mode 100644 index 00000000000..55a1a43ef09 --- /dev/null +++ b/charts/games/imposter-server/Chart.yaml @@ -0,0 +1,27 @@ +apiVersion: v2 +appVersion: "nightly" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.14.4 +deprecated: false +description: A private Among Us server +home: https://github.com/truecharts/apps/tree/master/charts/games/impostor-server +icon: https://truecharts.org/_static/img/appicons/impostor-server-icon.png +keywords: +- imposter-server +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: imposter-server +sources: + - https://github.com/truecharts/apps/tree/master/incubator/imposter-server +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - games + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/games/imposter-server/ci/base-values.yaml b/charts/games/imposter-server/ci/base-values.yaml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/charts/games/imposter-server/ci/values.yaml b/charts/games/imposter-server/ci/values.yaml new file mode 100644 index 00000000000..f071d77e4a3 --- /dev/null +++ b/charts/games/imposter-server/ci/values.yaml @@ -0,0 +1,4 @@ +image: + repository: tccr.io/truecharts/impostor-server-nightly + pullPolicy: IfNotPresent + tag: vnightly@sha256:b80672dfa902a5c0fa485031f63c702899f182dc0d3af84e97718049a0af2399 diff --git a/charts/games/imposter-server/questions.yaml b/charts/games/imposter-server/questions.yaml new file mode 100644 index 00000000000..b7ec77dd1ca --- /dev/null +++ b/charts/games/imposter-server/questions.yaml @@ -0,0 +1,308 @@ +# Include{groups} +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true +# Include{global} + - variable: imageSelector + group: "Container Image" + label: "Select Image" + schema: + type: string + default: "image" + enum: + - value: "image" + description: "Stable" + - value: "nightlyImage" + description: "Nightly" + + - 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: +# Include{fixedEnv} + - variable: PUID + label: "Run as User" + schema: + type: int + default: "568" + - variable: IMPOSTOR_Server__PublicIp + label: "Server Public IP" + schema: + type: string + required: true + default: "127.0.0.1" + - variable: IMPOSTOR_Server__ListenIp + label: "Server Listen IP" + schema: + type: string + required: true + default: "0.0.0.0" + - variable: IMPOSTOR_AntiCheat__Enabled + label: "Enable/Disable Anti Cheat" + schema: + type: boolean + required: false + default: true + - variable: IMPOSTOR_AntiCheat__BanIpFromGame + label: "Enable/Disable Anti Cheat Ban IP" + schema: + type: boolean + required: false + default: true + - variable: debug + label: "Show Debug settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: IMPOSTOR_Debug__GameRecorderEnabled + label: "Enable/Disable Game Recorder" + schema: + type: boolean + required: false + default: false + - variable: IMPOSTOR_Debug__GameRecorderPath + label: "Game Recorder Path" + schema: + type: string + required: false + 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: 22023 + 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: 22023 + + - 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} + + - 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: true +# 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - 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/games/imposter-server/templates/common.yaml b/charts/games/imposter-server/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/games/imposter-server/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/games/imposter-server/values.yaml b/charts/games/imposter-server/values.yaml new file mode 100644 index 00000000000..72680b45a31 --- /dev/null +++ b/charts/games/imposter-server/values.yaml @@ -0,0 +1,43 @@ +image: + repository: tccr.io/truecharts/impostor-server + pullPolicy: IfNotPresent + tag: v1.6.0@sha256:789dda6ea04417d5a7abb9f0373e53ecab7a2cd7b77fa7fc8d9620d977b0e863 + +nightlyImage: + repository: tccr.io/truecharts/impostor-server-nightly + pullPolicy: IfNotPresent + tag: vnightly@sha256:b80672dfa902a5c0fa485031f63c702899f182dc0d3af84e97718049a0af2399 + +env: + PUID: 568 + USER_ID: "{{ .Values.env.PUID }}" + IMPOSTOR_Server__PublicIp: "127.0.0.1" + IMPOSTOR_Server__ListenIp: "0.0.0.0" + IMPOSTOR_AntiCheat__Enabled: true + IMPOSTOR_AntiCheat__BanIpFromGame: true + IMPOSTOR_Debug__GameRecorderEnabled: false + IMPOSTOR_Debug__GameRecorderPath: "" + +service: + main: + ports: + main: + protocol: UDP + port: 22023 + targetPort: 22023 + +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + enabled: false + + # -- Redainess probe configuration + # @default -- See below + readiness: + enabled: false + + # -- Startup probe configuration + # @default -- See below + startup: + enabled: false diff --git a/charts/games/minecraft-bedrock/.helmignore b/charts/games/minecraft-bedrock/.helmignore new file mode 100644 index 00000000000..e559de0a012 --- /dev/null +++ b/charts/games/minecraft-bedrock/.helmignore @@ -0,0 +1,24 @@ +# 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 diff --git a/charts/games/minecraft-bedrock/Chart.yaml b/charts/games/minecraft-bedrock/Chart.yaml new file mode 100644 index 00000000000..ccbcc702aef --- /dev/null +++ b/charts/games/minecraft-bedrock/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +appVersion: "2022.1.0" +dependencies: +- name: common + repository: https://truecharts.org + version: 8.14.4 +deprecated: false +description: Minecraft Bedrock Dedicated Server +home: https://github.com/truecharts/apps/tree/master/charts/games/minecraft-bedrock +icon: https://truecharts.org/_static/img/appicons/minecraft-bedrock-icon.png +keywords: +- minecraft +kubeVersion: '>=1.16.0-0' +maintainers: +- email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: minecraft-bedrock +sources: + - https://github.com/itzg/docker-minecraft-server + - https://hub.docker.com/r/itzg/minecraft-server +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - games + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/games/minecraft-bedrock/questions.yaml b/charts/games/minecraft-bedrock/questions.yaml new file mode 100644 index 00000000000..171fa92971c --- /dev/null +++ b/charts/games/minecraft-bedrock/questions.yaml @@ -0,0 +1,483 @@ +# Include{groups} +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" +questions: + - variable: portal + group: "Container Image" + label: "Configure Portal Button" + schema: + type: dict + hidden: true + attrs: + - variable: enabled + label: "Enable" + description: "enable the portal button" + schema: + hidden: true + editable: false + type: boolean + default: true +# 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: +# Include{fixedEnv} + - variable: PUID + label: "Run as User" + schema: + type: int + default: "568" + - variable: VERSION + label: "Minecraft version" + description: "Options: LATEST, PREVIOUS or version number" + schema: + type: string + required: true + default: "LATEST" + - variable: SERVER_NAME + label: "Server Name" + schema: + type: string + required: true + default: "Dedicated Server on TrueNAS Scale!" + - variable: GAMEMODE + label: "Default gamemode" + schema: + type: string + required: true + default: "survival" + enum: + - value: "survival" + description: "Survival" + - value: "creative" + description: "Creative" + - value: "adventure" + description: "Adventure" + - value: "spectator" + description: "Spectator" + - variable: DIFFICULTY + label: "Difficulty" + schema: + type: string + required: true + default: "easy" + enum: + - value: "peaceful" + description: "Peaceful" + - value: "easy" + description: "Easy" + - value: "normal" + description: "Normal" + - value: "hard" + description: "Hard" + - variable: LEVEL_TYPE + label: "Level type" + schema: + type: string + required: true + default: "DEFAULT" + enum: + - value: "DEFAULT" + description: "Default" + - value: "FLAT" + description: "Flat" + - value: "LEGACY" + description: "Legacy" + - variable: ALLOW_CHEATS + label: "Enable/Disable Cheats" + schema: + type: boolean + required: false + default: false + - variable: MAX_PLAYERS + label: "Max players" + schema: + type: int + min: 1 + required: true + default: 10 + - variable: ONLINE_MODE + label: "Online mode" + schema: + type: boolean + required: false + default: true + - variable: WHITE_LIST + label: "White list" + schema: + type: boolean + required: false + default: false + - variable: VIEW_DISTANCE + label: "View distance" + schema: + type: int + min: 1 + required: true + default: 32 + - variable: TICK_DISTANCE + label: "Tick distance" + schema: + type: int + min: 1 + required: true + default: 4 + - variable: PLAYER_IDLE_TIMEOUT + label: "Player idle timeout" + schema: + type: int + min: 1 + required: true + default: 30 + - variable: MAX_THREADS + label: "Max threads" + schema: + type: int + min: 1 + required: true + default: 8 + - variable: LEVEL_NAME + label: "Level name" + schema: + type: string + required: true + default: "Bedrock level" + - variable: LEVEL_SEED + label: "Level seed" + schema: + type: string + required: false + default: "" + - variable: DEFAULT_PLAYER_PERMISSION_LEVEL + label: "Default player permission level" + schema: + type: string + required: true + default: "member" + enum: + - value: "visitor" + description: "Visitor" + - value: "member" + description: "Member" + - value: "operator" + description: "Operator" + - variable: TEXTUREPACK_REQUIRED + label: "Require texturepack" + schema: + type: boolean + required: false + default: false + - variable: SERVER_AUTHORITATIVE_MOVEMENT + label: "Server authoritave movement" + schema: + type: string + required: true + default: "server-auth" + enum: + - value: "client-auth" + description: "client-auth" + - value: "server-auth" + description: "server-auth" + - value: "server-auth-with-rewind" + description: "server-auth-with-rewind" + - variable: PLAYER_MOVEMENT_SCORE_THRESHOLD + label: "Player movement score threshold" + schema: + type: int + min: 1 + required: true + default: 20 + - variable: PLAYER_MOVEMENT_DISTANCE_THRESHOLD + label: "Player movement distance threshold" + schema: + type: string + required: true + default: "0.3" + - variable: PLAYER_MOVEMENT_DURATION_THRESHOLD_IN_MS + label: "Player movement duration threshold in MS" + schema: + type: int + min: 1 + required: true + default: 500 + - variable: CORRECT_PLAYER_MOVEMENT + label: "Enable/Disable Player movement correction" + schema: + type: boolean + required: false + default: false + +# 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: 19132 + 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: 19132 + + - 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: "App Config Storage" + description: "Stores the Application Configuration." + 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} + + - 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: true +# 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: 568 + - variable: runAsGroup + label: "runAsGroup" + description: The groupID this App of the user running the application" + schema: + type: int + default: 568 + - 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/games/minecraft-bedrock/templates/common.yaml b/charts/games/minecraft-bedrock/templates/common.yaml new file mode 100644 index 00000000000..a6613c2ce21 --- /dev/null +++ b/charts/games/minecraft-bedrock/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/games/minecraft-bedrock/values.yaml b/charts/games/minecraft-bedrock/values.yaml new file mode 100644 index 00000000000..057fb1894a4 --- /dev/null +++ b/charts/games/minecraft-bedrock/values.yaml @@ -0,0 +1,62 @@ +image: + repository: tccr.io/truecharts/minecraft-bedrock + tag: 2022.1.0@sha256:63fbf9347350871633418621dcf46bde8d36b647ff1c6f24555aa1487bd62698 + pullPolicy: Always + +env: + UID: "{{ .Values.env.PUID }}" + GID: "{{ .Values.podSecurityContext.fsGroup }}" + EULA: "TRUE" + VERSION: "LATEST" + SERVER_NAME: "TrueCharts Dedicated Server!" + SERVER_PORT: "{{ .Values.service.main.ports.main.targetPort }}" + SERVER_PORT_V6: "{{ .Values.service.main.ports.main.targetPort }}" + GAMEMODE: "survival" + DIFFICULTY: "easy" + LEVEL_TYPE: "DEFAULT" + ALLOW_CHEATS: false + MAX_PLAYERS: 10 + ONLINE_MODE: true + WHITE_LIST: false + VIEW_DISTANCE: 32 + TICK_DISTANCE: 4 + PLAYER_IDLE_TIMEOUT: 30 + MAX_THREADS: 8 + LEVEL_NAME: "Bedrock level" + LEVEL_SEED: "" + DEFAULT_PLAYER_PERMISSION_LEVEL: "member" + TEXTUREPACK_REQUIRED: false + SERVER_AUTHORITATIVE_MOVEMENT: server-auth + PLAYER_MOVEMENT_SCORE_THRESHOLD: 20 + PLAYER_MOVEMENT_DISTANCE_THRESHOLD: 0.3 + PLAYER_MOVEMENT_DURATION_THRESHOLD_IN_MS: 500 + CORRECT_PLAYER_MOVEMENT: false + +persistence: + config: + enabled: true + mountPath: "/data" + +service: + main: + ports: + main: + port: 19132 + targetPort: 19132 + protocol: UDP + +probes: + # -- Liveness probe configuration + # @default -- See below + liveness: + enabled: false + + # -- Redainess probe configuration + # @default -- See below + readiness: + enabled: false + + # -- Startup probe configuration + # @default -- See below + startup: + enabled: false diff --git a/docs/_static/img/appicons/impostor-server-icon.png b/docs/_static/img/appicons/impostor-server-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..173f648af90e608245bab39352d98932dfa2ea41 GIT binary patch literal 64934 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 ?-mhP=XI`-Ghtg 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 literal 0 HcmV?d00001 diff --git a/tools/bump.sh b/tools/bump.sh index 23406a7083d..961a3df566b 100755 --- a/tools/bump.sh +++ b/tools/bump.sh @@ -40,7 +40,7 @@ function incr_semver() { BUMPTYPE=${1} if [ -z ${2+x} ]; then -for train in stable incubator develop non-free deprecated dependency core; do +for train in stable incubator games enterprise develop non-free deprecated dependency core; do for chart in charts/${train}/*; do if [ -d "${chart}" ]; then echo "Bumping patch version for ${train}/${chart}"