Background
In pkg/proto/ateapipb/ateapi.proto, three of the four union members on Volume (ateapi.proto:1248-1275) use <Type>VolumeSource for the message name and a concise <type> field name without repeating _volume:
message Volume {
string name = 1;
DurableDirVolumeSource durable_dir = 2;
ExternalVolumeTemplate external_volume_template = 3;
SystemInfoVolumeSource system_info = 5;
ImageVolumeSource image = 6;
}
ExternalVolumeTemplate external_volume_template breaks both conventions:
- Every sibling message on
ActorTemplate.volumes is named *VolumeSource (DurableDirVolumeSource, SystemInfoVolumeSource, ImageVolumeSource), even though all of them are part of ActorTemplate.
- Its field name repeats
_volume_template inside Volume, whereas the siblings use durable_dir, system_info, and image (and internal/proto/ateletpb/atelet.proto:358 already uses ExternalVolumeSource external = 3;).
Proposed Changes
pkg/proto/ateapipb/ateapi.proto:
- Rename message
ExternalVolumeTemplate -> ExternalVolumeSource.
- Rename field
Volume.external_volume_template -> external.
- Regenerate & update callers:
- Run
hack/update/codegen.sh to regenerate pkg/proto/ateapipb/ateapi.pb.go and declarative validation in cmd/ateapi/internal/apivalidation.
- Update Go callers, tests, and YAML examples in
docs/ (docs/api-guide.md, docs/api-style-guide.md, docs/csi-volumes.md, docs/csi-deployment.md).
Michelle Au (@msau42)
Background
In
pkg/proto/ateapipb/ateapi.proto, three of the four union members onVolume(ateapi.proto:1248-1275) use<Type>VolumeSourcefor the message name and a concise<type>field name without repeating_volume:ExternalVolumeTemplate external_volume_templatebreaks both conventions:ActorTemplate.volumesis named*VolumeSource(DurableDirVolumeSource,SystemInfoVolumeSource,ImageVolumeSource), even though all of them are part ofActorTemplate._volume_templateinsideVolume, whereas the siblings usedurable_dir,system_info, andimage(andinternal/proto/ateletpb/atelet.proto:358already usesExternalVolumeSource external = 3;).Proposed Changes
pkg/proto/ateapipb/ateapi.proto:ExternalVolumeTemplate->ExternalVolumeSource.Volume.external_volume_template->external.hack/update/codegen.shto regeneratepkg/proto/ateapipb/ateapi.pb.goand declarative validation incmd/ateapi/internal/apivalidation.docs/(docs/api-guide.md,docs/api-style-guide.md,docs/csi-volumes.md,docs/csi-deployment.md).Michelle Au (@msau42)