From 912bfacb5e05b39486cadf522fb6a527a945a9a3 Mon Sep 17 00:00:00 2001 From: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> Date: Sat, 16 Sep 2023 11:36:59 -0400 Subject: [PATCH] migrate(spaceengineers) migrate to latest common **BREAKING CHANGES** (#12425) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** - Migrate to latest common - bump app version - housekeeping - storage. ⚒️ Fixes # **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [X] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [X] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [X] ⚖️ My code follows the style guidelines of this project - [X] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [X] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🪞 I have opened a PR on [truecharts/containers](https://github.com/truecharts/containers) adding the container to TrueCharts mirror repo. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --- charts/incubator/spaceengineers/Chart.yaml | 15 +-- .../incubator/spaceengineers/questions.yaml | 96 ++++++++++--------- .../spaceengineers/templates/NOTES.txt | 1 + .../spaceengineers/templates/common.yaml | 3 +- charts/incubator/spaceengineers/values.yaml | 88 ++++++++++------- 5 files changed, 115 insertions(+), 88 deletions(-) create mode 100644 charts/incubator/spaceengineers/templates/NOTES.txt diff --git a/charts/incubator/spaceengineers/Chart.yaml b/charts/incubator/spaceengineers/Chart.yaml index b1478ee3957..74c2a0cd706 100644 --- a/charts/incubator/spaceengineers/Chart.yaml +++ b/charts/incubator/spaceengineers/Chart.yaml @@ -1,15 +1,11 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - GameServers apiVersion: v2 appVersion: "latest" dependencies: - name: common repository: https://library-charts.truecharts.org - version: 11.1.2 + version: 14.0.3 deprecated: false -description: "Space Engineers Dedicated Server build on Debian10" +description: Space Engineers Dedicated Server. home: https://truecharts.org/charts/incubator/spaceengineers icon: https://truecharts.org/img/hotlink-ok/chart-icons/spaceengineers.png keywords: @@ -23,5 +19,10 @@ maintainers: name: spaceengineers sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/spaceengineers + - https://github.com/Devidian/docker-spaceengineers type: application -version: 2.0.11 +version: 3.0.0 +annotations: + truecharts.org/catagories: | + - GameServers + truecharts.org/SCALE-support: "true" diff --git a/charts/incubator/spaceengineers/questions.yaml b/charts/incubator/spaceengineers/questions.yaml index 623f2582b50..697a378427e 100644 --- a/charts/incubator/spaceengineers/questions.yaml +++ b/charts/incubator/spaceengineers/questions.yaml @@ -1,7 +1,5 @@ # Include{groups} -portals: - open: -# Include{portalLink} +portals: {} questions: # Include{global} # Include{workload} @@ -10,36 +8,29 @@ questions: # Include{replicas1} # Include{podSpec} # Include{containerMain} + # Include{containerBasic} # Include{containerAdvanced} - - variable: env - group: "App Configuration" - label: "Image Environment" + - variable: spaceengineers + group: App Configuration + label: SpaceEngineers schema: additional_attrs: true type: dict attrs: - - variable: WINEPREFIX - label: "WINEPREFIX" + - variable: instance_name + label: Instance Name schema: type: string - default: "/root/server" - - variable: WINEARCH - label: "WINEARCH" + default: "" + - variable: public_ip + label: Public IP + description: Public IP required for healthcheck schema: type: string - default: "win64" - - variable: WINEDEBUG - label: "WINEDEBUG" - schema: - type: string - default: "-all" - - variable: APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE - label: "APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE" - schema: - type: string - default: "1" + default: "" + # Include{containerConfig} # Include{serviceRoot} - variable: main @@ -64,53 +55,68 @@ questions: type: int default: 27017 required: true + - variable: api + label: API Service + description: The API service. + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: api + label: API 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: 18080 + required: true # Include{serviceExpertRoot} # Include{serviceExpert} # Include{serviceList} # Include{persistenceRoot} - variable: steamcmd - label: "steamcmd Storage" + label: App SteamCMD Storage + description: Stores the Application SteamCMD. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} + - variable: plugins + label: App Plugins Storage + description: Stores the Application Plugins. schema: additional_attrs: true type: dict attrs: # Include{persistenceBasic} - variable: serverfiles - label: "serverfiles Storage" + label: App Server Files Storage + description: Stores the Application Server Files. schema: additional_attrs: true type: dict attrs: # Include{persistenceBasic} - - variable: savegame - label: "savegame Storage" - schema: - additional_attrs: true - type: dict - attrs: -# Include{persistenceBasic} - - variable: serverconfig - label: "serverconfig Storage" + - variable: instances + label: App Instances Storage + description: Stores the Application Instances. schema: additional_attrs: true type: dict attrs: # Include{persistenceBasic} # Include{persistenceList} -# Include{ingressRoot} - - variable: main - label: "Main Ingress" - schema: - additional_attrs: true - type: dict - attrs: -# Include{ingressDefault} -# Include{ingressTLS} -# Include{ingressTraefik} -# Include{ingressAdvanced} # Include{ingressList} -# Include{securityContextRoot} +# Include{securityContextRoot} - variable: runAsUser label: "runAsUser" description: "The UserID of the user running the application" diff --git a/charts/incubator/spaceengineers/templates/NOTES.txt b/charts/incubator/spaceengineers/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/spaceengineers/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/spaceengineers/templates/common.yaml b/charts/incubator/spaceengineers/templates/common.yaml index cbf66c20818..b51394e00a4 100644 --- a/charts/incubator/spaceengineers/templates/common.yaml +++ b/charts/incubator/spaceengineers/templates/common.yaml @@ -1,2 +1 @@ -{{/* Render the templates */}} -{{ include "tc.common.loader.all" . }} +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/spaceengineers/values.yaml b/charts/incubator/spaceengineers/values.yaml index 8d35d62c829..ed709dd79dd 100644 --- a/charts/incubator/spaceengineers/values.yaml +++ b/charts/incubator/spaceengineers/values.yaml @@ -1,45 +1,65 @@ -env: - APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE: "1" - WINEARCH: win64 - WINEDEBUG: -all - WINEPREFIX: /root/server image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/spaceengineers - tag: latest@sha256:d723fd62a81af374f11b21ba3a265520c499baf53e77d9018ec4e60c4cb415ac -persistence: - savegame: - enabled: true - mountPath: /appdata/space-engineers/instances/Saves/ - serverconfig: - enabled: true - mountPath: /appdata/space-engineers/instances - serverfiles: - enabled: true - mountPath: /appdata/space-engineers/SpaceEngineersDedicated - steamcmd: - enabled: true - mountPath: /serverdata/steamcmd -podSecurityContext: - runAsGroup: 0 - runAsUser: 0 -probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false + tag: latest@sha256:5485c3fe13e73608d6f1f212ac7868dc91096e491ca6c556d20eeb1791da7447 + securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false + container: + runAsNonRoot: false + readOnlyRootFilesystem: false + runAsUser: 0 + runAsGroup: 0 + service: main: ports: main: + protocol: udp + targetPort: 27016 port: 27017 - protocol: UDP - targetPort: 27017 + api: + enabled: true + ports: + api: + protocol: http + enabled: true + targetPort: 8080 + port: 18080 + +spaceengineers: + instance_name: "TestInstance" + public_ip: "1.2.3.4" + +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + env: + INSTANCE_NAME: "{{ .Values.spaceengineers.instance_name }}" + PUBLIC_IP: "{{ .Values.spaceengineers.public_ip }}" + +persistence: + steamcmd: + enabled: true + mountPath: /root/.steam + plugins: + enabled: true + mountPath: /appdata/space-engineers/plugins + serverfiles: + enabled: true + mountPath: /appdata/space-engineers/SpaceEngineersDedicated + instances: + enabled: true + mountPath: /appdata/space-engineers/instances portal: - enabled: true + open: + enabled: false