apache / apache/pulsar

Support storing the brokerClient certificates on ZK or BK

Open
#20,079 3 comments 0 reactions 0 assignees View on GitHub
area/admin Stale type/enhancement type/feature
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.

### Motivation

When configuring the geo-replication for clusters with self-signed tls certs, I find it quite hard to create and maintain the destination cluster connection through the current [createCluster](https://pulsar.apache.org/admin-rest-api/?version=2.11.0#operation/createCluster) API because it needs steps as below:
1. Copy the destination cluster trusted TLS certificate file to the local cluster for each broker.
2. Configure trusted TLS certificate file location with the parameter `brokerClientTrustCertsFilePath` when using the Cluster API.

The pain points in the above steps are:
* Needs to copy and deploy the destination cluster trusted TLS certificate file to the local cluster for each broker, and for some users, this requires some manual effort. Also, users need to make sure the destination cluster trusted TLS certificate file location is consistent with each broker.
* SRE team should maintain and acknowledge the destination cluster trusted TLS certificate file path on brokers, cleaning this location will impact the geo-replication.

### Solution

So, I am wondering whether it is possible to support uploading the tls certs on the createCluster API and the broker can store the destination cluster trusted TLS certificate file in ZooKeeper or BookKeeper since they are existing data storage systems.

When the local cluster needs to connect to the destination cluster, local cluster brokers can extract the trusted TLS certificate file from ZooKeeper or BookKeeper and setup the connection to the destination cluster.

### Alternatives

_No response_

### Anything else?

_No response_

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start with the createCluster API and the brokerClientTrustCertsFilePath configuration described in the issue. Trace how geo-replication brokers currently obtain destination TLS certificates, then compare the implications of storing them in ZooKeeper or BookKeeper. Done requires an agreed design and implementation scope, but no files or tests are identified here.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.