Skip to content

[DIST-008] Colima on macOS: Binary Installation, Context Configuration, Packaging #74

@Almaz-KG

Description

@Almaz-KG

This ticket focuses ONLY on the remaining, non-implemented parts of the macOS Colima integration #31

Scope

  • Implement Binary installation path for Colima (+ Lima dependency)
  • Configure Docker context to use Colima (or set DOCKER_HOST) after install/start.
  • Improve detection by checking Docker context in addition to current checks

Out of scope (already implemented):

  • Homebrew-based install orchestration and progress events [feat]: colima macos #72
  • VM startup with configurable resources and progress/validation events.
  • Engine Settings UI with progress view and event wiring.

Backend (Rust)

  • Download pinned releases for Colima and Lima (version matrix + SHA256 in config).
  • Install binaries to the correct prefix based on arch:
    • Apple Silicon: /opt/homebrew/bin
    • Intel: /usr/local/bin
  • Ensure execute bits, create required dirs (e.g., ~/.colima).
  • Emit progress via existing Tauri events:
    • installation-progress, installation-complete, installation-error
  • Handle retries and cleanup of temp files.

Frontend (TypeScript)

  1. Engine Setup UI updates
  • When method is binary, surface Binary path details and disk space notes.
  • After successful install, automatically prompt to Start Engine if not running.

Acceptance Criteria

  • Binary installation completes with visible progress of Colima + Lima.
  • Detection reports whether Docker context points to Colima, and UI reflects this accurately.
  • Installer logs are persisted and accessible from the UI.
  • Scripts are packaged within the app bundle and invoked by the backend.

Implementation Notes

  • Event names must match existing frontend listeners:
    • installation-progress, installation-complete, installation-error
    • vm-startup-progress, vm-startup-complete, vm-startup-error

Open Questions

  • Should we automatically bundle colima binaries to Nookat binary?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions