GitHub user lhotari edited a comment on the discussion: How to set up Broker 
config and other configs like bookie etc

### Configuring Pulsar Broker and Bookkeeper in Apache Pulsar Helm chart

Here's an example from the pulsar-helm-chart CI tests: 
https://github.com/apache/pulsar-helm-chart/blob/8ad7cf6b6508a23546a8d5a66e5319cf36f39712/.ci/clusters/values-broker-tls.yaml#L43-L60

```yaml
# these are values used in pulsar-helm-chart CI, they aren't examples of 
production settings
bookkeeper:
  replicaCount: 3
  configData:
    diskUsageThreshold: "0.999"
    diskUsageWarnThreshold: "0.999"
    PULSAR_PREFIX_diskUsageThreshold: "0.999"
    PULSAR_PREFIX_diskUsageWarnThreshold: "0.999"

broker:
  replicaCount: 1
  configData:
    ## Enable `autoSkipNonRecoverableData` since bookkeeper is running
    ## without persistence
    autoSkipNonRecoverableData: "true"
    # storage settings
    managedLedgerDefaultEnsembleSize: "1"
    managedLedgerDefaultWriteQuorum: "1"
    managedLedgerDefaultAckQuorum: "1"
```

For the broker, use the `broker.configData` key in your `values.yaml`. If the 
key is in the default `broker.conf` file for a particular version of Pulsar 
([broker.conf for 
2.10.3](https://github.com/apache/pulsar/blob/v2.10.3/conf/broker.conf)), you 
can use the key directly. 
There are some special cases where the key is missing from the 
[broker.conf](https://github.com/apache/pulsar/blob/v2.10.3/conf/broker.conf) 
or 
[bookkeeper.conf](https://github.com/apache/pulsar/blob/v2.10.3/conf/bookkeeper.conf)
 file. In those cases, it's necessary to add `PULSAR_PREFIX_` to the 
configuration key.

The way this works is that a Python script 
[apply-config-from-env.py](https://github.com/apache/pulsar/blob/v2.10.3/docker/pulsar/scripts/apply-config-from-env.py)
 is used to apply environment variables found in the config file. If there's no 
match, for a key config, it's necessary to use an environment variable with 
`PULSAR_PREFIX_` to add the new key to the default template config file.
Here's how the pulsar-helm-chart uses apply-config-from-env.py as part of the 
command for the container: 
https://github.com/apache/pulsar-helm-chart/blob/8ad7cf6b6508a23546a8d5a66e5319cf36f39712/charts/pulsar/templates/broker-statefulset.yaml#L204

### Example of configuring `topicLevelPoliciesEnabled=true` in your 
`values.yaml`

```yaml
broker:
  configData:
    topicLevelPoliciesEnabled: "true"
```




GitHub link: 
https://github.com/apache/pulsar/discussions/19276#discussioncomment-4734960

----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscr...@pulsar.apache.org

Reply via email to