diff --git a/helm/siclaw/templates/gateway-deployment.yaml b/helm/siclaw/templates/gateway-deployment.yaml index bcc10eb..e4ed278 100644 --- a/helm/siclaw/templates/gateway-deployment.yaml +++ b/helm/siclaw/templates/gateway-deployment.yaml @@ -76,10 +76,8 @@ spec: resources: {{- toYaml .Values.gateway.resources | nindent 12 }} volumeMounts: - - name: skills - mountPath: /app/.siclaw/skills {{- if .Values.agentbox.persistence.enabled }} - - name: user-data + - name: agentbox-user-data mountPath: {{ .Values.agentbox.persistence.mountPath }} {{- end }} livenessProbe: @@ -95,10 +93,8 @@ spec: initialDelaySeconds: 5 periodSeconds: 10 volumes: - - name: skills - emptyDir: {} {{- if .Values.agentbox.persistence.enabled }} - - name: user-data + - name: agentbox-user-data persistentVolumeClaim: claimName: {{ .Values.agentbox.persistence.claimName }} {{- end }} diff --git a/helm/siclaw/values.yaml b/helm/siclaw/values.yaml index 5a814b3..a22d82f 100644 --- a/helm/siclaw/values.yaml +++ b/helm/siclaw/values.yaml @@ -39,7 +39,7 @@ agentbox: persistence: enabled: false # set to true to persist user memory across pod restarts claimName: "siclaw-data" # name of pre-existing shared PVC (must support ReadWriteMany) - mountPath: "/app/.siclaw/user-data" # gateway mount path (env + volumeMount must match) + mountPath: "/app/.siclaw/agentbox-user-data" # gateway mount path for ensureUserDir (env + volumeMount must match) # -- Database (MySQL — SQLite is not supported in K8s mode) database: diff --git a/k8s/gateway-deployment.yaml b/k8s/gateway-deployment.yaml index 7d8b9d9..c71ab4d 100644 --- a/k8s/gateway-deployment.yaml +++ b/k8s/gateway-deployment.yaml @@ -60,7 +60,7 @@ spec: - name: SICLAW_PERSISTENCE_CLAIM_NAME value: "siclaw-data" - name: SICLAW_PERSISTENCE_MOUNT_PATH - value: "/app/.siclaw/user-data" + value: "/app/.siclaw/agentbox-user-data" - name: SICLAW_DATABASE_URL valueFrom: secretKeyRef: @@ -86,13 +86,9 @@ spec: initialDelaySeconds: 2 periodSeconds: 2 volumeMounts: - - name: skills-local - mountPath: /app/.siclaw/skills - name: user-data - mountPath: /app/.siclaw/user-data + mountPath: /app/.siclaw/agentbox-user-data volumes: - - name: skills-local - emptyDir: {} - name: user-data persistentVolumeClaim: claimName: siclaw-data diff --git a/src/gateway-main.ts b/src/gateway-main.ts index 746db93..9e99442 100644 --- a/src/gateway-main.ts +++ b/src/gateway-main.ts @@ -28,7 +28,7 @@ const spawner = useK8s ? { enabled: true, claimName: process.env.SICLAW_PERSISTENCE_CLAIM_NAME || "siclaw-data", - mountPath: process.env.SICLAW_PERSISTENCE_MOUNT_PATH || "/app/.siclaw/user-data", + mountPath: process.env.SICLAW_PERSISTENCE_MOUNT_PATH || "/app/.siclaw/agentbox-user-data", } : undefined, }) diff --git a/src/gateway/agentbox/k8s-spawner.ts b/src/gateway/agentbox/k8s-spawner.ts index 439e648..de0b776 100644 --- a/src/gateway/agentbox/k8s-spawner.ts +++ b/src/gateway/agentbox/k8s-spawner.ts @@ -26,7 +26,7 @@ export interface K8sSpawnerConfig { enabled: boolean; /** Name of the pre-existing shared PVC (e.g. "siclaw-data") */ claimName: string; - /** Local mount path of the shared PVC on the gateway (default: "/app/.siclaw/user-data") */ + /** Local mount path of the shared PVC on the gateway (default: "/app/.siclaw/agentbox-user-data") */ mountPath?: string; }; } @@ -278,7 +278,7 @@ export class K8sSpawner implements BoxSpawner { }, { name: "user-data", - mountPath: "/app/.siclaw/user-data", + mountPath: "/app/.siclaw/agentbox-user-data", ...(this.config.persistence?.enabled ? { subPath: `users/${safeUserId}/${safeWorkspaceId}` } : {}), @@ -350,7 +350,7 @@ export class K8sSpawner implements BoxSpawner { * Directory layout: `{mountPath}/users/{safeUserId}/{safeWorkspaceId}/` */ private ensureUserDir(safeUserId: string, safeWorkspaceId: string): void { - const mountPath = this.config.persistence?.mountPath || "/app/.siclaw/user-data"; + const mountPath = this.config.persistence?.mountPath || "/app/.siclaw/agentbox-user-data"; const base = path.resolve(mountPath); const userDir = path.join(base, "users", safeUserId, safeWorkspaceId); if (!userDir.startsWith(base)) {