You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Description
Adds Podman container runtime support as an alternative to Docker. Users
can now configure `container_runtime = "podman"` in `helix.toml` to use
Podman for deployments.
**Changes:**
- Added `ContainerRuntime` enum (`Docker`/`Podman`) in `config.rs`
- Updated `DockerManager` to use runtime from project config
- Added auto-start daemon functionality for both runtimes
(macOS/Linux/Windows)
- Renamed `check_docker_available()` to `check_runtime_available()` with
runtime-agnostic logic
- Updated all CLI commands to support both container runtimes
## Related Issues
Closes#653
## Checklist when merging to main
- [x] No compiler warnings (if applicable)
- [x] Code is formatted with `rustfmt`
- [x] No useless or dead code (if applicable)
- [x] Code is easy to understand
- [x] Doc comments are used for all functions, enums, structs, and
fields (where appropriate)
- [x] All tests pass
- [ ] Performance has not regressed (assuming change was not to fix a
bug)
- [ ] Version number has been updated in `helix-cli/Cargo.toml` and
`helixdb/Cargo.toml`
## Additional Notes
<!-- Add any additional information that would be helpful for reviewers
-->
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
- Adds Podman container runtime support as an alternative to Docker by
introducing a `ContainerRuntime` enum and updating `DockerManager` to
use configured runtime from project settings
- Implements comprehensive cross-platform daemon auto-start
functionality for both Docker and Podman across macOS/Linux/Windows with
platform-specific handling
- Refactors all CLI commands to use runtime-agnostic container
availability checks replacing hardcoded Docker dependencies
<details><summary><h3>Important Files Changed</h3></summary>
| Filename | Overview |
|----------|----------|
| `helix-cli/src/config.rs` | Added `ContainerRuntime` enum and
integration into project config with Docker as default for backward
compatibility |
| `helix-cli/src/docker.rs` | Major refactoring to support both Docker
and Podman with platform-specific daemon management and runtime-agnostic
operations |
| `helix-cli/src/commands/status.rs` | Updated to use configurable
runtime but still displays "Docker Status" label regardless of runtime
choice - potential UX inconsistency |
</details>
<!-- greptile_other_comments_section -->
**Context used:**
- Context from `dashboard` - Main documentation for all of HelixDB, the
SDKs, HelixQL, and the Helix CLI
([source](https://app.greptile.com/review/custom-context?memory=861865e1-0cf9-4602-a499-40c0c360142c))
- Context from `dashboard` - readme for helixdb
([source](https://app.greptile.com/review/custom-context?memory=128beba4-b562-4fe4-b7ba-aef1f5b3f204))
<!-- /greptile_comment -->
0 commit comments