diff --git a/charts/incubator/jts3servermod/.helmignore b/charts/incubator/jts3servermod/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/jts3servermod/.helmignore @@ -0,0 +1,30 @@ +# 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 +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/jts3servermod/Chart.yaml b/charts/incubator/jts3servermod/Chart.yaml new file mode 100644 index 00000000000..0f9285998d0 --- /dev/null +++ b/charts/incubator/jts3servermod/Chart.yaml @@ -0,0 +1,38 @@ +annotations: + max_scale_version: 24.04.0 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: productivity + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: main +dependencies: + - name: common + version: 18.0.3 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: JTS3ServerMod by Stefan1200 +home: https://truecharts.org/charts/incubator/jts3servermod +icon: https://truecharts.org/img/hotlink-ok/chart-icons/jts3servermod.png +keywords: + - teamspeak + - jts3servermod + - teamspeak-bot +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: jts3servermod +sources: + - https://github.com/galexrt/container-jts3servermod + - https://github.com/truecharts/charts/tree/master/charts/incubator/jts3servermod + - https://hub.docker.com/r/nickslowinski/jts3servermod-dockerized +type: application +version: 0.0.1 diff --git a/charts/incubator/jts3servermod/README.md b/charts/incubator/jts3servermod/README.md new file mode 100644 index 00000000000..2b8cc49d247 --- /dev/null +++ b/charts/incubator/jts3servermod/README.md @@ -0,0 +1,3 @@ +--- +title: README +--- diff --git a/charts/incubator/jts3servermod/docs/installation.md b/charts/incubator/jts3servermod/docs/installation.md new file mode 100644 index 00000000000..2de8e0fe54c --- /dev/null +++ b/charts/incubator/jts3servermod/docs/installation.md @@ -0,0 +1,38 @@ +--- +title: Installation Guide +--- + +## App Installation + +### Networking + +This App isn't using ports. + +#### Configuration + +The configuration files have to be manually uploaded to the config storage. + +1\. Please go to [JTS3ServerMod](https://www.stefan1200.de/dlrequest.php?file=jts3servermod&type=.zip) to download the Bot. + +2\. Extract the config folder on your pc. + +3\. Change the following files + +- JTS3ServerMod_InstanceManager.cfg +- JTS3ServerMod_server_example.cfg + +4\. Also change the /server1 files for each function you've selected in JTS3ServerMod_server_example.cfg + +5\. Now stop the App if not already done. + +6\. [Mount the PVC](https://truecharts.org/manual/SCALE/guides/pvc-access/) + +7\. And upload the config folder you've extracted and modified. + +8\. Afterwards remove the Mount again and start the app. + +9\. The Bot should now start correctly and should connect to your teamspeak-server + +#### Documentation + +More Documentation for the App can be found on this [Website](https://www.stefan1200.de/documentation/jts3servermod/readme.html) diff --git a/charts/incubator/jts3servermod/icon.png b/charts/incubator/jts3servermod/icon.png new file mode 100644 index 00000000000..ac31264cfa2 Binary files /dev/null and b/charts/incubator/jts3servermod/icon.png differ diff --git a/charts/incubator/jts3servermod/questions.yaml b/charts/incubator/jts3servermod/questions.yaml new file mode 100644 index 00000000000..c42927f3ee4 --- /dev/null +++ b/charts/incubator/jts3servermod/questions.yaml @@ -0,0 +1,63 @@ +# Include{groups} +portals: {} +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} +# Include{containerBasic} +# Include{containerAdvanced} +# Include{containerConfig} +# Include{podOptions} +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: config + label: App Config Storage + description: Stores the Application Config. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} + - variable: logs + label: App Logs Storage + description: Stores the Application Logs. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceList} +# Include{securityContextRoot} + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 3000 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 3000 +# Include{securityContextContainer} +# Include{securityContextAdvanced} +# Include{securityContextPod} + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/jts3servermod/templates/NOTES.txt b/charts/incubator/jts3servermod/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/jts3servermod/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/jts3servermod/templates/common.yaml b/charts/incubator/jts3servermod/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/charts/incubator/jts3servermod/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/jts3servermod/values.yaml b/charts/incubator/jts3servermod/values.yaml new file mode 100644 index 00000000000..221b7ec2d61 --- /dev/null +++ b/charts/incubator/jts3servermod/values.yaml @@ -0,0 +1,66 @@ +image: + repository: ghcr.io/galexrt/jts3servermod + pullPolicy: IfNotPresent + tag: main@sha256:fb8fb98f77b3dc83c44bf41dcfa74cb7f6c45972a954f856d5cc0fe2c7282a85 + +securityContext: + container: + readOnlyRootFilesystem: false + runAsUser: 3000 + runAsGroup: 3000 + +configmap: + entrypoint: + enabled: true + data: + # https://github.com/galexrt/container-jts3servermod/pull/5 + entrypoint.sh: | + #!/bin/bash + JTS3_LOG="${JTS3_LOG:-JTS3ServerMod_InstanceManager.cfg}" + if [ ! "$(ls -A "$JTS3_DIR/config/")" ]; then + echo "ENTRYPOINT: JTS3 Config volume is empty, copying default files to volume" + cp -ar "$JTS3_DIR"/default_config/* "$JTS3_DIR/config/" + fi + cd "$JTS3_DIR" || { echo "ENTRYPOINT: Failed to enter JTS3_DIR ($JTS3_DIR), exiting"; exit 1; } + exec java "$JTS3_JAVA_ARGS" -jar "$JTS3_DIR/JTS3ServerMod.jar" -log "$JTS3_LOG" "$@" + +workload: + main: + podSpec: + containers: + main: + probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + env: + JTS3_LOG: /jts3servermod/logs/JTS3ServerMod_InstanceManager.cfg + +service: + main: + enabled: false + ports: + main: + enabled: false + +persistence: + entrypoint: + enabled: true + objectName: entrypoint + type: configmap + defaultMode: "0755" + mountPath: /entrypoint.sh + subPath: entrypoint.sh + config: + enabled: true + mountPath: "/jts3servermod/config" + logs: + enabled: true + mountPath: "/jts3servermod/logs" + +portal: + open: + enabled: false