[satisfactory] - feat: add satisfactory helm (#1559)

* feat(satisfactory): add satisfactory helm
This commit is contained in:
Truxnell 2022-05-13 00:31:40 +10:00 committed by GitHub
parent dc30fbad17
commit 8eff184f7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 260 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
* <https://github.com/satisfactory/satisfactory-docker>
## 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)

View File

@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

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

View File

@ -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