Satisfy platform image lint rules

This commit is contained in:
Fedor Korotkov 2026-07-16 16:52:40 -04:00
parent f3493a427f
commit e82a258c1e
2 changed files with 10 additions and 7 deletions

View File

@ -1,22 +1,25 @@
package imageconstant package imageconstant
import ( import (
"errors"
"fmt" "fmt"
v1 "github.com/cirruslabs/orchard/pkg/resource/v1" v1 "github.com/cirruslabs/orchard/pkg/resource/v1"
) )
var ErrUnsupportedPlatform = errors.New("unsupported platform")
const ( const (
DefaultMacosImage = "ghcr.io/cirruslabs/macos-tahoe-base:latest" DefaultMacosImage = "ghcr.io/cirruslabs/macos-tahoe-base:latest"
DefaultLinuxAMD64Image = "ghcr.io/cirruslabs/ubuntu-amd64:24.04" DefaultLinuxAMD64Image = "ghcr.io/cirruslabs/ubuntu-amd64:24.04"
DefaultLinuxARM64Image = "ghcr.io/cirruslabs/ubuntu:24.04" DefaultLinuxARM64Image = "ghcr.io/cirruslabs/ubuntu:24.04"
) )
func DefaultImage(os v1.OS, architecture v1.Architecture) (string, error) { func DefaultImage(operatingSystem v1.OS, architecture v1.Architecture) (string, error) {
switch os { switch operatingSystem {
case v1.OSDarwin: case v1.OSDarwin:
if architecture != v1.ArchitectureARM64 { if architecture != v1.ArchitectureARM64 {
return "", fmt.Errorf("no default image for %s/%s", os, architecture) return "", fmt.Errorf("%w: %s/%s", ErrUnsupportedPlatform, operatingSystem, architecture)
} }
return DefaultMacosImage, nil return DefaultMacosImage, nil
@ -27,9 +30,9 @@ func DefaultImage(os v1.OS, architecture v1.Architecture) (string, error) {
case v1.ArchitectureARM64: case v1.ArchitectureARM64:
return DefaultLinuxARM64Image, nil return DefaultLinuxARM64Image, nil
default: default:
return "", fmt.Errorf("no default image for %s/%s", os, architecture) return "", fmt.Errorf("%w: %s/%s", ErrUnsupportedPlatform, operatingSystem, architecture)
} }
default: default:
return "", fmt.Errorf("no default image for %s/%s", os, architecture) return "", fmt.Errorf("%w: %s/%s", ErrUnsupportedPlatform, operatingSystem, architecture)
} }
} }

View File

@ -60,7 +60,7 @@ func CloneDefaultImage(ctx context.Context, logger *zap.SugaredLogger, destinati
case v1.OSDarwin: case v1.OSDarwin:
_, _, err = tart.Tart(ctx, logger, "clone", image, destination) _, _, err = tart.Tart(ctx, logger, "clone", image, destination)
default: default:
return fmt.Errorf("unsupported host OS: %q", hostOS) return fmt.Errorf("%w: %q", imageconstant.ErrUnsupportedPlatform, hostOS)
} }
return err return err
@ -78,7 +78,7 @@ func ListVMs(ctx context.Context, logger *zap.SugaredLogger) ([]vmmanager.VMInfo
case v1.OSDarwin: case v1.OSDarwin:
return tart.List(ctx, logger) return tart.List(ctx, logger)
default: default:
return nil, fmt.Errorf("unsupported host OS: %q", hostOS) return nil, fmt.Errorf("%w: %q", imageconstant.ErrUnsupportedPlatform, hostOS)
} }
} }