From 9e824452bd3799050f6a36dc1774ddf7120bf78a Mon Sep 17 00:00:00 2001 From: Ophestra Date: Tue, 2 Jun 2026 16:05:09 +0900 Subject: [PATCH] internal/pkg: expose snapshot of binfmt entries This is otherwise not externally accessible. The resulting map can be safely mutated. Signed-off-by: Ophestra --- internal/pkg/exec.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/pkg/exec.go b/internal/pkg/exec.go index ceb75fef..0fe20848 100644 --- a/internal/pkg/exec.go +++ b/internal/pkg/exec.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "io" + "maps" "os" "os/exec" "path/filepath" @@ -122,6 +123,15 @@ func RegisterArch(arch string, e container.BinfmtEntry) { binfmt[arch] = e } +// Arch returns a snapshot of currently registered [KindExec] and [KindExecNet] +// binfmt entries. +func Arch() map[string]container.BinfmtEntry { + binfmtMu.RLock() + r := maps.Clone(binfmt) + binfmtMu.RUnlock() + return r +} + const ( // ExecTimeoutDefault replaces out of range [NewExec] timeout values. ExecTimeoutDefault = 15 * time.Minute