Skip to content

feat: replace binary log driver with FIFO-based in-process logging#441

Draft
ayush-panta wants to merge 4 commits into
mainfrom
feat/fifo-logging
Draft

feat: replace binary log driver with FIFO-based in-process logging#441
ayush-panta wants to merge 4 commits into
mainfrom
feat/fifo-logging

Conversation

@ayush-panta

@ayush-panta ayush-panta commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

Description of changes: Replace the binary:// log driver with FIFO-based in-process logging. Instead of containerd's shim forking an external binary to capture container stdout/stderr, finch-daemon reads container output directly via named pipes and writes json-file logs itself. This requires us to move away from using nerdctl's container start and implement our own custom start function.

This is the first of two PRs to remove finch-daemon's runtime dependency on the nerdctl binary. This PR handles logging; a follow-up PR will handle networking (hookless CNI setup/teardown), also depending on the custom start implementation.

Testing done: Added unit and e2e testing. I also manually performed extensive testing of standard use cases when developing the proof of concept.

  • I've reviewed the guidance in CONTRIBUTING.md

License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ayush-panta ayush-panta force-pushed the feat/fifo-logging branch 6 times, most recently from afd4674 to 0424065 Compare April 22, 2026 18:22
@ayush-panta ayush-panta marked this pull request as ready for review April 22, 2026 18:47
@ayush-panta ayush-panta requested a review from a team as a code owner April 22, 2026 18:47
Swapnanil-Gupta
Swapnanil-Gupta previously approved these changes Jun 2, 2026

@Swapnanil-Gupta Swapnanil-Gupta left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM 🚀

Comment thread internal/service/container/reattach.go
Pin the durable functions emulator to v1.1.1 to avoid upstream event
ordering regression in the latest image. SAM CLI unpinned this in
v1.162.0 (#9054) and their own CI is now failing the same way.

Signed-off-by: ayush-panta <[email protected]>
Apply upstream fix from aws/aws-sam-cli#9097 — the emulator now reports
WaitForCallback instead of RunInChildContext. This patch can be removed
once a new SAM CLI release includes the fix.

Signed-off-by: ayush-panta <[email protected]>
@ayush-panta ayush-panta marked this pull request as draft June 29, 2026 17:45
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.

2 participants