summaryrefslogtreecommitdiff
path: root/k8s/daemon/deployment.yaml
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-02-21 23:51:11 +0000
committerGitHub <noreply@github.com>2026-02-21 23:51:11 +0000
commit0523765af84492640928d571f481e17b26008b13 (patch)
tree644e0bac90c1945120df27dea36d18c81f4470e9 /k8s/daemon/deployment.yaml
parentd670dcb72984cfa483063d161bb468704038895c (diff)
downloadsoryu-0523765af84492640928d571f481e17b26008b13.tar.gz
soryu-0523765af84492640928d571f481e17b26008b13.zip
feat: Add daemon health monitoring page, downloads & K8s support (#76)
* feat: soryu-co/soryu - makima: Add server-side daemon binary download endpoint * feat: soryu-co/soryu - makima: Create Kubernetes daemon manifests and Dockerfile * feat: soryu-co/soryu - makima: Create dedicated Daemons page with health monitoring UI * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Integrate daemon platform availability into frontend downloads
Diffstat (limited to 'k8s/daemon/deployment.yaml')
-rw-r--r--k8s/daemon/deployment.yaml106
1 files changed, 106 insertions, 0 deletions
diff --git a/k8s/daemon/deployment.yaml b/k8s/daemon/deployment.yaml
new file mode 100644
index 0000000..b0f5fb3
--- /dev/null
+++ b/k8s/daemon/deployment.yaml
@@ -0,0 +1,106 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: makima-daemon
+ labels:
+ app: makima-daemon
+ app.kubernetes.io/name: makima-daemon
+ app.kubernetes.io/component: daemon
+ app.kubernetes.io/part-of: makima
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: makima-daemon
+ template:
+ metadata:
+ labels:
+ app: makima-daemon
+ app.kubernetes.io/name: makima-daemon
+ app.kubernetes.io/component: daemon
+ app.kubernetes.io/part-of: makima
+ spec:
+ terminationGracePeriodSeconds: 30
+ containers:
+ - name: makima-daemon
+ image: ghcr.io/soryu-co/makima-daemon:latest
+ imagePullPolicy: Always
+ resources:
+ requests:
+ memory: "512Mi"
+ cpu: "500m"
+ limits:
+ memory: "2Gi"
+ cpu: "2000m"
+ env:
+ # --- Secrets ---
+ - name: MAKIMA_API_KEY
+ valueFrom:
+ secretKeyRef:
+ name: makima-daemon-secrets
+ key: api-key
+ - name: GITHUB_TOKEN
+ valueFrom:
+ secretKeyRef:
+ name: makima-daemon-secrets
+ key: github-token
+ optional: true
+ - name: GH_TOKEN
+ valueFrom:
+ secretKeyRef:
+ name: makima-daemon-secrets
+ key: github-token
+ optional: true
+ # --- ConfigMap ---
+ - name: MAKIMA_DAEMON_SERVER_URL
+ valueFrom:
+ configMapKeyRef:
+ name: makima-daemon-config
+ key: server-url
+ - name: RUST_LOG
+ valueFrom:
+ configMapKeyRef:
+ name: makima-daemon-config
+ key: log-level
+ volumeMounts:
+ - name: workdir
+ mountPath: /app/workdir
+ - name: data
+ mountPath: /app/data
+ - name: ssh-keys
+ mountPath: /root/.ssh
+ readOnly: true
+ # Liveness probe: check that the makima daemon process is running
+ livenessProbe:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - pgrep -f "makima daemon" > /dev/null
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 5
+ failureThreshold: 3
+ # Readiness probe: same check — daemon is ready when the process is alive
+ readinessProbe:
+ exec:
+ command:
+ - /bin/sh
+ - -c
+ - pgrep -f "makima daemon" > /dev/null
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ timeoutSeconds: 5
+ failureThreshold: 3
+ volumes:
+ - name: workdir
+ emptyDir:
+ sizeLimit: 10Gi
+ - name: data
+ emptyDir:
+ sizeLimit: 1Gi
+ - name: ssh-keys
+ secret:
+ secretName: makima-daemon-ssh
+ optional: true
+ defaultMode: 0600