Skip to content

feat: add support for wslc#57

Open
FrankDeGroot wants to merge 4 commits into
infosupport:mainfrom
FrankDeGroot:feat/wslc-support
Open

feat: add support for wslc#57
FrankDeGroot wants to merge 4 commits into
infosupport:mainfrom
FrankDeGroot:feat/wslc-support

Conversation

@FrankDeGroot

@FrankDeGroot FrankDeGroot commented Jul 12, 2026

Copy link
Copy Markdown

Summary

Add support for WSLc

Related issue

Implements #58

Type of change

  • Bug fix (fix)
  • New feature (feat)
  • Documentation (docs)
  • Refactor / maintenance (refactor / chore)
  • Other:

Checklist

  • My branch is up to date with main and focused on a single change.
  • The project builds and type-checks locally.
  • Tests pass (npm --prefix gateway test) and I added/updated tests where relevant.
  • I ran Prettier and did not reformat unrelated code.
  • Commit messages follow Conventional Commits.
  • I did not introduce logging of secrets, tokens, or credentials.
  • Documentation is updated where needed (README / relevant docs).

Notes for reviewers

  • WSLc is currently in preview.
  • Skipping gateway tests that run only on Linux:
    • Cannot use the current devcontainer because it requires already running huddle. I could first switch back to Podman or Rancher to fix this and then back to WSLc once it is released but I don't wanna.
    • Alternatively we could add two devcontainers: an unsafe one for bootstrapping and the current safe one that requires huddle already running.

@FrankDeGroot FrankDeGroot changed the title add support for wslc feat: add support for wslc Jul 12, 2026
@FrankDeGroot
FrankDeGroot marked this pull request as ready for review July 16, 2026 12:51
@FrankDeGroot
FrankDeGroot requested a review from a team July 16, 2026 12:51
Comment thread cli/src/runtime.ts
// kan zijn), daarna naar `podman`. Zo wint een echte Docker-engine als die er
// is, maar herkennen we Podman ook als het zich als `docker` voordoet.
const detected = detectEngine('docker') ?? detectEngine('podman');
const detected = detectEngine('docker') ?? detectEngine('podman') ?? detectEngine('wslc');

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

detectEngine checks output of *.exe info. wslc.exe does not support info, possibly use that to fall back from wslc.exe to podman.exe to docker.exe.

@insuT0ver

Copy link
Copy Markdown
Contributor

The experiment build is available on the experiment/58-wslc-support branch.

Once the pipeline has processed the branch, both the CLI and Docker images will be published with the experiment-58 tag.

You can try it using:

huddle experiment use 58

Alternatively:

huddle init --experiment 58

This installs the CLI as @infosupport/huddle-cli@experiment-58, restarts the CLI, and runs huddle init using the experiment-58 Docker images. This ensures that the CLI and Docker images always use the exact same experiment version.

To switch back to the regular version, run:

huddle experiment reset

When new changes are made, we need to push them to the experiment branch as well and make sure these branches stay in sync:

  • FrankDeGroot:feat/wslc-support
  • experiment/58-wslc-support

…port

wslc has no `info` subcommand (`wslc info` exits with "Unrecognized
command: 'info'"), so isAvailable() always reported it as unreachable
even when wslc was installed and its daemon running. `huddle init
--runtime wslc` therefore always failed with "Container runtime 'wslc'
is not available."

Use `wslc list` instead, which equally requires a reachable daemon to
succeed. Also fixes detectEngine() to return the actual probed command
instead of hardcoding 'docker', so auto-detection falls through to
wslc correctly when neither Docker nor Podman is available.

Fixes infosupport#58
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.

3 participants