titan-iac/services/game-stream/wolf-statefulset.yaml
2026-05-21 02:07:17 -03:00

80 lines
2.0 KiB
YAML

# services/game-stream/wolf-statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: wolf
namespace: game-stream
labels:
app: wolf
spec:
serviceName: wolf
replicas: 1
selector:
matchLabels:
app: wolf
template:
metadata:
labels:
app: wolf
atlas.bstein.dev/game-mode: wolf
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
runtimeClassName: nvidia
nodeSelector:
kubernetes.io/hostname: titan-24
tolerations:
- key: nvidia.com/gpu
operator: Exists
effect: NoSchedule
containers:
- name: wolf
image: ghcr.io/games-on-whales/wolf:stable
imagePullPolicy: IfNotPresent
env:
- name: WOLF_LOG_LEVEL
value: INFO
- name: WOLF_DOCKER_SOCKET
value: /var/run/docker.sock
- name: NVIDIA_DRIVER_CAPABILITIES
value: all
- name: NVIDIA_VISIBLE_DEVICES
value: all
securityContext:
privileged: true
resources:
requests:
cpu: "2"
memory: 4Gi
nvidia.com/gpu.shared: 1
limits:
cpu: "12"
memory: 32Gi
nvidia.com/gpu.shared: 1
volumeMounts:
- name: wolf-state
mountPath: /etc/wolf
- name: docker-socket
mountPath: /var/run/docker.sock
- name: dev
mountPath: /dev
- name: udev
mountPath: /run/udev
volumes:
- name: wolf-state
hostPath:
path: /etc/wolf
type: DirectoryOrCreate
- name: docker-socket
hostPath:
path: /var/run/docker.sock
type: Socket
- name: dev
hostPath:
path: /dev
type: Directory
- name: udev
hostPath:
path: /run/udev
type: Directory