Skip to content

csi: reformat external volumes objects - #2653

Open
hajiler wants to merge 1 commit into
agent-substrate:mainfrom
hajiler:api/external-volume-source
Open

hajiler wants to merge 1 commit into
agent-substrate:mainfrom
hajiler:api/external-volume-source

Conversation

@hajiler

@hajiler hajiler commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #2407, #2436.

It's a good idea to open an issue first for discussion.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

What changes

One rename in the volume API, split out of #2567 so the breaking part lands before GA and the shared-volume feature can follow as a non-breaking addition.

Volume.external_volume_template becomes Volume.external, typed ExternalVolumeSource, with the existing ExternalVolumeTemplate under its template member. The field name now matches its siblings (durable_dir, system_info, image) and the message follows the *VolumeSource convention (#2407, #2436). The ExternalVolumes preview gate moves onto the new member, so gating behaviour is unchanged. ExternalVolumeSource is a union with one member today; the shared-volume reference is added as a second member in #2567.

volumes:
- name: data
  external:
    template:
      capacity: 10Gi
      storageClassName: standard

The per-actor record in ActorStatus gets wrapped in a new ExternalVolumes message. This will make changes for shared volume support easier post GA.

Callers, tests, demos, benchmark manifests and docs are updated; generated code is regenerated.

Testing

Unit, store (Postgres), controlapi and functional suites pass; hack/verify/gofmt.sh, hack/verify/boilerplate.sh, apitool validate and its exemption test pass.

Breaking change

ActorTemplate.volumes[].externalVolumeTemplate is gone; templates must use volumes[].external.template. Field number 3 is retired, not reused, so templates stored under the old field decode with no volume source and must be recreated (they fail validation on their next update). Go consumers of pkg/proto/ateapipb see the new ExternalVolumeSource type and the moved getter.

Requesting the breaking-change label.

🤖 Generated with Claude Code

@google-cla

google-cla Bot commented Oct 14, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@hajiler
hajiler force-pushed the api/external-volume-source branch from ec502b6 to 64e3351 Compare October 14, 2026 18:07
@hajiler hajiler changed the title Volume templates nest the external volume template under external.template; per-actor volume records become ExternalVolumeClaim Volume templates nest the external volume template under external.template; per-actor volume records become ExternalVolumeRef Oct 14, 2026
@hajiler
hajiler force-pushed the api/external-volume-source branch from 64e3351 to 580a413 Compare October 14, 2026 18:49
@hajiler hajiler changed the title Volume templates nest the external volume template under external.template; per-actor volume records become ExternalVolumeRef csi: reformat external volume objects Oct 14, 2026
@hajiler hajiler changed the title csi: reformat external volume objects Volume templates nest the external volume template under external.template Oct 15, 2026
@hajiler
hajiler force-pushed the api/external-volume-source branch from 580a413 to a83aea3 Compare October 15, 2026 18:02
Comment thread tools/apitool/exemptions.json Outdated
@hajiler
hajiler force-pushed the api/external-volume-source branch 2 times, most recently from 4a9c50e to cfa2183 Compare October 16, 2026 18:13
@hajiler
hajiler force-pushed the api/external-volume-source branch from cfa2183 to 6b3279c Compare October 16, 2026 20:54
@hajiler hajiler changed the title Volume templates nest the external volume template under external.template csi: reformat external volumes objects Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

api: rename Volume.external_volume_template (ExternalVolumeTemplate) to external (ExternalVolumeSource)

2 participants