kubernetes/kops · error
unknown arch for nerdctl binaries asset: %s
Error message
unknown arch for nerdctl binaries asset: %s
What it means
FindNerdctlAsset's switch has explicit cases for amd64 and arm64; this guard fires for any other architecture value. The pinned nerdctl release assets only exist for those two architectures, so an unsupported arch (e.g. arm, ppc64le) aborts asset building.
Source
Thrown at pkg/nodemodel/wellknownassets/nerdctl.go:44
const (
nerdctlAssetUrlAmd64 = "https://github.com/containerd/nerdctl/releases/download/v1.7.4/nerdctl-1.7.4-linux-amd64.tar.gz"
nerdctlAssetUrlArm64 = "https://github.com/containerd/nerdctl/releases/download/v1.7.4/nerdctl-1.7.4-linux-arm64.tar.gz"
nerdctlAssetHashAmd64 = "71aee9d987b7fad0ff2ade50b038ad7e2356324edc02c54045960a3521b3e6a7"
nerdctlAssetHashArm64 = "d8df47708ca57b9cd7f498055126ba7dcfc811d9ba43aae1830c93a09e70e22d"
)
func FindNerdctlAsset(ig model.InstanceGroup, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) {
var assetURL, assetHash string
switch arch {
case architectures.ArchitectureAmd64:
assetURL = nerdctlAssetUrlAmd64
assetHash = nerdctlAssetHashAmd64
case architectures.ArchitectureArm64:
assetURL = nerdctlAssetUrlArm64
assetHash = nerdctlAssetHashArm64
default:
return nil, fmt.Errorf("unknown arch for nerdctl binaries asset: %s", arch)
}
return buildFileAsset(assetBuilder, assetURL, assetHash)
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Use an instance group with amd64 or arm64 architecture
- Add a nerdctl asset URL/hash for the new architecture in wellknownassets
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at pkg/nodemodel/wellknownassets/nerdctl.go:44 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/d2aaf83042c9d125.
Report an issue: GitHub.