Adds Orbstack Container Runtime Engine by schnie · Pull Request #1761 · astronomer/astro-cli
Description
This PR adds an Orbstack Container Runtime Engine. This specific engine plugs into the existing Docker Runtime, as they both follow the same Runtime pattern. The Orbstack Engine embeds the original Docker Engine and takes advantage of its IsRunning() function. It implements its own custom Start() method to run open -a orbstack instead of docker.
Like the Docker Desktop implemenation we've had support for a while, this only works on Mac at the moment. Windows and Linux users will get a message to start the container runtime manually and try again.
brew install orbstack
astro dev start
If Orbstack is running in the background, nothing additional happens, we just start the containers. If it's not running, the Desktop app starts and the engine loads in the background. The window can be closed out just like Docker Desktop while the engine runs in the background.
🎟 Issue(s)
Related to https://github.com/astronomer/astro/issues/24344
🧪 Functional Testing
Performed all the local dev commands locally with multiple container runtimes to verify no regressions.
Added and refactored tests.
📸 Screenshots
Add screenshots to illustrate the validity of these changes.
📋 Checklist
- Rebased from the main (or release if patching) branch (before testing)
- Ran
make testbefore taking out of draft - Ran
make lintbefore taking out of draft - Added/updated applicable tests
- Tested against Astro-API (if necessary).
- Tested against Houston-API and Astronomer (if necessary).
- Communicated to/tagged owners of respective clients potentially impacted by these changes.
- Updated any related documentation
