Skip to content

Chart rename from agent-broker to openab causes silent PVC data loss on upgrade #117

@masami-agent

Description

@masami-agent

Description

In v0.5.0, the chart was renamed from agent-broker to openab. The PVC name is derived from {{ include "openab.fullname" . }} which uses .Chart.Name:

Version Chart Name PVC Name (release=agent-broker)
0.3.3 agent-broker agent-broker
0.5.0 openab agent-broker-openab

On helm upgrade, the new chart creates a new empty PVC (agent-broker-openab). The old PVC (agent-broker) containing CLI auth credentials and session data is orphaned. The pod starts with no auth → kiro-cli fails with You are not logged in → bot replies "Failed to start agent" on Discord.

This is a silent breaking change with no warning during upgrade.

Steps to Reproduce

  1. Install agent-broker/agent-broker chart 0.3.3, login to kiro-cli inside the pod
  2. helm upgrade agent-broker <repo>/openab --version 0.5.0
  3. New pod starts with empty PVC — all CLI auth and session data is gone
  4. Bot replies "Failed to start agent" on Discord

Suggested Fix

1. Add persistence.existingClaim to values.yaml

persistence:
  enabled: true
  existingClaim: ""   # set to reuse an existing PVC (skips PVC creation)
  storageClass: ""
  size: 1Gi

2. Patch templates/pvc.yaml

{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: {{ include "openab.fullname" . }}
  labels:
    {{- include "openab.labels" . | nindent 4 }}
spec:
  accessModes:
    - ReadWriteOnce
  {{- if .Values.persistence.storageClass }}
  storageClassName: {{ .Values.persistence.storageClass }}
  {{- end }}
  resources:
    requests:
      storage: {{ .Values.persistence.size }}
{{- end }}

3. Patch templates/deployment.yaml volumes section

      {{- if .Values.persistence.enabled }}
      - name: data
        persistentVolumeClaim:
          claimName: {{ .Values.persistence.existingClaim | default (include "openab.fullname" .) }}
      {{- end }}

4. Add migration guide to README or UPGRADING.md

## Upgrading from agent-broker chart (≤0.3.x) to openab (≥0.5.0)

The chart was renamed from `agent-broker` to `openab`. This changes the
default PVC name, which means a plain `helm upgrade` will create a new
empty PVC and your existing data (CLI auth, session state) will be lost.

To preserve your data, use one of these approaches:

### Option A: Point to your old PVC (recommended)

    # Find your old PVC name
    kubectl get pvc

    # Upgrade with existingClaim
    helm upgrade agent-broker <repo>/openab \
      --set persistence.existingClaim=agent-broker \
      ... (your other values)

### Option B: Use fullnameOverride to keep old resource names

    helm upgrade agent-broker <repo>/openab \
      --set fullnameOverride=agent-broker \
      ... (your other values)

Environment

  • Chart: openab-0.5.0
  • Image: ghcr.io/openabdev/openab:9c70cdd
  • Platform: Kubernetes (OrbStack)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions