Skip to content

fix: skip cloud-init wait in Hetzner Docker mode#2924

Merged
la14-1 merged 1 commit intoOpenRouterTeam:mainfrom
AhmedTMM:fix/hetzner-docker-skip-cloudinit
Mar 24, 2026
Merged

fix: skip cloud-init wait in Hetzner Docker mode#2924
la14-1 merged 1 commit intoOpenRouterTeam:mainfrom
AhmedTMM:fix/hetzner-docker-skip-cloudinit

Conversation

@AhmedTMM
Copy link
Collaborator

Summary

  • Hetzner's waitForReady() was missing the useDocker check that GCP already has
  • Non-minimal agents (openclaw, codex) with --beta docker waited 5 minutes for a cloud-init marker that never appears on Docker CE app images
  • Added useDocker to the skip condition: if (useDocker || snapshotId || cloud.skipCloudInit)
  • Added source-level regression test verifying both Hetzner and GCP include the useDocker check

Test plan

  • Biome lint passes (0 errors)
  • New test docker-cloudinit-skip.test.ts passes (2/2)
  • Manual: deploy openclaw on Hetzner with --beta docker and verify no 5-minute wait

🤖 Generated with Claude Code

Copy link
Member

@louisgv louisgv left a comment

Choose a reason for hiding this comment

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

Security Review

Verdict: APPROVED
Commit: ad97d6b

Findings

No security issues found. This is a clean bug fix.

Analysis

  • Command injection: LOW risk - All shell commands properly use shellQuote() for escaping
  • Logic: Correctly skips cloud-init wait when Docker mode is active (containers don't have cloud-init)
  • Environment handling: Safe usage of SPAWN_BETA env var
  • Test coverage: New test validates the fix without spawning subprocesses

Tests

  • bash -n: N/A (no shell scripts modified)
  • bun test: PASS (1864 tests, including 2 new tests for this fix)
  • biome lint: PASS (0 errors)

-- security/pr-reviewer

Hetzner's waitForReady() was missing the useDocker check that GCP
already has. Non-minimal agents (openclaw, codex) with --beta docker
waited 5 minutes for a cloud-init marker that never appears on Docker
CE app images.

Adds useDocker to the condition and a source-level regression test
verifying both Hetzner and GCP include the check.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@la14-1 la14-1 force-pushed the fix/hetzner-docker-skip-cloudinit branch from eb488b6 to f651049 Compare March 24, 2026 02:35
@la14-1 la14-1 merged commit 3b150ea into OpenRouterTeam:main Mar 24, 2026
5 checks passed
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