Files
ansible-role-eom/tasks/tes3mp.yaml
T
2026-10-23 11:18:18 -04:00

105 lines
2.5 KiB
YAML

---
# tasks file for mail
- name: Create tes3mp namespace
k8s:
state: present
definition:
apiVersion: v1
kind: Namespace
metadata:
name: tes3mp
- name: Create a persistent volume claim
k8s:
state: present
definition:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: tes3mp
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 16Gi
- name: Create a config map
k8s:
state: present
definition:
apiVersion: v1
kind: ConfigMap
metadata:
name: config
namespace: tes3mp
data:
tes3mp-server-default.cfg: "{{ lookup('template', 'tes3mp-server-default.cfg.j2') }}"
- name: Create a deployment
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: tes3mp
namespace: tes3mp
spec:
replicas: 1
selector:
matchLabels:
app: tes3mp
template:
metadata:
labels:
app: tes3mp
spec:
containers:
- name: tes3mp
image: tes3mp/server:0.7.0
imagePullPolicy: Always
volumeMounts:
- name: data
mountPath: /server/data
- name: config
mountPath: /server/tes3mp-server-default.cfg
subPath: tes3mp-server-default.cfg
ports:
- containerPort: 25565
env:
- name: TES3MP_SERVER_GENERAL_HOSTNAME
value: tes3.eom.dev
- name: TES3MP_SERVER_GENERAL_PASSWORD
value: "{{ tes3mp_server_general_password }}"
command:
- "./tes3mp-server"
args:
- "$@"
volumes:
- name: data
persistentVolumeClaim:
claimName: data
- name: config
configMap:
name: config
- name: Expose deployment as a service
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: tes3mp
namespace: tes3mp
spec:
selector:
app: tes3mp
ports:
- port: 25565
targetPort: 25565
name: tes3mp
protocol: UDP
type: LoadBalancer
externalTrafficPolicy: Local