feat(apps): add 2 more gameservers (#1840)

* feat(apps): add 2 more gameservers

* add icons

* first image done

* set some

* statusfactory runas to root

* minecraft-java ci containers set

* fix statis indent

* more

* fix satis

* CI fixes

* more fixes

* fix versioning mistake
This commit is contained in:
Kjeld Schouten-Lebbing
2022-02-04 22:57:41 +01:00
committed by GitHub
parent eafe265a04
commit 715879e29a
19 changed files with 1537 additions and 6 deletions
+2 -2
View File
@@ -142,7 +142,7 @@
"updateTypes": ["major"],
"bumpVersion": "minor",
"labels": ["update/docker/general/major"],
"paths": ["charts/dependency/", "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "charts/core/", "templates/app/"],
"paths": ["charts/dependency/", "charts/games/", "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "charts/core/", "templates/app/"],
"schedule": [
"after 1am and before 2am on monday"
],
@@ -159,7 +159,7 @@
"bumpVersion": "patch",
"labels": ["update/docker/general/non-major"],
"groupName": ["docker general non-major"],
"paths": ["charts/dependency/", "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "charts/core/", "templates/app/"],
"paths": ["charts/dependency/", "charts/games/", "charts/incubator/", "charts/dev/", "charts/library/", "charts/stable/", "charts/core/", "templates/app/"],
"schedule": [
"after 1am and before 2am on monday"
],
+4 -4
View File
@@ -57,10 +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"
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
+24
View File
@@ -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
+28
View File
@@ -0,0 +1,28 @@
apiVersion: v2
appVersion: "21.26.0"
dependencies:
- name: common
repository: https://truecharts.org
version: 8.14.4
deprecated: false
description: Minecraft Java Dedicated Server
home: https://github.com/truecharts/apps/tree/master/charts/games/minecraft-java
icon: https://truecharts.org/_static/img/appicons/minecraft-java-icon.png
keywords:
- minecraft
kubeVersion: '>=1.16.0-0'
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: minecraft-java
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
@@ -0,0 +1,7 @@
image:
repository: tccr.io/truecharts/minecraft-java11
tag: latest@sha256:33b93b09ac060814fb5d985d472cfa0369a6de042eacb6306e125aa008be2eec
pullPolicy: Always
env:
VERSION: "1.16.1"
@@ -0,0 +1,7 @@
image:
repository: tccr.io/truecharts/minecraft-java11-openj9
tag: latest@sha256:248ecbdca94efa8ab7c0b0437a0b59ba82ca9dabe6cd1f90a8cbd43319f15b82
pullPolicy: Always
env:
VERSION: "1.16.1"
@@ -0,0 +1,7 @@
image:
repository: tccr.io/truecharts/minecraft-java8-openj9
tag: latest@sha256:3e606f04009ab1341ed119a9d10cb83a444d942e61a3f446281d9d17c1f84c04
pullPolicy: Always
env:
VERSION: "1.16.1"
@@ -0,0 +1,7 @@
image:
repository: tccr.io/truecharts/minecraft-java11-openj9
tag: latest@sha256:6abc50828cd72c26e1258af759f9fff091db01ac13253b13bd548e3ef2f359e6
pullPolicy: Always
env:
VERSION: "1.16.1"
+776
View File
@@ -0,0 +1,776 @@
# 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: "Java 17 HotSpot"
- value: "j11Image"
description: "Java 11 HotSpot"
- value: "j11j9Image"
description: "Java 11 OpenJ9"
- value: "j8Image"
description: "Java 8 HotSpot"
- value: "j8j9Image"
description: "Java 8 OpenJ9"
- 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: EULA
label: "Minecraft Eula - Link in readme sources"
schema:
type: boolean
required: true
default: false
- variable: VERSION
label: "Minecraft Version - LATEST, SNAPSHOT, or verison"
schema:
type: string
required: true
default: "LATEST"
- variable: TYPE
label: "Server Type"
schema:
type: string
required: true
default: "VANILLA"
enum:
- value: "VANILLA"
description: "Vanilla"
- value: "FORGE"
description: "Forge"
- value: "FABRIC"
description: "Fabric"
- value: "SPIGOT"
description: "Spigot"
- value: "BUKKIT"
description: "Bukkit"
- value: "PAPER"
description: "Paper"
- value: "AIRPLANE"
description: "Airplane"
- value: "PURPUR"
description: "Purpur"
- value: "MAGMA"
description: "Magma"
- value: "MOHIST"
description: "Mohist"
- value: "CATSERVER"
description: "Catserver"
- value: "CANYON"
description: "Canyon"
- value: "SPONGEVANILLA"
description: "Sponge Vanilla"
- value: "LIMBO"
description: "Limbo"
- value: "CRUCIBLE"
description: "Crucible"
- value: "FTBA"
description: "FTBA"
- value: "CURSEFORGE"
description: "Curseforge"
- variable: FORGEVERSION
label: "Forge Version"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FORGE"]]
- variable: FORGE_INSTALLER
label: "Forge Installer"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FORGE"]]
- variable: FORGE_INSTALLER_URL
label: "Forge Installer URL"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FORGE"]]
- variable: FABRIC_LOADER_VERSION
label: "Fabric Loader Version"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FABRIC"]]
- variable: FABRIC_INSTALLER
label: "Fabric Installer"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FABRIC"]]
- variable: FABRIC_INSTALLER_URL
label: "Fabric Installer URL"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FABRIC"]]
- variable: SPIGOT_DOWNLOAD_URL
label: "Spigot Download URL"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "SPIGOT"]]
- variable: BUILD_FROM_SOURCE
label: "Build Spigot from Source?"
schema:
type: boolean
required: false
default: false
show_if: [[TYPE, "=", "SPIGOT"]]
- variable: BUKKIT_DOWNLOAD_URL
label: "Bukkit Download URL"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "BUKKIT"]]
- variable: PAPERBUILD
label: "Paper Build Number"
schema:
type: int
required: false
default: 0
show_if: [[TYPE, "=", "PAPER"]]
- variable: PAPER_DOWNLOAD_URL
label: "Paper Download URL"
schema:
type: int
required: false
default: 0
show_if: [[TYPE, "=", "PAPER"]]
- variable: PACKWIZ_URL
label: "Packwiz URL"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "PAPER"]]
- variable: AIRPLANE_BUILD
label: "Airplane Build"
schema:
type: string
required: false
default: "lastSuccessfulBuild"
show_if: [[TYPE, "=", "AIRPLANE"]]
- variable: USE_FLARE_FLAGS
label: "Enable to add appropriate flags for the Flare profiler"
schema:
type: boolean
required: false
default: false
show_if: [[TYPE, "=", "AIRPLANE"]]
- variable: MAGMA_CHANNEL
label: "Magma Channel"
schema:
type: string
required: false
default: "stable"
show_if: [[TYPE, "=", "MAGMA"]]
- variable: MOHIST_BUILD
label: "Mohist Build"
schema:
type: int
required: false
default: 0
show_if: [[TYPE, "=", "MOHIST"]]
- variable: CANYON_BUILD
label: "Canyon Build"
schema:
type: int
required: false
default: 0
show_if: [[TYPE, "=", "CANYON"]]
- variable: SPONGEBRANCH
label: "Sponge Branch"
schema:
type: string
required: false
default: "STABLE"
show_if: [[TYPE, "=", "SPONGEVANILLA"]]
- variable: SPONGEVERSION
label: "Sponge Version"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "SPONGEVANILLA"]]
- variable: LIMBO_BUILD
label: "Limbo Build"
schema:
type: string
required: false
default: "LATEST"
show_if: [[TYPE, "=", "LIMBO"]]
- variable: LIMBO_SCHEMA_FILENAME
label: "Limbo Schema Filename"
schema:
type: string
required: false
default: "default.schem"
show_if: [[TYPE, "=", "LIMBO"]]
- variable: CRUCIBLE_RELEASE
label: "Crucible Release"
schema:
type: string
required: false
default: "latest"
show_if: [[TYPE, "=", "CRUCIBLE"]]
- variable: FTB_MODPACK_ID
label: "FTB Modpack ID"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FTBA"]]
- variable: FTB_MODPACK_VERSION_ID
label: "FTB Modpack Version ID"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "FTBA"]]
- variable: CF_SERVER_MOD
label: "CF Server Mod"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "CURSEFORGE"]]
- variable: CF_BASE_DIR
label: "CF Base Dir"
schema:
type: string
required: false
default: ""
show_if: [[TYPE, "=", "CURSEFORGE"]]
- variable: USE_MODPACK_START_SCRIPT
label: "Use Modpack Start Script"
schema:
type: boolean
required: false
default: true
show_if: [[TYPE, "=", "CURSEFORGE"]]
- variable: FTB_LEGACYJAVAFIXER
label: "Fix for \"unable to launch forgemodloader\""
schema:
type: boolean
required: false
default: false
show_if: [[TYPE, "=", "CURSEFORGE"]]
- 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: WHITELIST
label: "Whitelist"
schema:
type: string
required: false
default: ""
- variable: OPS
label: "OPs"
schema:
type: string
required: false
default: ""
- variable: ICON
label: "URL to Server Icon"
schema:
type: string
required: false
default: ""
- variable: MAX_PLAYERS
label: "Max Connected Players"
schema:
type: int
required: true
default: 20
- variable: MAX_WORLD_SIZE
label: "World Border Radius in blocks"
schema:
type: int
required: true
default: 10000
- variable: ALLOW_NETHER
label: "Enable/Disable Nether"
schema:
type: boolean
required: false
default: true
- variable: ANNOUNCE_PLAYER_ACHIEVEMENTS
label: "Enable/Disable Announceing Player Achievements"
schema:
type: boolean
required: false
default: true
- variable: ENABLE_COMMAND_BLOCK
label: "Enable/Disable Command Blocks"
schema:
type: boolean
required: false
default: false
- variable: FORCE_GAMEMODE
label: "Enable/Disable Force Gamemode"
schema:
type: boolean
required: false
default: false
- variable: GENERATE_STRUCTURES
label: "Enable/Disable Generate Structures"
schema:
type: boolean
required: false
default: true
- variable: HARDCORE
label: "Enable/Disable Hardcore Mode"
schema:
type: boolean
required: false
default: false
- variable: MAX_BUILD_HEIGHT
label: "Max World Build Height"
schema:
type: int
required: true
default: 256
- variable: MAX_TICK_TIME
label: "Max Tick Time"
schema:
type: int
required: true
default: 60000
- variable: SPAWN_ANIMALS
label: "Enable/Disable Spawning Animals"
schema:
type: boolean
required: false
default: true
- variable: SPAWN_MONSTERS
label: "Enable/Disable Spawning Monsters"
schema:
type: boolean
required: false
default: true
- variable: SPAWN_NPCS
label: "Enable/Disable Spawning NPCs"
schema:
type: boolean
required: false
default: true
- variable: VIEW_DISTANCE
label: "Server View Distance"
schema:
type: int
required: true
default: 10
- variable: SEED
label: "Level Seed"
schema:
type: string
required: false
default: ""
- variable: MODE
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: MOTD
label: "Server Message of the Day"
schema:
type: string
required: false
default: "Welcome to Minecraft on TrueNAS Scale!"
- variable: PVP
label: "Enable/Disable PVP"
schema:
type: boolean
required: false
default: false
- variable: LEVEL_TYPE
label: "Level Type"
schema:
type: string
required: true
default: "DEFAULT"
- variable: GENERATOR_SETTINGS
label: "Generator Settings"
schema:
type: string
required: false
default: ""
- variable: LEVEL
label: "World Save Name"
schema:
type: string
required: true
default: "world"
- variable: WORLD
label: "URL of world download"
schema:
type: string
required: false
default: ""
- variable: FORCE_REDOWNLOAD
label: "Force redownload server files"
schema:
type: string
required: false
default: ""
- variable: ONLINE_MODE
label: "Enable/Disable Online Mode"
schema:
type: boolean
required: false
default: true
- variable: advanced
label: "Show Advanced Server Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MEMORY
label: "Server Memory"
schema:
type: string
required: true
default: "2048M"
- variable: JVM_OPTS
label: "JVM Options"
schema:
type: string
required: false
default: ""
- variable: JVM_XX_OPTS
label: "JVM -X Options"
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: 25565
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: 25565
- 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: "App Data 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}
@@ -0,0 +1 @@
{{ include "common.all" . }}
+62
View File
@@ -0,0 +1,62 @@
image:
repository: tccr.io/truecharts/minecraft-java
tag: 21.26.0@sha256:faf49a0177e95e3af763dd5fddb9077885870055364edbf194a1b94eaeaf4641
pullPolicy: Always
j11Image:
repository: tccr.io/truecharts/minecraft-java11
tag: latest@sha256:33b93b09ac060814fb5d985d472cfa0369a6de042eacb6306e125aa008be2eec
pullPolicy: Always
j11j9Image:
repository: tccr.io/truecharts/minecraft-java11-openj9
tag: latest@sha256:248ecbdca94efa8ab7c0b0437a0b59ba82ca9dabe6cd1f90a8cbd43319f15b82
pullPolicy: Always
j8Image:
repository: tccr.io/truecharts/minecraft-java8-openj9
tag: latest@sha256:3e606f04009ab1341ed119a9d10cb83a444d942e61a3f446281d9d17c1f84c04
pullPolicy: Always
j8j9Image:
repository: tccr.io/truecharts/minecraft-java8-openj9
tag: latest@sha256:6abc50828cd72c26e1258af759f9fff091db01ac13253b13bd548e3ef2f359e6
pullPolicy: Always
portal:
enabled: false
env:
EULA: "TRUE"
VERSION: "LATEST"
TYPE: "VANILLA"
DIFFICULTY: easy
MAX_PLAYERS: 20
MAX_WORLD_SIZE: 10000
ALLOW_NETHER: true
ANNOUNCE_PLAYER_ACHIEVEMENTS: true
ENABLE_COMMAND_BLOCK: false
FORCE_GAMEMODE: false
GENERATE_STRUCTURES: true
HARDCORE: false
MAX_BUILD_HEIGHT: 256
MAX_TICK_TIME: 60000
SPAWN_ANIMALS: true
SPAWN_MONSTERS: true
SPAWN_NPCS: true
VIEW_DISTANCE: 16
MODE: survival
MOTD: "Welcome to Minecraft on TrueNAS Scale!"
PVP: false
LEVEL_TYPE: DEFAULT
LEVEL: world
ONLINE_MODE: true
MEMORY: 2048M
persistence:
data:
enabled: true
mountPath: "/data"
service:
main:
ports:
main:
port: 25565
targetPort: 25565
+24
View File
@@ -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
+28
View File
@@ -0,0 +1,28 @@
apiVersion: v2
appVersion: "1.2.3"
dependencies:
- name: common
repository: https://truecharts.org
version: 8.14.4
deprecated: false
description: Satisfactory Dedicated Server
home: https://github.com/truecharts/apps/tree/master/charts/games/Satisfactory
icon: https://truecharts.org/_static/img/appicons/Satisfactory -icon.png
keywords:
- satisfactory
kubeVersion: '>=1.16.0-0'
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: statisfactory
sources:
- https://github.com/wolveix/satisfactory-server
- https://hub.docker.com/r/wolveix/satisfactory-server
type: application
version: 0.0.1
annotations:
truecharts.org/catagories: |
- games
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
+485
View File
@@ -0,0 +1,485 @@
# 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: "PUID"
description: "Sets the PUID env var for LinuxServer.io (compatible) containers"
schema:
type: int
default: 568
- variable: AUTOPAUSE
label: "Enable/Disable Auto pause"
schema:
type: boolean
required: false
default: true
- variable: AUTOSAVEINTERVAL
label: "Auto save interval"
schema:
type: int
required: true
default: 300
- variable: AUTOSAVENUM
label: "Number of auto saves"
schema:
type: int
required: true
default: 3
- variable: AUTOSAVEONDISCONNECT
label: "Auto save on Disconnect"
schema:
type: boolean
required: false
default: true
- variable: CRASHREPORT
label: "Crash report"
schema:
type: boolean
required: false
default: true
- variable: DEBUG
label: "Debug"
schema:
type: boolean
required: false
default: false
- variable: DISABLESEASONALEVENTS
label: "Disable seasonal events"
schema:
type: boolean
required: false
default: false
- variable: MAXPLAYERS
label: "Max players"
schema:
type: int
required: true
default: 4
- variable: SKIPUPDATE
label: "Skip update"
schema:
type: boolean
required: false
default: false
- variable: STEAMBETA
label: "Steam beta"
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: 7777
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: 7777
- variable: beacon
label: "Beacon Service"
description: "The beacon service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: beacon
label: "Beacon 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: 15000
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: 15000
- variable: query
label: "Query 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: "Query 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: 15777
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: 15777
- 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}
@@ -0,0 +1 @@
{{ include "common.all" . }}
+74
View File
@@ -0,0 +1,74 @@
image:
repository: wolveix/satisfactory-server
pullPolicy: IfNotPresent
tag: v1.2.3@sha256:5860dbac9fc8cb2e6010b69e60e633d06e25e2a0152f8858a8f23acda7c3c719
env:
PUID: 568
AUTOPAUSE: true
AUTOSAVEINTERVAL: 300
AUTOSAVENUM: 3
AUTOSAVEONDISCONNECT: true
CRASHREPORT: true
DEBUG: false
DISABLESEASONALEVENTS: false
MAXPLAYERS: 4
SERVERBEACONPORT: "{{ .Values.service.beacon.ports.beacon.targetPort }}"
SERVERGAMEPORT: "{{ .Values.service.main.ports.main.targetPort }}"
SERVERIP: "0.0.0.0"
SERVERQUERYPORT: "{{ .Values.service.query.ports.query.targetPort }}"
SKIPUPDATE: false
STEAMBETA: false
securityContext:
runAsNonRoot: false
readOnlyRootFilesystem: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
persistence:
config:
enabled: true
mountPath: "/config"
service:
main:
ports:
main:
targetPort: 7777
port: 7777
protocol: UDP
beacon:
enabled: true
ports:
beacon:
enabled: true
port: 15000
targetPort: 15000
protocol: UDP
query:
enabled: true
ports:
query:
enabled: true
port: 15777
targetPort: 15777
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
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB