From 8eff184f7d404d98b0bc63e32ae53cd88af309df Mon Sep 17 00:00:00 2001 From: Truxnell <19149206+Truxnell@users.noreply.github.com> Date: Fri, 13 May 2022 00:31:40 +1000 Subject: [PATCH] [satisfactory] - feat: add satisfactory helm (#1559) * feat(satisfactory): add satisfactory helm --- .github/ct-install.yaml | 1 + charts/stable/satisfactory/.helmignore | 26 ++++ charts/stable/satisfactory/Chart.yaml | 25 ++++ charts/stable/satisfactory/README.md | 111 ++++++++++++++++++ .../satisfactory/README_CONFIG.md.gotmpl | 9 ++ .../stable/satisfactory/templates/NOTES.txt | 1 + .../stable/satisfactory/templates/common.yaml | 1 + charts/stable/satisfactory/values.yaml | 86 ++++++++++++++ 8 files changed, 260 insertions(+) create mode 100644 charts/stable/satisfactory/.helmignore create mode 100644 charts/stable/satisfactory/Chart.yaml create mode 100644 charts/stable/satisfactory/README.md create mode 100644 charts/stable/satisfactory/README_CONFIG.md.gotmpl create mode 100644 charts/stable/satisfactory/templates/NOTES.txt create mode 100644 charts/stable/satisfactory/templates/common.yaml create mode 100644 charts/stable/satisfactory/values.yaml diff --git a/.github/ct-install.yaml b/.github/ct-install.yaml index 2814a8e9..733d4e24 100644 --- a/.github/ct-install.yaml +++ b/.github/ct-install.yaml @@ -19,6 +19,7 @@ excluded-charts: - charts/stable/promcord - charts/stable/reg - charts/stable/ser2sock + - charts/stable/satisfactory - charts/stable/zalando-postgres-cluster - charts/stable/zigbee2mqtt - charts/stable/wireguard diff --git a/charts/stable/satisfactory/.helmignore b/charts/stable/satisfactory/.helmignore new file mode 100644 index 00000000..4379e2b3 --- /dev/null +++ b/charts/stable/satisfactory/.helmignore @@ -0,0 +1,26 @@ +# 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 diff --git a/charts/stable/satisfactory/Chart.yaml b/charts/stable/satisfactory/Chart.yaml new file mode 100644 index 00000000..e4992fe9 --- /dev/null +++ b/charts/stable/satisfactory/Chart.yaml @@ -0,0 +1,25 @@ +apiVersion: v2 +appVersion: latest +description: Satisfactory dedicated server +name: satisfactory +version: 1.0.0 +kubeVersion: ">=1.16.0-0" +keywords: + - satisfactory + - steam + - game +home: https://www.satisfactorygame.com +icon: https://img2.storyblok.com/fit-in/0x200/filters:format(webp)/f/110098/268x268/d1ebbafe03/logo.png +sources: + - https://github.com/wolveix/satisfactory-server +maintainers: + - name: Truxnell + email: nat@natallanc.om +dependencies: + - name: common + repository: https://library-charts.k8s-at-home.com + version: 4.3.0 +annotations: + artifacthub.io/changes: | + - kind: added + description: Initial version diff --git a/charts/stable/satisfactory/README.md b/charts/stable/satisfactory/README.md new file mode 100644 index 00000000..f5b837d1 --- /dev/null +++ b/charts/stable/satisfactory/README.md @@ -0,0 +1,111 @@ +# satisfactory + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) + +satisfactory helm package + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** + +## Source Code + +* + +## Requirements + +Kubernetes: `>=1.16.0-0` + +## Dependencies + +| Repository | Name | Version | +|------------|------|---------| +| https://library-charts.k8s-at-home.com | common | 4.0.0 | + +## TL;DR + +```console +helm repo add k8s-at-home https://k8s-at-home.com/charts/ +helm repo update +helm install satisfactory k8s-at-home/satisfactory +``` + +## Installing the Chart + +To install the chart with the release name `satisfactory` + +```console +helm install satisfactory k8s-at-home/satisfactory +``` + +## Uninstalling the Chart + +To uninstall the `satisfactory` deployment + +```console +helm uninstall satisfactory +``` + +The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release. + +## Configuration + +Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values. +Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common). + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +```console +helm install satisfactory \ + --set env.TZ="America/New York" \ + k8s-at-home/satisfactory +``` + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. + +```console +helm install satisfactory k8s-at-home/satisfactory -f values.yaml +``` + +## Custom configuration + +N/A + +## Values + +**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common) + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| env | object | See below | environment variables. See more environment variables in the [satisfactory documentation](https://satisfactory.org/docs). | +| env.TZ | string | `"UTC"` | Set the container timezone | +| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | +| image.repository | string | `"satisfactory/satisfactory"` | image repository | +| image.tag | string | chart.appVersion | image tag | +| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. | +| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | +| service | object | See values.yaml | Configures service settings for the chart. | + +## Changelog + +### Version 1.0.0 + +#### Added + +- Initial version + +#### Changed + +N/A + +#### Fixed + +N/A + +## Support + +- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/) +- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose) +- Ask a [question](https://github.com/k8s-at-home/organization/discussions) +- Join our [Discord](https://discord.gg/sTMX7Vh) community + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/stable/satisfactory/README_CONFIG.md.gotmpl b/charts/stable/satisfactory/README_CONFIG.md.gotmpl new file mode 100644 index 00000000..e93d80bf --- /dev/null +++ b/charts/stable/satisfactory/README_CONFIG.md.gotmpl @@ -0,0 +1,9 @@ +{{- define "custom.custom.configuration.header" -}} +## Custom configuration +{{- end -}} + +{{- define "custom.custom.configuration" -}} +{{ template "custom.custom.configuration.header" . }} + +N/A +{{- end -}} diff --git a/charts/stable/satisfactory/templates/NOTES.txt b/charts/stable/satisfactory/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/stable/satisfactory/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/stable/satisfactory/templates/common.yaml b/charts/stable/satisfactory/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/stable/satisfactory/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/stable/satisfactory/values.yaml b/charts/stable/satisfactory/values.yaml new file mode 100644 index 00000000..2685ac9e --- /dev/null +++ b/charts/stable/satisfactory/values.yaml @@ -0,0 +1,86 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +image: + # -- image repository + repository: wolveix/satisfactory-server + # -- image tag + # @default -- chart.appVersion + tag: + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See more environment variables in the [wolverix docker documentation](https://github.com/wolveix/satisfactory-server). +# @default -- See below +env: + # -- Set the container timezone + TZ: UTC + # AUTOPAUSE: true # -- pause game when no player is connected + # AUTOSAVEINTERVAL: 300 # -- autosave interval in seconds + # AUTOSAVENUM: 3 # -- number of rotating autosave files + # AUTOSAVEONDISCONNECT: true # -- autosave when last player disconnects + # CRASHREPORT: true # -- automatic crash reporting + # DEBUG: false # -- for debugging the server + # DISABLESEASONALEVENTS: false # -- disable the FICSMAS event (you miserable bastard) + # MAXPLAYERS: 4 # -- set the player limit for your server + # PGID: 1000 # -- set the group ID of the user the server will run as + # PUID: 1000 # -- set the user ID of the user the server will run as + # SERVERBEACONPORT: 15000 # -- set the game's beacon port + # SERVERGAMEPORT: 7777 # -- set the game's port + # SERVERIP: 0.0.0.0 # -- set the game's ip (usually not needed) + # SERVERQUERYPORT: 15777 # -- set the game's query port + # SKIPUPDATE: false # -- avoid updating the game on container start/restart + # STEAMBETA: false # -- set experimental game version + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + http: + enabled: false + primary: false + query: + enabled: true + port: 15777 + protocol: UDP + beacon: + enabled: true + port: 15000 + protocol: UDP + game: + enabled: true + port: 7777 + protocol: UDP + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: false + mountPath: /config + + # server download game files from steam to the below folder + # recommend this is kept in a seperate PVC so just config can be backed up. + # no point backing up downloaded game content + server-cache: + enabled: false + mountPath: /config/gamefiles + accessMode: ReadWriteOnce + size: 20Gi + +# Probes are not currently used +# as it is difficult to detect liveness of a UDP server +probes: + startup: + enabled: false + + liveness: + enabled: false + + readiness: + enabled: false