You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix socat bridge creation in docker-init.sh.tmpl - #83
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The entrypoint can execute the requested command without a Docker socket bridge if socat fails, because the polling loop does not verify that the socket appeared.
This PR fixes Docker socket bridge startup in the Docker-out feature so socat can handle separate client connections without blocking the container command.
Changes:
Places the listening socket before the source connection in the socat arguments.
Runs socat in the background.
Adds bounded polling for the target socket before continuing.
File
Description
features/src/docker-out/docker-init.sh.tmpl
Corrects socat address order, backgrounds the bridge, and adds socket readiness polling.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
The socket pathname check can pass before socat starts listening, allowing the command to launch prematurely and encounter ECONNREFUSED.
No open issues 🎉
1 previously missed issue
In code that hasn't changed since last review
Probe socket readiness before launching the command
features/src/docker-out/docker-init.sh.tmpl:84
The socket path exists after bind(), before socat calls listen(), so this check can launch the command while connections still fail with ECONNREFUSED. A bound-but-not-listening UNIX socket passes this loop even though it refuses connections. Replace the pathname checks with a bounded connection-readiness probe against the target socket.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Identical socket overrides can cause the script to delete the source socket and create a self-referential listener that recursively spawns socat processes instead of reaching Docker.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated socat bridge creation to ensure proper socket connection order and background execution.