-
Notifications
You must be signed in to change notification settings - Fork 1
fix: add missing dependencies for SASL support on all targets #100
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
Conversation
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
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.
Additional Comments (1)
-
source/packaging/distros/suse/Dockerfile, line 36-37 (link)logic: Missing
cyrus-sasl-develpackage for SASL support. All SUSE targets need this for AWS MSK IAM authentication to work.
10 files reviewed, 1 comment
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.
Got it! That makes sense to address the SUSE Dockerfile changes as part of issue #96 since the upstream PR already includes those updates. This avoids duplicating work and keeps the changes organized by their logical groupings.
Just to confirm - this means the SUSE builds will temporarily fail with the new fatal error validation until #96 is merged, but that's an acceptable trade-off to keep the PRs focused and avoid conflicts with the upstream changes?
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
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.
3 files reviewed, no comments
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
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.
2 files reviewed, no comments
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
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.
6 files reviewed, no comments
Signed-off-by: Patrick Stephens <[email protected]>
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.
2 files reviewed, no comments
Signed-off-by: Patrick Stephens <[email protected]>
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.
2 files reviewed, 1 comment
Signed-off-by: Patrick Stephens <[email protected]>
Signed-off-by: Patrick Stephens <[email protected]>
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.
2 files reviewed, no comments
Resolves #73 by ensuring we have the missing development dependencies for SASL support with AWS IAM and Kafka: confluentinc/librdkafka#1090
As part of this discovered that Kafka is disabled for CentOS 7 in upstream and here so re-enabled now we support it properly.
Resolves #96 by including the upstream changes for that.
Update the checks for these to be fatal rather than implicitly disabling it as well.
Upstream PR: fluent/fluent-bit#11127
Greptile Overview
Updated On: 2025-11-07 15:59:18 UTC
Greptile Summary
This PR enables comprehensive SASL support across all build targets to support AWS MSK IAM authentication with Kafka. The changes add
cyrus-sasl-develdependencies to all Linux distributions and create a dedicated CentOS 7 build that compiles OpenSSL 3.5.2 from source to meet modern dependency requirements.Key changes:
cyrus-sasl-develto AlmaLinux, Rocky Linux, SUSE, and created new CentOS 7 build with OpenSSL 3.5.2CURL_AT_LEAST_VERSIONmacro with directLIBCURL_VERSION_NUMcomparison for CentOS 7 compatibilityConfidence Score: 4/5
source/packaging/distros/centos/7/Dockerfile:98lacks explicit--prefixspecification which could cause path inconsistencies, but this is already flagged. All other changes properly add dependencies, improve error handling, and fix actual bugssource/packaging/distros/centos/7/Dockerfile- verify the OpenSSL Configure command includes--prefix=/usr/localto match thePKG_CONFIG_PATHon line 112Important Files Changed
File Analysis
cyrus-sasl-develfor SASL support; OpenSSL Configure missing--prefixflagSequence Diagram
sequenceDiagram participant Dev as Developer participant CI as CI Build System participant Docker as Docker Build participant YUM as Package Manager participant OpenSSL as OpenSSL 3.5.2 participant CMake as CMake Config participant Kafka as librdkafka Dev->>CI: Push commit with SASL deps Note over CI,Docker: CentOS 7 Build Process CI->>Docker: Start centos:7 container Docker->>YUM: Install build dependencies Note over YUM: Installs: gcc, cmake,<br/>cyrus-sasl-lib, cyrus-sasl-devel,<br/>openssl-devel, libcurl-devel YUM-->>Docker: Dependencies installed Note over Docker,OpenSSL: Build OpenSSL from source Docker->>OpenSSL: Download openssl-3.5.2.tar.gz Docker->>OpenSSL: ./Configure && make && make install Note over OpenSSL: Installs to default location<br/>(no --prefix specified) OpenSSL-->>Docker: OpenSSL 3.5.2 installed Docker->>CMake: Configure with custom paths Note over CMake: Sets paths to /usr/local/lib64/pkgconfig CMake->>CMake: Check for libsasl2 via pkg-config alt pkg-config finds libsasl2 CMake->>CMake: Enable SASL support else pkg-config fails CMake->>CMake: Fallback: find_library(sasl2) CMake->>CMake: Enable SASL if found end CMake->>Kafka: Configure librdkafka options Note over Kafka: Enable SASL, SASL_CYRUS,<br/>and SASL_OAUTHBEARER Kafka->>Kafka: Check LIBCURL_VERSION_NUM alt LIBCURL_VERSION_NUM >= 0x075500 Kafka->>Kafka: Use CURLOPT_PROTOCOLS_STR else Legacy CURL (CentOS 7) Kafka->>Kafka: Use CURLOPT_PROTOCOLS end CMake->>CMake: Verify AWS MSK IAM support alt SASL enabled CMake->>CMake: Enable AWS MSK IAM auth else Not Windows CMake->>CMake: FATAL_ERROR - SASL required end CMake->>CMake: validate_required_options() alt All required options enabled CMake-->>Docker: Build configured successfully else Required option missing CMake->>CMake: FATAL_ERROR end Docker->>Docker: make && cpack -G RPM Docker-->>CI: Copy .rpm to /output