Satisfy platform image lint rules
This commit is contained in:
parent
f3493a427f
commit
e82a258c1e
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue