kubescape / kubescape/synchronizer
Support for alternative message queues
- Dominant language
- Go
- Stars
- 3
- Forks
- 9
- Avg merge
- 1h 18m
- Merged PRs (30d)
- 2
Description
## Overview
The synchronizer currently uses an Apache Pulsar message queue to synchronize state between storage and individual instances of kubescape.
Pulsar can support a very large message volume, has nice features for transforming messages in transit, as well as a number of supported input and output connectors.
## Problem
Pulsar seems like a really nice tool for this use case, but is not as widely used as some alternatives.
Specifically, it might make sense to support Kafka, since it has very widespread adoption, or NATS, because it is also a CNCF project and has a smaller resource footprint.
Other "lighter" message queues may also be interesting for users who want the basic functionality of the synchronizer, but without the footprint of Pulsar (or Kafka, for that matter).
## Solution
This issue is mostly to inquire whether the project is open to contributions for alternative backend implementations, and to get a general understanding about what the maintainers would want to see from such contributions. Would it be in line with the project's long-term goals? Are there requirements that a potential backend would need to fulfill?
## Alternatives
Only support Pulsar (status quo).
Users could fork or re-implement the synchronizer and add their own backend support.
Users could connect Pulsar to a desired alternative using Pulsar sources/sinks.
## Additional context
N/A
Contributor guide
Research direction
No files, tests, or entry points are named in the issue. First review how the synchronizer currently uses Apache Pulsar and seek maintainer guidance on backend requirements for Kafka, NATS, or other queues. Done would require agreed contribution requirements and a defined, accepted scope for an alternative backend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kafka
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100