From d333fffe9546f7d897463a61314943cfd3f75c2b Mon Sep 17 00:00:00 2001 From: Xstar97 Date: Mon, 28 Nov 2022 02:40:50 -0500 Subject: [PATCH] feat(discordgsm) add discordgsm (#4296) * add(discordGSM) add discordGSM * set portal to true * rofs false * add additional storage * set APP_TOKEN = -1 * remove env * disable probes * rename + postgres dependencies. * remove whitespace + fix common + postgres * fix postgres * rename to discordgsm + truechart image * fix values property * fix questions * fix group * set ver to 2.8.1 and fix chart * update commons + postgresql * Update charts/incubator/discordgsm/docs/installation_notes.md Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> * use secret * whitlelist * update questions * correct envs * add more evns * add qs * missing : * Update charts/incubator/discordgsm/templates/_secret.tpl Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> * update commons + postgres * update version * remove service and start discord bot only * disable POSTGRES_SSL_MODE * comment out web api * command * format token * Update charts/incubator/discordgsm/values.yaml Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> * empty app_token * comment out variable * Update values.yaml * Update values.yaml * test * fix app_token * Update token Fake token * fix questions * fix questions * Update charts/incubator/discordgsm/values.yaml Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> --- charts/incubator/discordgsm/.helmignore | 30 +++ charts/incubator/discordgsm/Chart.yaml | 33 ++++ charts/incubator/discordgsm/README.md | 1 + .../discordgsm/docs/installation_notes.md | 12 ++ charts/incubator/discordgsm/icon.png | Bin 0 -> 19466 bytes charts/incubator/discordgsm/questions.yaml | 187 ++++++++++++++++++ .../discordgsm/templates/_secret.tpl | 32 +++ .../discordgsm/templates/common.yaml | 7 + charts/incubator/discordgsm/values.yaml | 73 +++++++ 9 files changed, 375 insertions(+) create mode 100644 charts/incubator/discordgsm/.helmignore create mode 100644 charts/incubator/discordgsm/Chart.yaml create mode 100644 charts/incubator/discordgsm/README.md create mode 100644 charts/incubator/discordgsm/docs/installation_notes.md create mode 100644 charts/incubator/discordgsm/icon.png create mode 100644 charts/incubator/discordgsm/questions.yaml create mode 100644 charts/incubator/discordgsm/templates/_secret.tpl create mode 100644 charts/incubator/discordgsm/templates/common.yaml create mode 100644 charts/incubator/discordgsm/values.yaml diff --git a/charts/incubator/discordgsm/.helmignore b/charts/incubator/discordgsm/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/discordgsm/.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/discordgsm/Chart.yaml b/charts/incubator/discordgsm/Chart.yaml new file mode 100644 index 00000000000..d5aa950a274 --- /dev/null +++ b/charts/incubator/discordgsm/Chart.yaml @@ -0,0 +1,33 @@ +apiVersion: v2 +appVersion: "2.9.0" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 11.0.3 + - condition: postgresql.enabled + name: postgresql + repository: https://charts.truecharts.org/ + version: 11.0.4 +description: A discord bot that monitors your game server and tracks the live data of your game servers. +home: https://truecharts.org/docs/charts/incubator/discordgsm +icon: https://truecharts.org/img/hotlink-ok/chart-icons/discordgsm.png +keywords: + - discordgsm + - game-server + - monitor +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: discordgsm +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/discordgsm + - https://github.com/DiscordGSM/GameServerMonitor +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - monitor + - discord + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/discordgsm/README.md b/charts/incubator/discordgsm/README.md new file mode 100644 index 00000000000..ed411bdafb6 --- /dev/null +++ b/charts/incubator/discordgsm/README.md @@ -0,0 +1 @@ +# discordgsm diff --git a/charts/incubator/discordgsm/docs/installation_notes.md b/charts/incubator/discordgsm/docs/installation_notes.md new file mode 100644 index 00000000000..efcb5f2dece --- /dev/null +++ b/charts/incubator/discordgsm/docs/installation_notes.md @@ -0,0 +1,12 @@ +# Installation Notes + +- Set `App Token` to your discord bot token. Here's a basic guide from [discordGSM](https://discordgsm.com/guide/how-to-get-a-discord-bot-token). +- Set `Whitelist Guilds` to the server guild Ids if adding multiple Ids separate with `;`. + +Add your discord bot if you haven't done so and run initial commands to get started with discordGSM. + +:::info + +Checkout discordGSM supported list of game servers [here](https://discordgsm.com/guide/supported-games). + +::: diff --git a/charts/incubator/discordgsm/icon.png b/charts/incubator/discordgsm/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2a40da3ff3d48c75dc07115ab696672f5a49c611 GIT binary patch literal 19466 zcmV)>K!d-DP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z004NL literal 0 HcmV?d00001 diff --git a/charts/incubator/discordgsm/questions.yaml b/charts/incubator/discordgsm/questions.yaml new file mode 100644 index 00000000000..42d761d6473 --- /dev/null +++ b/charts/incubator/discordgsm/questions.yaml @@ -0,0 +1,187 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{controller} +# Include{replicas} +# Include{replica1} +# Include{controllerExpertExtraArgs} + - variable: gsm + group: App Configuration + label: Discord GSM Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: app_token + label: App Token + description: Discord Bot Token. + schema: + type: string + required: true + default: "" + - variable: whitelist_guilds + label: Whitelist Guilds + description: Discord Guild ID + schema: + type: list + required: true + default: [] + items: + - variable: whitelist_guild_entry + label: Whitelist Guild Entry + schema: + type: string + required: true + default: "" + - variable: app_activity_type + label: App Activity Type + description: Presence activity type override. + schema: + type: string + required: true + default: "3" + enum: + - value: "0" + description: Playing + - value: "2" + description: Listening + - value: "3" + description: Watching + - value: "5" + description: Playing + - variable: app_activity_name + label: App Activity Name + description: Presence activity name override. + schema: + type: string + default: "" + - variable: app_presence_advertise + label: App Presense Advertise + description: Enable advertisement feature on presence + schema: + type: boolean + default: false + - variable: task_query_server + label: Task Query Server + description: Query servers task scheduled time in seconds. + schema: + type: int + default: 60 + - variable: command_query_public + label: Command Query Public + description: Whether the /queryserver command should be available to all users. + schema: + type: boolean + default: false + - variable: command_query_cooldown + label: Command Query Cooldown + description: The /queryserver command cooldown in seconds. (Administrator will not be affected) + schema: + type: int + default: 5 + - variable: web_api_enable + label: Web API Enable + description: Enable Web API feature. + schema: + type: boolean + default: false +# Include{containerConfig} +# Include{serviceRoot} + - 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{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - 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: 10589 + required: true +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: config + label: App Config Storage + description: Stores the Application Configuration. + 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{ingressList} +# Include{security} +# Include{securityContextAdvancedRoot} + - 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{podSecurityContextRoot} + - 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} +# Include{codeserver} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/discordgsm/templates/_secret.tpl b/charts/incubator/discordgsm/templates/_secret.tpl new file mode 100644 index 00000000000..8a7da83b281 --- /dev/null +++ b/charts/incubator/discordgsm/templates/_secret.tpl @@ -0,0 +1,32 @@ +{{/* Define the secret */}} +{{- define "gsm.secret" -}} + +{{- $secretName := printf "%s-gsm-secret" (include "tc.common.names.fullname" .) }} + +--- + +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{ $secretName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +stringData: + DATABASE_URL: {{ .Values.postgresql.url.complete | trimAll "\"" }} + DB_CONNECTION: {{ print "postgres" }} + APP_TOKEN: {{ .Values.gsm.app_token | quote }} + {{- with .Values.gsm.whitelist_guilds }} + WHITELIST_GUILDS: {{ join ";" . }} + {{- end }} + APP_ACTIVITY_TYPE: {{ .Values.gsm.app_activity_type | quote }} + {{- with .Values.gsm.app_activity_name }} + APP_ACTIVITY_NAME: {{ . | quote }} + {{- end }} + APP_PRESENCE_ADVERTISE: {{ .Values.gsm.app_presence_advertise | quote }} + POSTGRES_SSL_MODE: {{ .Values.gsm.postgres_ssl_mode | quote }} + TASK_QUERY_SERVER: {{ .Values.gsm.task_query_server | quote }} + COMMAND_QUERY_PUBLIC: {{ .Values.gsm.command_query_public | quote }} + COMMAND_QUERY_COOLDOWN: {{ .Values.gsm.command_query_cooldown | quote }} + WEB_API_ENABLE: {{ .Values.gsm.web_api_enable | quote }} +{{- end }} diff --git a/charts/incubator/discordgsm/templates/common.yaml b/charts/incubator/discordgsm/templates/common.yaml new file mode 100644 index 00000000000..082030e50e0 --- /dev/null +++ b/charts/incubator/discordgsm/templates/common.yaml @@ -0,0 +1,7 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{- include "gsm.secret" . -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/charts/incubator/discordgsm/values.yaml b/charts/incubator/discordgsm/values.yaml new file mode 100644 index 00000000000..f6384736935 --- /dev/null +++ b/charts/incubator/discordgsm/values.yaml @@ -0,0 +1,73 @@ +image: + repository: tccr.io/truecharts/game-server-monitor + pullPolicy: IfNotPresent + tag: 2.9.0@sha256:270daf32b89029ea12945698e6087f4b774ae8c01f6a2f14e23080ece30e85c2 + +securityContext: + runAsNonRoot: false + readOnlyRootFilesystem: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +command: + - /bin/sh + - -c + - | + gunicorn \ + --bind 0.0.0.0:{{ .Values.service.main.ports.main.port }} \ + --workers={{ .Values.gsm.workers }} \ + --worker-class=gthread app:app \ + --timeout {{ .Values.gsm.timeout }} & \ + python -u main.py + +gsm: + # Server Config + workers: 2 + timeout: 90 + # Bot Config + # Fake Token for CI + app_token: "" + whitelist_guilds: [] + app_activity_type: 3 + app_activity_name: "" + app_presence_advertise: false + task_query_server: 60 + command_query_public: false + command_query_cooldown: 5 + web_api_enable: false + postgres_ssl_mode: disable + +envFrom: + - secretRef: + name: '{{ include "tc.common.names.fullname" . }}-gsm-secret' + +service: + main: + ports: + main: + port: 10230 + protocol: HTTP + +probes: + liveness: + type: HTTP + readiness: + type: HTTP + startup: + type: HTTP + +persistence: + config: + enabled: true + mountPath: /app/data + +postgresql: + enabled: true + existingSecret: dbcreds + postgresqlDatabase: discord_gsm + postgresqlUsername: discord_gsm + +portal: + enabled: true