apiVersion: v1 kind: Namespace metadata: name: kairos-mud --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: evennia-storage namespace: kairos-mud spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: kairos-evennia namespace: kairos-mud spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: evennia template: metadata: labels: app: evennia spec: nodeSelector: kubernetes.io/hostname: "racknerd-f30031c" securityContext: fsGroup: 1000 containers: - name: evennia image: 100.110.108.11:30500/kairos-mud:latest imagePullPolicy: Always env: - name: INF01_API_BASE value: "http://100.119.174.41:11434/v1" - name: EVENNIA_SUPERUSER_USERNAME value: "admin" - name: EVENNIA_SUPERUSER_PASSWORD value: "Aok4y2k!" - name: EVENNIA_SUPERUSER_EMAIL value: "admin@localhost" stdin: true tty: true command: ["/bin/sh", "-c"] args: - | cd spatial_engine mkdir -p server/logs echo "SECRET_KEY = 'kairos-super-secret-key-123456789'" > server/conf/secret_settings.py echo "WEBSOCKET_CLIENT_URL = 'wss://becomingone.thefoldwithin.earth/ws'" >> server/conf/secret_settings.py echo "ALLOWED_HOSTS = ['*']" >> server/conf/secret_settings.py echo "import sys; sys.setrecursionlimit(10000)" >> server/conf/settings.py if [ ! -f /db/evennia.db3 ]; then evennia migrate cp server/evennia.db3 /db/evennia.db3 fi ln -sf /db/evennia.db3 server/evennia.db3 evennia migrate chown -R 1000:1000 /db chmod 666 /db/evennia.db3 || true evennia start sleep infinity ports: - containerPort: 4000 - containerPort: 4001 - containerPort: 4002 volumeMounts: - name: evennia-data mountPath: /db - name: kairos-code-volume mountPath: /app/spatial_engine/typeclasses/ai_characters.py subPath: ai_characters.py - name: kairos-code-volume mountPath: /app/spatial_engine/commands/ai_parser.py subPath: ai_parser.py volumes: - name: evennia-data persistentVolumeClaim: claimName: evennia-storage - name: kairos-code-volume configMap: name: kairos-code --- apiVersion: v1 kind: Service metadata: name: evennia-svc namespace: kairos-mud spec: type: LoadBalancer ports: - port: 4000 targetPort: 4000 name: telnet - port: 4001 targetPort: 4001 name: http - port: 4002 targetPort: 4002 name: websocket selector: app: evennia --- apiVersion: apps/v1 kind: Deployment metadata: name: kairos-swarm namespace: kairos-mud spec: replicas: 1 selector: matchLabels: app: swarm template: metadata: labels: app: swarm spec: nodeSelector: workload: "atlanta" containers: - name: swarm-server image: 100.110.108.11:30500/kairos-mud:latest imagePullPolicy: Always env: - name: INF01_API_BASE value: "http://100.119.174.41:11434" command: ["python", "ai_layer/swarm_server.py"] ports: - containerPort: 8001 volumeMounts: - name: kairos-code-volume mountPath: /app/ai_layer/swarm_server.py subPath: swarm_server.py volumes: - name: kairos-code-volume configMap: name: kairos-code --- apiVersion: v1 kind: Service metadata: name: swarm-svc namespace: kairos-mud spec: type: ClusterIP ports: - port: 8001 targetPort: 8001 selector: app: swarm --- apiVersion: apps/v1 kind: Deployment metadata: name: kairos-loop namespace: kairos-mud spec: replicas: 1 selector: matchLabels: app: loop template: metadata: labels: app: loop spec: nodeSelector: gpu: "true" containers: - name: kairos-pulse image: 100.110.108.11:30500/kairos-mud:latest imagePullPolicy: Always command: ["python", "ai_layer/kairos_server.py", "--host", "0.0.0.0", "--port", "8000"] volumeMounts: - name: kairos-loop-code mountPath: /app/ai_layer/kairos_server.py subPath: kairos_server.py - name: kairos-loop-code mountPath: /app/ai_layer/agent.py subPath: agent.py volumes: - name: kairos-loop-code configMap: name: kairos-loop-code --- apiVersion: v1 kind: Service metadata: name: loop-svc namespace: kairos-mud spec: type: ClusterIP ports: - port: 8000 targetPort: 8000 selector: app: loop