-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
in_calyptia_fleet: windows support. #7929
Conversation
b2234f8
to
23942ed
Compare
There is still a blocker concerning the compile error on 32 bit windows which I have yet to resolve. |
This one? https://ci.appveyor.com/project/fluent/fluent-bit-2e87g/builds/48047875/job/ubcx7x6cxx26ftkj
|
It was failing on compile before. Seems like my last commit fixed it. |
Signed-off-by: Phillip Whelan <[email protected]>
Signed-off-by: Phillip Whelan <[email protected]>
…eload. Signed-off-by: Phillip Whelan <[email protected]>
…in32. Signed-off-by: Phillip Whelan <[email protected]>
Signed-off-by: Phillip Whelan <[email protected]>
Signed-off-by: Phillip Whelan <[email protected]>
Signed-off-by: Phillip Whelan <[email protected]>
02d3a2c
to
141c3c2
Compare
Summary
This PR implemenets hot reload in windows for the
in_calyptia_fleet
plugin. It includes the necessary changes for the plugin itself as well as rudimentary support for hot-reload under win32.Obstacles
The calyptia fleet plugin reloads configuration taken from calyptia, which requires hot-reload in windows. This requires two major changes:
Solutions
TLS
The first concern was fixed in monkey and is still awaiting merging upstream to fluent-bit.
SIGHUP
I used GenerateConsoleCtrlEvent to simulate the behavior of the SIGHUP signal in windows and implemented a simple mechanism to signal the main thread from the GenerateConsoleCtrlEvent handler. This is so the main thread can execute flb_reload.
The implementation I went with uses a simple
int
to mark that the signal has been raised. The main loop then checks it, marks it as zero and then executesflb_reload
. This is, admittedly, functional but not elegant.Enter
[N/A]
in the box, if an item is not applicable to your change.Testing
Before we can approve your change; please submit the following in a comment:
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
ok-package-test
label to test for all targets (requires maintainer to do).Documentation
Backporting
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.