Skip to content

Support for alternative message queues #151

Description

@stone-z

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Accepted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions