Skip to content

fix(#558): write Docker Desktop autostart for a provisioned daily user - #623

Merged
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart
Aug 6, 2026
Merged

fix(#558): write Docker Desktop autostart for a provisioned daily user#623
divyasinghds merged 3 commits into
developfrom
fix/558-provisioned-user-docker-autostart

Conversation

@divyasinghds

@divyasinghds divyasinghds commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Closes #558.

Fix

For a provisioned, different daily user, write a Docker Desktop Startup-folder shortcut in that user profile (the Run key can't reach their hive), closing the autostart gap that left the client down after reboot.

Files

  • scripts/install-k8s.ps1

Validation

pwsh unavailable in this env — please run on a Windows runner before merge.

🤖 Generated with Claude Code


Note

Low Risk
Scoped to Windows install-script daily-user provisioning and summary strings; no auth, cluster, or runtime API changes.

Overview
Fixes #558: when IT runs the elevated installer for a different day-to-day user, Docker Desktop no longer relied only on the current user’s Run key or --always-run-service, so after reboot the WSL2 engine and k3d stack could stay down until someone opened Docker Desktop manually.

Set-DailyUserProvisioning now branches on who the daily user is: same as the installer still uses the HKCU Run entry; a provisioned other user with a loaded profile gets a Startup folder .lnk via WScript.Shell (hive-free logon autostart). Missing Docker Desktop, no profile yet, or COM/path failures are logged and reflected in $did with explicit manual steps (mirror the existing .wslconfig honesty). Comments document why WSL2 needs the GUI path for the second user.

scripts/manifest.sha256 is updated for install-k8s.ps1. Pester tests assert the shortcut path strings and the “couldn’t set Docker Desktop autostart” fallback text.

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

@divyasinghds
divyasinghds requested a review from saadqbal as a code owner August 6, 2026 09:21

@cursor cursor Bot 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 de1634c. Configure here.

Comment thread scripts/install-k8s.ps1
divyasinghds and others added 3 commits August 6, 2026 16:26
Set-DailyUserProvisioning only wrote the HKCU Run key when the provisioned
user was the account running the installer ($user -eq $env:USERNAME). For a
provisioned DIFFERENT daily user (the hospital IT-installs-elevated case),
their registry hive isn't loaded, so no autostart was written and the code
relied on --always-run-service. On the WSL2 backend dockerd runs inside the
docker-desktop distro that the Docker Desktop GUI boots, so without the GUI
autostarting on that user's login the engine isn't up after a reboot and the
k3d containers have no daemon to restart into — the client is down until
someone opens Docker Desktop manually.

For the provisioned different user, drop a "Docker Desktop.lnk" into their
Startup folder (same launch-at-logon mechanism as the Run key, no hive load
needed). When they have no profile yet, name the one-click GUI setting to flip
after first sign-in. The current-user Run-key path is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…#558)

scripts/install-k8s.ps1 changed in this branch; regenerate the signed
integrity manifest via scripts/gen-manifest.sh so the "Static analysis"
gate (gen-manifest.sh --check) passes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cross-user Docker Desktop autostart path (Startup-folder shortcut for a
provisioned DIFFERENT daily user) can fail on Startup-dir creation, the
WScript.Shell COM object, or saving the .lnk. It was caught by the outer
`catch { Log ... }`, which logged but added nothing to $did. With docker-users
succeeding, the summary then printed a green "Configured for '$user'" with no
autostart note -- so IT left the elevated window thinking #558 was handled while
the daily user still had no autostart and the client is down after every reboot.

Append a manual-step note to $did on failure, mirroring the .wslconfig catch in
the same function, and name the one-click GUI remediation. Add source-guard
Pester tests for the Startup-shortcut feature and the new failure-note path;
refresh manifest.sha256.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@divyasinghds
divyasinghds force-pushed the fix/558-provisioned-user-docker-autostart branch from de1634c to 2dd9e6c Compare August 6, 2026 11:04
@divyasinghds

Copy link
Copy Markdown
Contributor Author

Redundancy check vs develop's existing autostart machinery: verdict (a) — still needed and additive.

Rebased onto current develop (now carrying #418 daily-user provisioning, #419 --always-run-service, #611/#612 Windows install hardening, #597). develop's Set-DailyUserProvisioning covers three things for the provisioned daily user: docker-users membership (section 1), current-user Run-key autostart (section 2), and a training-sized .wslconfig (section 3). None of these autostart Docker Desktop for a different provisioned user:

So the #558 cross-user Startup-folder shortcut fills a real gap that no merged develop machinery covers. No recommendation to close — keep the PR. The Bugbot silent-failure finding (autostart failing behind a green summary) is fixed in this push.

🤖 Claude Code

@divyasinghds
divyasinghds merged commit b3a1aed into develop Aug 6, 2026
36 of 38 checks passed
@divyasinghds
divyasinghds deleted the fix/558-provisioned-user-docker-autostart branch August 6, 2026 13:38
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.

Provisioned daily-user Docker Desktop autostart gap → client down after reboot

3 participants