Repository navigation
Sync the November API snapshot: VM public IPv4 RPCs - #12
Merged
Merged
Conversation
Snapshot of Metalhost main 895d9d14. Adds GetVmPublicAccess, AddVmPublicIpv4, RemoveVmPublicIpv4 and UpdateVmPublicIpv4 to NetworkService with the VmPublicIpv4 message and its mode and guest status enums, PublicIp.reserved, PublicIpBinding.mode, VMNetworkSpec.allow_ssh and CreateOperationRequest.vm_allow_ssh. Compatible with v1.3.0 (buf breaking clean); admin RPCs stay excluded. aes.network.v1.StatusService (status.proto) is excluded by the sync script: no backend binary serves it yet.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Snapshot of Metalhost
main895d9d14 (includes backend #453, many public IPv4s per VM).API additions
NetworkService:GetVmPublicAccess,AddVmPublicIpv4,RemoveVmPublicIpv4,UpdateVmPublicIpv4VmPublicIpv4message,VmPublicIpv4Mode(shared/dedicated) andVmPublicIpv4GuestStatusenums, and the four request/response pairsPublicIp.reserved,PublicIpBinding.modeVMNetworkSpec.allow_ssh(optional, unset means true);CreateOperationRequest.vm_allow_sshVirtualMachineSpec.cloud_initis kept as supplied andusersare added alongside itdocs/API_SURFACE.mdgets a November section (labelled v1.4.0, assuming that is the next tag).Excluded
aes.network.v1.StatusService(proto/aes/network/v1/status.proto, server-streamingSubscribeStatus) is new in the public network package but no backend binary mounts it onmainyet, and itsStatusEventresponse name fails the SDK'sbuf lint(the backend exempts it). The sync script now drops that file; publish it once the API serves it.Validation
make tools(pinned buf v1.50.0 and plugins)make generateon unmodifiedmain: no diff (generator output reproducible)METALHOST_API_SOURCE=<backend worktree at origin/main> ./scripts/sync-api-snapshot.sh: lint, generate, finalize OpenAPI,go mod tidy,go test ./...passbuf breaking --against '.git#tag=v1.3.0': cleanmake ci: pass (exit 0);go vet ./...: clean