Skip to content

Publish a multi-architecture Corral web container image #224

Description

@eseiker

Problem

The published ghcr.io/tuna-os/corral:latest image is currently amd64-only even though Corral's rolling CLI binaries and marketplace plugins already support both amd64 and arm64.

The container workflow hard-codes GOARCH=amd64 and downloads amd64-only kubectl and virtctl binaries before using a single-platform Docker build. This prevents the in-cluster web UI from running natively on arm64 Kubernetes nodes. The image publication job is skipped on pull requests, so architecture regressions are not caught before merge.

Proposed change

  • Prepare Corral, kubectl, and virtctl artifacts for both amd64 and arm64.
  • Select the matching artifacts with BuildKit's target architecture.
  • Build and publish one multi-platform image containing linux/amd64 and linux/arm64 manifests.
  • Build both platforms on pull requests without publishing them.

Acceptance criteria

  • The container build succeeds for both linux/amd64 and linux/arm64.
  • Each platform contains architecture-matching Corral, kubectl, and virtctl binaries.
  • Main-branch publication preserves the existing latest and short-SHA tags.
  • Pull requests validate both container platforms without requiring package write access.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions