- namespace: PodSecurity privileged, needed for /dev/kvm + privileged QEMU - storageclass: 1 replica, strict-local, WaitForFirstConsumer - deployment: nodeSelector workload=imessage + matching NoSchedule toleration, Recreate strategy (two QEMU procs on one qcow2 corrupts it), no readiness probe (guest install is interactive and takes many minutes) - services: ClusterIP only; VNC is an unauthenticated console, reach it with port-forward, never an Ingress - networkpolicy: default-deny, opt-in via sms-client=true on port 1234
32 lines
855 B
YAML
32 lines
855 B
YAML
# VNC is how you drive the interactive macOS install. Deliberately ClusterIP —
|
|
# it is an unauthenticated console onto a machine holding a live Apple ID
|
|
# session. Reach it with `kubectl port-forward`, never an Ingress.
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: macos-vnc
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app.kubernetes.io/name: macos-bluebubbles
|
|
ports:
|
|
- name: vnc
|
|
port: 5999
|
|
targetPort: vnc
|
|
---
|
|
# The BlueBubbles REST API, once installed inside the guest. This is the stable
|
|
# name cluster services use, so callers never depend on the pod IP or on whether
|
|
# the backend is this VM or a real Mac mini later.
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: bluebubbles
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app.kubernetes.io/name: macos-bluebubbles
|
|
ports:
|
|
- name: http
|
|
port: 1234
|
|
targetPort: bluebubbles
|