Skip to content

feat(installer): install Docker Desktop unattended with the WSL2 backend (#419) - #487

Merged
shujaatTracebloc merged 3 commits into
developfrom
fix/419-docker-desktop-flags
Jul 30, 2026
Merged

feat(installer): install Docker Desktop unattended with the WSL2 backend (#419)#487
shujaatTracebloc merged 3 commits into
developfrom
fix/419-docker-desktop-flags

Conversation

@shujaatTracebloc

@shujaatTraceblocshujaatTracebloc commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

What & why

On the winget path the installer couldn't pass Docker Desktop's own installer arguments — winget's manifest defaults decided — leaving first-launch license/onboarding prompts possible and the backend choice implicit. The direct-download path already passed install --quiet --accept-license but not --backend=wsl-2.

Changes (scripts/install-k8s.ps1)

  • winget path: add --override "install --quiet --accept-license --backend=wsl-2 --always-run-service" so Docker Desktop's own installer flags apply through winget (--override replaces winget's manifest defaults).
  • direct path: add --backend=wsl-2 --always-run-service to match.
  • --always-run-service (Docker's documented unattended flag) runs the engine service without a GUI first-run — so a fresh machine reaches a running engine with zero Docker Desktop interaction. Both paths now produce the identical unattended result.

Acceptance (from #419)

Tests

Source guards: both install paths select the WSL2 backend explicitly + run the service unattended; winget uses --override. (Widened the #422 killable-process regex for the longer args string.)

Local verification

Pester 275/0/9 · check-style pass · drift clean · manifest regenerated · PS parse OK. (No bash changes — bats unaffected.)

Closes#419


Note

Low Risk
Installer-only change on Windows Docker install flags and tests; no auth, data, or cluster logic touched.

Overview
Windows Docker Desktop install now targets a fully unattended first run: WSL2 backend, license acceptance, and engine service without GUI onboarding.

On the winget path, the script passes Docker’s own installer args via --override "install --quiet --accept-license --backend=wsl-2 --always-run-service" (replacing winget manifest defaults). Arguments are built as a single command-line string for Start-Process so PowerShell 5.1 does not split the quoted --override value.

The direct-download installer path uses the same flags (--backend=wsl-2 --always-run-service) so both routes behave the same.

Tests add a #419 describe block that guards those flags in source, and tweak existing #422 regex windows for the longer installer argument strings. manifest.sha256 is updated for install-k8s.ps1.

Reviewed by Cursor Bugbot for commit 71e69ed. Bugbot is set up for automated code reviews on this repo. Configure here.

On the winget path the installer couldn't pass Docker Desktop's own installer
args (winget's manifest defaults decided), leaving first-launch license/onboarding
prompts possible and the backend implicit; the direct path passed
--quiet --accept-license but not --backend=wsl-2.
- winget: add --override 'install --quiet --accept-license --backend=wsl-2
--always-run-service' so Docker's installer flags apply through winget.
- direct: add --backend=wsl-2 --always-run-service to match.
- --always-run-service (Docker's documented unattended flag) starts the engine
service without a GUI first-run, so a fresh machine reaches a running engine
with zero Docker Desktop interaction.
Tests: source guards that both paths select the WSL2 backend + run the service
unattended, and that winget uses --override.
Closes#419
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@shujaatTraceblocshujaatTracebloc self-assigned this Jul 30, 2026
@shujaatTracebloc
shujaatTracebloc marked this pull request as ready for review July 30, 2026 08:43

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 778fdd5. Configure here.

Comment threadscripts/install-k8s.ps1 Outdated
shujaatTraceblocand others added 2 commits July 30, 2026 10:49
…afe, Bugbot)
The --override value was one ArgumentList array element containing spaces; PS 5.1's
Start-Process joins array elements without quoting, so winget received
'--override install' plus stray --quiet/--accept-license tokens and the Docker
installer flags never applied (winget failed -> fell back to the 600 MB direct
download). Build the winget args as a single command-line string with the override
value explicitly double-quoted, so it reaches winget as one argument. Updated the
source guards accordingly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ktop-flags
# Conflicts:
#	scripts/manifest.sha256
@shujaatTracebloc
shujaatTracebloc merged commit 82adbf9 into developJul 30, 2026
35 checks passed
@shujaatTracebloc
shujaatTracebloc deleted the fix/419-docker-desktop-flags branch July 30, 2026 11:37
Sign up for freeto 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.

4 participants

@shujaatTracebloc@saadqbal@LukasWodka@divyasinghds