apiVersion: apps/v1 kind: Deployment metadata: name: sol namespace: matrix spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: sol template: metadata: labels: app: sol spec: enableServiceLinks: false initContainers: - name: fix-permissions image: busybox command: ["sh", "-c", "chmod -R 777 /data && mkdir -p /data/matrix-state && chmod 777 /data/matrix-state"] volumeMounts: - name: sol-data mountPath: /data containers: - name: sol image: src.sunbeam.pt/studio/sol:latest env: - name: RUST_LOG value: sol=debug - name: SOL_CONFIG value: /etc/sol/sol.toml - name: SOL_SYSTEM_PROMPT value: /etc/sol/system_prompt.md - name: SOL_MATRIX_ACCESS_TOKEN valueFrom: secretKeyRef: name: sol-secrets key: matrix-access-token - name: SOL_MATRIX_DEVICE_ID valueFrom: secretKeyRef: name: sol-secrets key: matrix-device-id - name: SOL_MISTRAL_API_KEY valueFrom: secretKeyRef: name: sol-secrets key: mistral-api-key - name: SOL_GITEA_ADMIN_USERNAME valueFrom: secretKeyRef: name: sol-secrets key: gitea-admin-username - name: SOL_GITEA_ADMIN_PASSWORD valueFrom: secretKeyRef: name: sol-secrets key: gitea-admin-password volumeMounts: - name: sol-config mountPath: /etc/sol/sol.toml subPath: sol.toml readOnly: true - name: sol-config mountPath: /etc/sol/system_prompt.md subPath: system_prompt.md readOnly: true - name: sol-data mountPath: /data resources: limits: memory: 512Mi requests: memory: 256Mi cpu: 100m volumes: - name: sol-config configMap: name: sol-config - name: sol-data persistentVolumeClaim: claimName: sol-data --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sol-data namespace: matrix spec: accessModes: [ReadWriteOnce] resources: requests: storage: 1Gi