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