Files
Matt Souza 090304a054 lint: reenable revive unused-parameter check
Signed-off-by: Matt Souza <medsouz99@gmail.com>
2025-10-01 10:42:08 -04:00

57 lines
1.9 KiB
Go

//go:build !remote
package abi
import (
"context"
"fmt"
"strings"
"github.com/containers/buildah/pkg/parse"
"github.com/containers/podman/v5/pkg/domain/entities"
"github.com/containers/podman/v5/pkg/emulation"
lplatform "go.podman.io/common/libimage/platform"
)
// FarmNodeName returns the local engine's name.
func (ir *ImageEngine) FarmNodeName(_ context.Context) string {
return entities.LocalFarmImageBuilderName
}
// FarmNodeDriver returns a description of the local image builder driver
func (ir *ImageEngine) FarmNodeDriver(_ context.Context) string {
return entities.LocalFarmImageBuilderDriver
}
func (ir *ImageEngine) fetchInfo(_ context.Context) (os, arch, variant string, nativePlatforms []string, emulatedPlatforms []string, err error) {
nativePlatform := parse.DefaultPlatform()
platform := strings.SplitN(nativePlatform, "/", 3)
switch len(platform) {
case 0, 1:
return "", "", "", nil, nil, fmt.Errorf("unparsable default platform %q", nativePlatform)
case 2:
os, arch = platform[0], platform[1]
case 3:
os, arch, variant = platform[0], platform[1], platform[2]
}
os, arch, variant = lplatform.Normalize(os, arch, variant)
nativePlatform = os + "/" + arch
if variant != "" {
nativePlatform += "/" + variant
}
emulatedPlatforms = emulation.Registered()
return os, arch, variant, append([]string{}, nativePlatform), emulatedPlatforms, nil
}
// FarmNodeInspect returns information about the remote engines in the farm
func (ir *ImageEngine) FarmNodeInspect(ctx context.Context) (*entities.FarmInspectReport, error) {
ir.platforms.Do(func() {
ir.os, ir.arch, ir.variant, ir.nativePlatforms, ir.emulatedPlatforms, ir.platformsErr = ir.fetchInfo(ctx)
})
return &entities.FarmInspectReport{NativePlatforms: ir.nativePlatforms,
EmulatedPlatforms: ir.emulatedPlatforms,
OS: ir.os,
Arch: ir.arch,
Variant: ir.variant}, ir.platformsErr
}