Skip to content

Conversation

JonSnow1807
Copy link

@JonSnow1807 JonSnow1807 commented Jul 29, 2025

Description

This PR adds complete support for Colima as an alternative to Docker Desktop for running metaflow-dev on macOS.

Problem

The current check-docker target in devtools/Makefile uses open -a Docker which only works with Docker Desktop. This prevents users who use Colima (or other Docker alternatives) from using metaflow-dev.

Solution

Implemented full Colima integration including:

  1. Detection and Configuration: Automatically detects and configures Colima runtime
  2. Context Management: Properly switches Docker context to use Colima
  3. Environment Setup: Configures required environment variables (DOCKER_HOST, etc.)
  4. Setup Automation: Includes setup script for easy Colima installation
  5. Documentation: Comprehensive guide for using Colima with Metaflow

Changes

  • Modified devtools/Makefile to support multiple Docker runtimes
  • Added devtools/setup-colima.sh for automated Colima setup
  • Added docs/colima.md with usage documentation
  • Updated README.md to mention Colima support
  • Maintains full backward compatibility with Docker Desktop

Testing

Tested on macOS with:

  • ✅ Colima - full functionality verified
  • ✅ Docker Desktop - backward compatibility maintained
  • ✅ Switching between runtimes
  • ✅ Docker Compose operations
  • ✅ Environment variable exports for sub-processes
  • ✅ macOS version compatibility (pre and post Ventura)

Related Issues

This is a complete implementation following feedback from #2520

Fixes #2362

- Add Docker context management to properly route commands through Colima
- Configure required environment variables (DOCKER_HOST, etc.)
- Add setup script for easy Colima configuration
- Support both Docker Desktop and Colima transparently
- Add comprehensive documentation for Colima usage
- Maintain backward compatibility with Docker Desktop

This enables users who cannot use Docker Desktop due to licensing
to use Colima as a drop-in replacement for Metaflow development.

Fixes Netflix#2362
…OS compatibility

- Export DOCKER_HOST and related variables for sub-processes
- Make vm-type conditional based on macOS version (vz requires macOS 13+)
- Ensures Colima configuration is properly used throughout the build process
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support colima for metaflow-dev
1 participant