chore(scaleway): the metadata API's five operations moved to their context variants - #793
Merged
Merged
Conversation
…ntext variants
The nightly drift scan has been red since 2026-09-24, and both halves of its
message are the same event:
5 new upstream operation(s), none triaged
5 route(s) reference an operation that no longer exists upstream
Scaleway added a `WithContext` variant of each MetadataAPI call and turned the
bare one into a deprecated wrapper:
// Deprecated: use GetMetadataWithContext instead
//go:fix inline
func (meta *MetadataAPI) GetMetadata() (m *Metadata, err error) {
ctx, cancel := context.WithTimeout(context.Background(), metadataTimeout)
defer cancel()
return meta.GetMetadataWithContext(ctx)
}
So the endpoints did not move; the names did. The scan stopped counting the old
spellings and it is right to: a method that composes an exported one adds no
endpoint, which is the rule already keeping WaitForServer and
ServerActionAndWait out of the surface.
The refusal is retargeted rather than extended. Listing both spellings was the
first attempt and `drift:update` refused it in one line — `orphan routes (no
upstream match)` on the five old names — which is the report's own alarm for a
refusal naming something upstream no longer has.
The reason itself is unchanged and still true: the metadata service answers on
the link-local address 169.254.42.42, from inside the machine, to a caller that
carries no credentials. Serving it would mean an HTTP listener inside every
emulated machine, and user data reaches the guest through the runtime instead.
`mise run drift:check` green, `mise run prepush` green.
Assisted-by: Claude Code (claude-opus-5)
stephrobert
deleted the
chore/triage-the-metadata-api-context-variants
branch
September 25, 2026 06:49
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.
The nightly drift scan has been red since 2026-09-24, and both halves of its
message are the same event:
Scaleway added a
WithContextvariant of eachMetadataAPIcall and turned thebare one into a deprecated wrapper:
The endpoints did not move; the names did. The scan stopped counting the old
spellings and it is right to: a method that composes an exported one adds no
endpoint, which is the rule already keeping
WaitForServerandServerActionAndWaitout of the surface.Retargeted, not extended
Listing both spellings was the first attempt, and
drift:updaterefused it inone line —
orphan routes (no upstream match)on the five old names. That isthe report's own alarm for a refusal naming something upstream no longer has, and
it fired immediately.
The reason itself is unchanged and still true: the metadata service answers on
the link-local address
169.254.42.42, from inside the machine, to a caller thatcarries no credentials. Serving it would mean an HTTP listener inside every
emulated machine, and user data reaches the guest through the runtime instead.
mise run drift:checkgreen,mise run prepushgreen.🤖 Generated with Claude Code