Skip to content

proposal: support kind: stateful workloads #16

Description

@atkrad

Developers could already set kind: stateful, and platform files already had storageClasses. Deploy still stopped with stateful components are not supported yet.

Shipped in #70. StatefulSet with stable identity. Persistence is optional: omit it for identity-only. Storage class comes from the platform (profile storageClass -> env storageClasses). Dual Service for role: service: ClusterIP plus headless.

components:
  db:
    image: postgres:16
    kind: stateful
    role: service
    port: 5432
    profiles: [data]
    persistence:
      size: 20Gi
      mountPath: /var/lib/postgresql/data

Stateless persistence is a shared PVC, Recreate, single replica only. --resize-volumes patches PVC sizes (stateful orphan-deletes the StatefulSet first). Deploy rejects kind flips, adding or removing persistence, and shrinking size.

Not a DBaaS. One primary data volume. StatefulSet rolling strategy stayed out of scope (#19). Finite work is tasks: (#17).

Related: #17, #18, #19.

Activity

  1. added
    kind/proposalDesign discussion before or during implementation
    needs-triageNew, not yet categorized
    area/specdeployah.yaml schema or loading
    area/helmChart render, release, post-render
    on Jul 26, 2026
  2. added theissue type on Aug 3, 2026
  3. self-assigned this
    on Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/helmChart render, release, post-renderarea/specdeployah.yaml schema or loadingkind/proposalDesign discussion before or during implementation

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions