ansible-role-eom/tasks/tes3mp.yaml
2025-05-10 12:44:08 -04:00

82 lines
1.8 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: config
namespace: tes3mp
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 16Gi
- 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
volumeMounts:
- name: data
mountPath: /server/data
ports:
- containerPort: 25565
env:
- name: TES3MP_SERVER_GENERAL_HOSTNAME
value: tes3.eom.dev
- name: TES3MP_SERVER_GENERAL_PASSWORD
value: "{{ tes3mp_password }}"
volumes:
- name: data
persistentVolumeClaim:
claimName: data
- name: Expose deployment as a service
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: tes3mp
namespace: tes3mp
spec:
selector:
app: tes3mp
ports:
- port: 25566
targetPort: 25565
name: tes3mp
protocol: UDP
type: LoadBalancer
externalTrafficPolicy: Local