apiVersion: apps/v1 kind: Deployment metadata: name: wings-ark-sa namespace: game-servers labels: app: wings-ark-sa game: ark-sa spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: wings-ark-sa template: metadata: labels: app: wings-ark-sa game: ark-sa spec: nodeSelector: kubernetes.io/arch: amd64 affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: game operator: In values: [ark-sa] topologyKey: "kubernetes.io/hostname" volumes: - name: wings-config secret: secretName: wings-ark-sa-config - name: game-data persistentVolumeClaim: claimName: wings-ark-sa-data - name: docker-socket emptyDir: {} - name: autostart-token secret: secretName: pelican-autostart-key containers: - name: dind image: docker:dind args: - "--storage-driver=vfs" - "--iptables=false" securityContext: privileged: true volumeMounts: - name: docker-socket mountPath: /var/run/docker.sock env: - name: DOCKER_TLS_CERTDIR value: "" resources: requests: cpu: "500m" memory: "512Mi" limits: cpu: "1" memory: "1Gi" - name: wings image: ghcr.io/pelican-dev/wings:latest command: - /bin/sh - -c - | export DOCKER_HOST=tcp://localhost:2375 exec wings env: - name: DOCKER_HOST value: tcp://localhost:2375 - name: WATCHDOG_ENABLED value: "true" volumeMounts: - name: wings-config mountPath: /etc/pterodactyl readOnly: true - name: game-data mountPath: /mnt/server - name: docker-socket mountPath: /var/run/docker.sock resources: requests: cpu: "2" memory: "4Gi" limits: cpu: "4" memory: "8Gi" - name: game-autostart image: curlimages/curl:latest command: - /bin/sh - -c - | while true; do sleep 60 curl -sf -X POST "https://pelican.khalisio.com/api/client/servers/3fd0b08d-7393-4d0f-b11c-bad5e1d1f771/power" \ -H "Authorization: Bearer $(cat /etc/secrets/autostart/api_key)" \ -H "Content-Type: application/json" \ -d '{"signal":"start"}' > /dev/null 2>&1 || true done volumeMounts: - name: autostart-token mountPath: /etc/secrets/autostart readOnly: true resources: requests: cpu: "50m" memory: "64Mi" limits: cpu: "100m" memory: "128Mi" restartPolicy: Always