feat(bungeecord): Add bungeecord (#3257)

* feat(bungeecord): Add bungeecord

* update docs

* update files

* update docs

* update files

* update chart.yaml

* cleanup

* no message

* fix required

* 25565 is tcp

* update the repo images

* update images

* spelling grammar

* Update charts/incubator/minecraft-bungeecord/values.yaml

* Update charts/incubator/minecraft-bungeecord/questions.yaml

Co-authored-by: Stavros kois <s.kois@outlook.com>
Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>
This commit is contained in:
Xstar97
2022-07-22 11:40:42 -04:00
committed by GitHub
parent dc7b6829cf
commit 943eb4b1f7
10 changed files with 558 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: minecraft-bungeecord
version: 0.0.1
appVersion: "2022.4.1"
description: A Spigot BungeeCord server.
type: application
deprecated: false
home: https://github.com/truecharts/apps/tree/master/charts/incubator/minecraft-bungeecord
icon: https://truecharts.org/img/chart-icons/minecraft-bungeecord.png
keywords:
- gameserver
- minecraft
sources:
- https://hub.docker.com/r/itzg/bungeecord
- https://github.com/itzg/docker-bungeecord
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.4.5
# condition:
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
annotations:
truecharts.org/catagories: |
- games
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@@ -0,0 +1,4 @@
image:
repository: itzg/bungeecord
tag: java11-2022.4.1@sha256:fe5af3659c3e25b110edf83025a15725988770baee340ceecd97822bac6dcc09
pullPolicy: Always

View File

@@ -0,0 +1,4 @@
image:
repository: itzg/bungeecord
tag: java8-2022.4.1@sha256:b949350264b2eab450fc68485defd9c9c1cd281c012250493a1670ad38a88848
pullPolicy: Always

View File

@@ -0,0 +1,7 @@
# Installation Notes
- Set `Select Image` to one of the values from the list. `Java 17`, `Java 11`, `Java 8`. Default is `Java 17`.
- Set `ENABLE_RCON` to **true**, to enable RCON server.
- Set `RCON_PASSWORD` to a SuperSecurePassword.
- Set `REPLACE_ENV_VARIABLES` to **true**, to replace variables that match your defined environment variables in all the files in /server.
- Set `ONLINE_MODE` _MUST_ be set to **false** which is required by bungeecord.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,446 @@
# Include{groups}
portals: {}
questions:
# Include{global}
- variable: imageSelector
group: "Container Image"
label: "Select Image"
schema:
type: string
default: "image"
enum:
- value: "image"
description: "Default Image"
- value: "J17Image"
description: "Java 17"
- value: "j11Image"
description: "Java 11"
- value: "j8Image"
description: "Java 8"
- 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: secretEnv
group: "Container Configuration"
label: "Image Secrets"
schema:
additional_attrs: true
type: dict
attrs:
- variable: RCON_PASSWORD
label: "RCON Password"
description: "This uses a third-party plugin to work, orblazer/bungee-rcon, which is automatically downloaded"
schema:
type: string
private: true
default: ""
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: TYPE
label: "Server Type"
description: "The type of the server. When the type is set to CUSTOM, the environment setting BUNGEE_JAR_URL is required."
schema:
type: string
required: true
default: "WATERFALL"
enum:
- value: "BUNGEECORD"
description: "Bungeecord"
- value: "WATERFALL"
description: "Waterfall"
- value: "VELOCITY"
description: "Velocity"
- value: "CUSTOM"
description: "Custom"
- variable: BUNGEE_JAR_URL
label: "Bunge Jar URL"
description: "Used to download a comma separated list of *.jar urls to the plugins folder."
schema:
type: string
default: ""
required: true
show_if: [[TYPE, "=", "CUSTOM"]]
- variable: PLUGINS
label: "Plugins"
description: "Used to download a comma separated list of *.jar urls to the plugins folder."
schema:
type: string
default: ""
- variable: SPIGET_PLUGINS
label: "Spiget Plugins"
description: "The SPIGET_PLUGINS variable can be set with a comma-separated list of SpigotMC resource IDs."
schema:
type: string
default: ""
- variable: ENABLE_RCON
label: "Enable RCON"
schema:
type: boolean
default: true
- variable: REPLACE_ENV_VARIABLES
label: "Replace Env Variables"
description: "Replace variables that match your defined environment variables in all the files in /server."
schema:
type: boolean
default: false
- variable: ONLINE_MODE
label: "Enable Online Mode"
description: "MUST set to false which is required by bungeecord"
schema:
type: boolean
default: false
- variable: advancedenvironment
label: "Show Advanced Server Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: MEMORY
label: "Memory"
description: "The Java memory heap size to specify to the JVM."
schema:
type: string
required: true
default: "512M"
- variable: INIT_MEMORY
label: "Init Memory"
description: "Can be set to use a different initial heap size."
schema:
type: string
required: true
default: "512M"
- variable: MAX_MEMORY
label: "Max Memory"
description: "Can be set to use a different max heap size."
schema:
type: string
required: true
default: "512M"
- variable: NETWORKADDRESS_CACHE_TTL
label: "Network Address Cache TTL"
description: "Number of seconds to cache the successful network address lookups."
schema:
type: int
default: 60
- variable: JVM_OPTS
label: "JVM Options"
schema:
type: string
default: ""
- variable: JVM_XX_OPTS
label: "JVM -X Options"
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: 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: 25577
- variable: rcon
label: "RCON Service"
description: "RCON service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: rcon
label: "RCON 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: 25578
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: 25578
- 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:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: server
label: "App Server Storage"
description: "Stores the Application Server."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: plugins
label: "App Plugins Storage"
description: "Stores the Application Plugins."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressList}
# Include{security}
- variable: advancedSecurity
label: "Show Advanced Security Settings"
group: "Security and Permissions"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: "Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
- variable: podSecurityContext
group: "Security and Permissions"
label: "Pod Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}

View File

@@ -0,0 +1 @@
{{ include "tc.common.loader.all" . }}

View File

@@ -0,0 +1,65 @@
image:
repository: tccr.io/truecharts/bungeecord
tag: v2022.4.1@sha256:b6e21cbc222cb4022baa342749c6364ccb26a8678e4de5d42db5cc592a682a5e
pullPolicy: Always
j17Image:
repository: tccr.io/truecharts/bungeecord-java17
tag: v2022.4.1@sha256:21121f66eba1d3594ab1719c61c139336f04ef0585e6d60a929aa12a24f37e19
pullPolicy: Always
j11Image:
repository: tccr.io/truecharts/bungeecord-java11
tag: v2022.4.1@sha256:7594351f800ceddc45a00b013cb57d2867d1abbbbf573ceeec83c335acc21a1b
pullPolicy: Always
j8Image:
repository: tccr.io/truecharts/bungeecord-java8
tag: v2022.4.1@sha256:7291e010fa9e029e37c9a260b657c4404dbe08da51a45f862ee22d480ff6494d
pullPolicy: Always
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
secretEnv:
RCON_PASSWORD: "secretrconpass"
env:
RCON_PORT: 25578
TYPE: "BUNGEECORD"
ONLINE_MODE: false
MEMORY: 512M
INIT_MEMORY: 512M
MAX_MEMORY: 512M
NETWORKADDRESS_CACHE_TTL: 60
REPLACE_ENV_VARIABLES: true
# JVM_OPTS: ""
# JVM_XX_OPTS: ""
# PLUGINS: ""
service:
main:
ports:
main:
port: 25565
targetPort: 25577
rcon:
enabled: true
ports:
rcon:
enabled: true
port: "{{ .Values.env.RCON_PORT }}"
targetPort: "{{ .Values.env.RCON_PORT }}"
persistence:
config:
enabled: true
mountPath: "/config"
server:
enabled: true
mountPath: "/server"
plugins:
enabled: true
mountPath: "/plugins"

View File

@@ -7,6 +7,7 @@ words:
- backupname
- bazarr
- bugfixer's
- bungeecord
- cheatsheet
- cloudflared
- Cloudflareddns