diff --git a/charts/incubator/game-server-watcher/.helmignore b/charts/incubator/game-server-watcher/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/game-server-watcher/.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/game-server-watcher/CHANGELOG.md b/charts/incubator/game-server-watcher/CHANGELOG.md new file mode 100644 index 00000000000..6afbcc5f802 --- /dev/null +++ b/charts/incubator/game-server-watcher/CHANGELOG.md @@ -0,0 +1,3 @@ +--- +title: Changelog +--- diff --git a/charts/incubator/game-server-watcher/Chart.yaml b/charts/incubator/game-server-watcher/Chart.yaml new file mode 100644 index 00000000000..6939a132f38 --- /dev/null +++ b/charts/incubator/game-server-watcher/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: monitor + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.11" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: 3.0.0 +dependencies: + - name: common + version: 18.0.3 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: A simple discord/telegram/slack bot to monitor your game servers and players in style. +home: https://truecharts.org/charts/incubator/game-server-watcher +icon: https://truecharts.org/img/hotlink-ok/chart-icons/game-server-watcher.png +keywords: + - game-server-watcher + - monitoring + - bots +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: game-server-watcher +sources: + - https://github.com/a-sync/game-server-watcher + - https://github.com/truecharts/charts/tree/master/charts/incubator/game-server-watcher + - https://ghcr.io/a-sync/game-server-watcher +type: application +version: 0.0.1 diff --git a/charts/incubator/game-server-watcher/README.md b/charts/incubator/game-server-watcher/README.md new file mode 100644 index 00000000000..2b8cc49d247 --- /dev/null +++ b/charts/incubator/game-server-watcher/README.md @@ -0,0 +1,3 @@ +--- +title: README +--- diff --git a/charts/incubator/game-server-watcher/docs/installation_notes.md b/charts/incubator/game-server-watcher/docs/installation_notes.md new file mode 100644 index 00000000000..2b5ff565a7f --- /dev/null +++ b/charts/incubator/game-server-watcher/docs/installation_notes.md @@ -0,0 +1,12 @@ +--- +title: Installation Notes +--- + +This chart supports multiple sets of services and each one can be enabled independently from one another just be setting the token values. + +Upstream has a extensive guide on how to create the tokens for each platform: + +- Steam Web API Key [Guide](https://github.com/a-sync/game-server-watcher/wiki/Steam-Web-API-key). +- Discord Bot Token [Guide](https://github.com/a-sync/game-server-watcher/wiki/Discord-bot-token). +- Telegram Bot Token [Guide](https://github.com/a-sync/game-server-watcher/wiki/Telegram-bot-token). +- Slack Bot Token [Guide](https://github.com/a-sync/game-server-watcher/wiki/Slack-bot-token). diff --git a/charts/incubator/game-server-watcher/icon.png b/charts/incubator/game-server-watcher/icon.png new file mode 100644 index 00000000000..d1e7b3df3db Binary files /dev/null and b/charts/incubator/game-server-watcher/icon.png differ diff --git a/charts/incubator/game-server-watcher/questions.yaml b/charts/incubator/game-server-watcher/questions.yaml new file mode 100644 index 00000000000..a742439256f --- /dev/null +++ b/charts/incubator/game-server-watcher/questions.yaml @@ -0,0 +1,151 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} + - variable: env + label: Image Environment + schema: + additional_attrs: true + type: dict + attrs: + - variable: SECRET + label: Admin Password + description: The admin web GUI password. + schema: + type: string + private: true + required: true + default: "" + - variable: DBG + label: Debug Mode + description: Enable/Disable Debug mode. + schema: + type: boolean + default: False + - variable: REFRESH_TIME_MINUTES + label: Refresh Time Minutes + schema: + type: int + default: 2 + - variable: STEAM_WEB_API_KEY + label: Steam Web API Key + description: Set this to enable steam API features. + schema: + type: string + private: true + default: "" + - variable: DISCORD_BOT_TOKEN + label: Discord Bot Token + description: Set this to enable discord bot features. + schema: + type: string + private: true + default: "" + - variable: TELEGRAM_BOT_TOKEN + label: Telegram Bot Token + description: Set this to enable telegram bot features. + schema: + type: string + private: true + default: "" + - variable: slack + label: Show Slack Options + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: SLACK_APP_TOKEN + label: Slack App Token + schema: + type: string + private: true + default: "" + - variable: SLACK_BOT_TOKEN + label: Slack Bot Token + schema: + type: string + private: true + default: "" + +# Include{containerBasic} +# Include{containerAdvanced} +# Include{containerConfig} +# Include{podOptions} +# Include{serviceRoot} +# Include{serviceMain} +# 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: 10690 + required: true +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: data + label: "App Config Storage" + description: "Stores the Application Data." + 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{ingressAdvanced} +# Include{ingressList} +# Include{securityContextRoot} + - 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 of the user running the application" + schema: + type: int + default: 0 +# 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{veleroSchedulesList} +# Include{documentation} diff --git a/charts/incubator/game-server-watcher/templates/NOTES.txt b/charts/incubator/game-server-watcher/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/game-server-watcher/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/game-server-watcher/templates/common.yaml b/charts/incubator/game-server-watcher/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/charts/incubator/game-server-watcher/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/incubator/game-server-watcher/values.yaml b/charts/incubator/game-server-watcher/values.yaml new file mode 100644 index 00000000000..b7ea4480233 --- /dev/null +++ b/charts/incubator/game-server-watcher/values.yaml @@ -0,0 +1,55 @@ +image: + repository: ghcr.io/a-sync/game-server-watcher + pullPolicy: IfNotPresent + tag: v3.0.0@sha256:34d717b8353284d2b2d18c862b2dece46b61aeedce1b20dc00610de9a7a46a23 + +securityContext: + container: + readOnlyRootFilesystem: false + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + protocol: http + port: 10690 + +workload: + main: + podSpec: + containers: + main: + env: + # Writeable folder for data storage + DATA_PATH: "{{.Values.persistence.data.mountPath }}" + # Web service host + HOST: 0.0.0.0 + # Web service port + PORT: "{{ .Values.service.main.ports.main.port }}" + # Admin PASSWORD + SECRET: secret + # Enable or Disable debug mode + DBG: 0 + # Game server info refresh interval in minutes + REFRESH_TIME_MINUTES: 2 + # Steam web API key + STEAM_WEB_API_KEY: "" + # Discord bot token + DISCORD_BOT_TOKEN: "" + # Telegram bot token + TELEGRAM_BOT_TOKEN: "" + # Slack bot token + SLACK_BOT_TOKEN: "" + # Slack app token + SLACK_APP_TOKEN: "" + +persistence: + data: + enabled: true + mountPath: "/data" + +portal: + open: + enabled: true