mirror of
https://github.com/YuzuZensai/palworld-server-docker.git
synced 2026-01-31 14:57:59 +00:00
- Added a helm chart with some basic doc;
This commit is contained in:
36
chart/templates/configmaps.yaml
Normal file
36
chart/templates/configmaps.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
{{- $cPwd := randAlphaNum 12 | nospace -}}
|
||||
{{- $sName := randAlphaNum 6 | nospace -}}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
namespace: {{ .Values.namespace }}
|
||||
name: "{{ .Release.Name }}-env-config"
|
||||
annotations:
|
||||
{{- with .Values.server.config.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||
app.kubernetes.io/name: "{{ .Release.Name }}-config"
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-config"
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
{{- with .Values.server.config.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
data:
|
||||
PUID: "{{ .Values.server.config.puid }}"
|
||||
PGID: "{{ .Values.server.config.pgid }}"
|
||||
PORT: "{{ .Values.server.config.port }}"
|
||||
PLAYERS: "{{ .Values.server.config.max_players }}"
|
||||
MULTITHREADING: "{{ .Values.server.config.multithreading }}"
|
||||
{{ if .Values.server.config.rcon.enable }}
|
||||
RCON_ENABLED: "true"
|
||||
RCON_PORT: "{{ .Values.server.config.rcon.port }}"
|
||||
{{ end }}
|
||||
{{ if .Values.server.config.community.enable }}
|
||||
COMMUNITY: "true"
|
||||
SERVER_PASSWORD: {{- if .Values.server.config.community.password }} "{{ .Values.server.config.community.password }}" {{ else }} {{ $cPwd }} {{ end }}
|
||||
{{ end }}
|
||||
SERVER_NAME: {{- if .Values.server.config.server_name }} "{{ .Values.server.config.server_name }}" {{ else }} {{ printf "%s_%s" "palworld" $sName }} {{ end }}
|
||||
58
chart/templates/deployments.yaml
Normal file
58
chart/templates/deployments.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
namespace: {{ .Values.namespace }}
|
||||
name: "{{ .Release.Name }}-server"
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-server"
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
{{- with .Values.server.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||
app.kubernetes.io/name: "{{ .Release.Name }}-server"
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-server"
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
{{- with .Values.server.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
containers:
|
||||
- name: healthz
|
||||
image: "chussenot/tiny-server:latest"
|
||||
imagePullPolicy: {{ .Values.server.image.imagePullPolicy }}
|
||||
ports:
|
||||
- name: healthz
|
||||
containerPort: 80
|
||||
protocol: TCP
|
||||
- name: server
|
||||
image: "{{ .Values.server.image.name }}:{{ .Values.server.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.server.image.imagePullPolicy }}
|
||||
ports:
|
||||
{{- with .Values.server.ports }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: ADMIN_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ .Release.Name }}-rcon-password"
|
||||
key: "rconPassword"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: "{{ .Release.Name }}-env-config"
|
||||
volumeMounts:
|
||||
- mountPath: /palworld
|
||||
name: datadir
|
||||
volumes:
|
||||
- name: datadir
|
||||
persistentVolumeClaim:
|
||||
claimName: "{{ .Release.Name }}-datadir-pvc"
|
||||
29
chart/templates/pvcs.yaml
Normal file
29
chart/templates/pvcs.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
namespace: {{ .Values.namespace }}
|
||||
name: "{{ .Release.Name }}-datadir-pvc"
|
||||
annotations:
|
||||
{{- with .Values.server.config.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||
app.kubernetes.io/name: "{{ .Release.Name }}-datadir-pvc"
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-datadir-pvc"
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
{{- if .Values.server.storage.preventDelete }}
|
||||
helm.sh/resource-policy: keep
|
||||
{{ end }}
|
||||
{{- with .Values.server.config.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.server.storage.size }}
|
||||
storageClassName: {{ .Values.server.storage.storageClassName }}
|
||||
25
chart/templates/secrets.yaml
Normal file
25
chart/templates/secrets.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
{{- define "server.rcon.password" -}}
|
||||
{{- randAlphaNum 24 | nospace -}}
|
||||
{{- end -}}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
namespace: {{ .Values.namespace }}
|
||||
name: "{{ .Release.Name }}-rcon-password"
|
||||
annotations:
|
||||
{{- with .Values.server.config.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||
app.kubernetes.io/name: "{{ .Release.Name }}-rcon-password"
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-rcon-password"
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
{{- with .Values.server.config.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
type: Opaque
|
||||
stringData:
|
||||
rconPassword: {{- if .Values.server.config.rcon.password }} "{{ .Values.server.config.rcon.password }}" {{ else }} "{{ include "server.rcon.password" .}}" {{ end }}
|
||||
28
chart/templates/services.yaml
Normal file
28
chart/templates/services.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
namespace: {{ .Values.namespace }}
|
||||
name: "{{ .Release.Name }}-svc"
|
||||
labels:
|
||||
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
|
||||
app.kubernetes.io/name: "{{ .Release.Name }}-svc"
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-svc"
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
{{- with .Values.server.service.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- with .Values.server.config.annotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
selector:
|
||||
app.kubernetes.io/component: "{{ .Release.Name }}-server"
|
||||
ports:
|
||||
{{- with .Values.server.service.ports }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
type: {{ .Values.server.service.type }}
|
||||
Reference in New Issue
Block a user