DevOps: Cloud Agent Docker API permission denied (bootstrap + verify) #288
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#288
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Cursor Cloud Agents report Docker failures when running stack or QA scripts:
scripts/start-local-anvil-stack.shandscripts/start-qa-local-full-stack.shexpectyieldomega-pgviadocker run. Agents without working Docker must fall back to native Postgres (AGENTS.md§ Postgres without Docker), but many agents still attempt Docker first and burn time on opaque socket errors.Current state
scripts/bootstrap-cloud-vm-toolchain.shfuse-overlayfs/vfsfallback, startsdockerd,usermod -aG docker,chmod 666on/var/run/docker.sockscripts/verify-cloud-vm-toolchain.shdocker infoordocker run hello-worldfails.cursor/environment.jsonObserved on nested Cloud VMs:
dockerdmay run as root while the agent user lacks group membership until re-login;chmod 666may not persist across snapshots; overlay mount errors leave daemon up butdocker runbroken.Goals
docker infostderr).Recommended direction
fix_docker_socket_permissions/ensure_dockerto verify as$USER(not only root), re-apply group + socket perms, optionallynewgrp dockerhint in log.scripts/verify-docker-cloud-agent.sh(or extend verify-cloud-vm-toolchain) that prints remediation steps on failure./tmp/yieldomega-docker-unavailableand log native Postgres one-liner from AGENTS.md.verify-cloud-vm-toolchain.shpost-bootstrap and surface FAIL in agent instructions.start-local-anvil-stack.shand auto-suggestPG_HOST_PORTnative path.Acceptance criteria
bash scripts/bootstrap-cloud-vm-toolchain.sh,docker infoanddocker run --rm hello-worldsucceed without sudo for the dev user, or bootstrap exits with explicit "use native Postgres" and verify script documents SKIP vs FAIL.bash scripts/verify-cloud-vm-toolchain.shdistinguishes Docker required vs optional (today: hard FAIL on docker).AGENTS.mdtroubleshooting subsection: socket permission denied + remediation steps.Out of scope
Labels
devops,testing,cloud-agentmentioned in issue #287
mentioned in commit e696a74855ef01bbbfc02dee00703bd06ef35e5f
mentioned in merge request !421
mentioned in commit 134128aa7e53840b5b636f7274cee75917f0bdc0
mentioned in commit
8f6a936faamentioned in commit
d9b1ed959cVerification (#288) — all acceptance criteria PASS
Implementation is already on
main(merged9b1ed9fromcursor/cloud-agent-docker-perms-288-6d29). No additional MR from this agent run.Acceptance criteria
bash scripts/bootstrap-cloud-vm-toolchain.sh(socket fix viayieldomega_fix_docker_socket_permissions);bash scripts/verify-docker-cloud-agent.shchmod 666(bootstrap path); SKIP (exit 2,docker_permission_denied) before fix — marker written on bootstrap failure viayieldomega_mark_docker_unavailableverify-cloud-vm-toolchain.shoptional vs required Dockerbash scripts/verify-cloud-vm-toolchain.sh(docker lines)SKIPwhen optional broken;YIELDOMEGA_DOCKER_REQUIRED=1→ FAIL with diagnosisAGENTS.mdtroubleshootingCommands run (this VM,
ubuntu@Cloud Agent)Deliverables (on
main)scripts/lib/docker_cloud_agent.sh— diagnosis, error kind, socket fix, marker, stack hintsscripts/verify-docker-cloud-agent.sh— exit 0/1/2 (PASS/FAIL/SKIP)scripts/verify-cloud-vm-toolchain.sh— delegates Docker; no hard FAIL when optionalscripts/bootstrap-cloud-vm-toolchain.sh— verify as$USER, vfs fallback, marker + native Postgres one-linerscripts/start-local-anvil-stack.sh—yieldomega_docker_stack_failure_hinton socket failureINV-DEVOPS-288-*: docs/testing/invariants-and-business-logic.md §288.cursor/skills/yieldomega-guardrails/SKILL.md, qa-local-full-stack.md.cursor/environment.json— post-bootstrapverify-cloud-vm-toolchain.shThird-party verification checklist
bash scripts/test-docker-cloud-agent-lib.sh→ PASSbash scripts/verify-docker-cloud-agent.sh→ PASS or SKIP (not FAIL unlessYIELDOMEGA_DOCKER_REQUIRED=1)bash scripts/verify-cloud-vm-toolchain.sh→ Docker line PASS or SKIP (toolchain may FAIL on unrelated layers, e.g. Postgres #287)start-local-anvil-stack.shprints native Postgres hint when Docker failsClosing as complete on
main.mentioned in commit
8b1fdf8c79mentioned in commit
7698e97f5a