OSS Support Policy
Terms And Conditions
Karafka's Open Source Software (OSS) support primarily revolves around assisting users with issues related to the Karafka and librdkafka ecosystems. This involves troubleshooting and providing solutions for problems originating from Karafka or its related subcomponents.
However, it is crucial to understand that the OSS support does not extend to application-specific issues that do not originate from Karafka or its related parts. This includes but is not limited to:
- Incorrect application configurations unrelated to Karafka.
- Conflicts with other libraries or frameworks within your application.
- Deployment issues on specific infrastructure or platforms.
- Application-specific runtime errors.
- Problems caused by third-party plugins or extensions.
- Data issues within your application.
- Issues related to application performance optimization.
- Integration problems with other services or databases.
- Design and architecture questions about your specific application.
- Language-specific issues are unrelated to Karafka or librdkafka.
- Issues related to usage of outdated ecosystem libraries versions.
We acknowledge that understanding your specific applications and their configuration is essential, but due to the time and resource demands, this goes beyond the scope of our OSS support.
Enhance Your Karafka Experience with Pro Support
For users seeking assistance with application-specific issues, we offer a Pro version of Karafka. This subscription provides comprehensive support, including help with application-specific problems.
For more information about our Pro offering, please visit this page.
Issue Reporting Guide
When reporting an issue within the Karafka ecosystem, providing detailed information is crucial for diagnosing and resolving the problem efficiently.
Complete Information Required
Failing to provide the below information may result in the issue being closed without assessment.
Please include as many of the following details as possible to help me understand and address the issue:
Detail | Description |
---|---|
Karafka Info | Full result of running your project's bundle exec karafka info command. |
karafka.rb Content |
Provide your entire karafka.rb file, excluding sensitive details. To properly assess most issues, including all details in the karafka.rb file is essential. |
Ecosystem Components Details | Provide versions of any Karafka ecosystem components you are using, such as karafka-core , waterdrop , karafka-rdkafka , and karafka-web . |
Operating System | Your operating system and its version (e.g., uname -a on Unix-based systems or the Windows version). |
Kafka Version | The version of Apache Kafka you are connecting to. |
Configuration Details | Relevant configuration details from your karafka.rb and other configuration files. |
Error Messages | The exact error messages or full stack traces you encounter. |
Debug Logs | All debug logs including debug logs from librdkafka. |
Reproduction Steps | A clear and concise set of steps to reproduce the issue. |
Application Dependencies | A list of gems and their versions that might be relevant (e.g., from your Gemfile.lock ). |
Description of the Issue | A detailed description of the problem, including what you expected to happen and what happened. |
Network Configuration (if applicable) | Details about your network setup if you suspect network-related issues (e.g., firewall rules, proxies). |
Kafka Vendor and Deployment Details | Specify the Kafka vendor you use (e.g., Confluent, MSK, self-hosted, etc.). Additionally, indicate whether the Karafka processes are running in the same availability zone as your Kafka brokers. |
Installation Method | How you installed Karafka or its components (e.g., using Bundler, manually from source). |
Environment | The environment in which the errors occur (e.g., development, production). |
Kafka Cluster Setup | Information about your Kafka cluster setup (e.g., single-node, multi-node, cloud provider). |
Consumer Group Configuration | Details about your consumer group configuration (e.g., number of consumers, partition assignments). |
Producer Configuration | Configuration details for any Kafka producers you use. |
Additional Context | Any other relevant context or information that might help in diagnosing the issue. |
Karafka API End-User API Definition
The Karafka framework offers a range of functionalities to streamline building event-driven applications. Understanding what constitutes a Karafka API is essential for developers leveraging its capabilities. While Karafka provides various public methods and interfaces, it's crucial to discern which ones are intended for direct use by end users.
Public Methods and Internal Usage
Not all public methods within the Karafka codebase are meant for direct user consumption. Some methods are publicly accessible but primarily intended for internal use by various components of the Karafka framework itself. This distinction arises due to the complex nature of building a framework or an ecosystem of gems, where numerous moving parts require public interfaces for framework developers rather than for end users.
Official End-User API
Karafka delineates its official end-user API in its documentation to provide clarity and stability, available at karafka.io/docs. This documentation outlines the recommended practices, configurations, and interfaces for developers building applications with Karafka. Any methods or interfaces not explicitly documented as part of this public API should be considered subject to change without prior notice.