-
-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement issue #6296 passing FDs / socket activation #6573
Conversation
no problem. the only conflict that this branch actually touched was the |
I'm really looking forward to this one and have been trying it out. I listen for multiple hosts so was trying to use With Caddyfile
I get the backtrace
Let me know if you'd prefer a separate issue (or different channel entirely) for this. |
that for sure looks like an issue with this branch. thank you for testing it, I can take a look later today. |
@wplinge @mholt this was an additional feature, but it is compatible with every existing Caddyfile and config JSON. I also added a clearer error message for the case in the log. |
@MayCXC Thanks, it works perfectly for me with that update. I'd noticed only one |
great, yeah what happened was only that last |
Well, impressive. This change is too big for me to fully understand and thoroughly review. I appreciate the field testing, and think we could benefit from more of it. So let's go ahead and merge this, if you're ready, so it goes in Caddy 2.9 beta releases. |
thanks, and yes I'm ready now. I will be one of the beta testers with production traffic :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤞
Unfortunately I think this broke integration tests. The annoying thing is the integration tests are horribly flaky, but with this commit on Specifically, this is the failing test:
|
investigating this, it looks like I broke
so next I will debug |
the above config with |
fix is here: #6599 |
third time's the charm ☘️
example Caddyfile:
as seen above, two reserved networks
fd
andfdgram
have been added.fd/3
creates a FileListener from fd 3,fdgram/4
creates a FilePacketConn from fd 4. this simplifies configuration compared to #6543 , but the "actual" host addresses are no longer visible. so, for health checks and the admin interface, fds are treated similarly to unix sockets.this is a good thing i think, fds should be decoupled from the address they are bound to. separate config options can be added to override the origin address for health checks / the admin interface if needed.
link to issue: #6296