1. Manage StreamNative Clusters
  2. Configure Clusters

Configure Cluster Features

This topic describes how to enable, disable, and configure cluster features for your cluster. For general guidance on configuring your cluster, see Cluster Configuration Overview.

The following features are available for configuration:

  1. Pulsar Functions
  2. Pulsar Transactions
  3. Audit Log
  4. Auto Scaling

Pulsar Functions

Pulsar Functions allow you to process messages as they move between topics and external systems. This feature can be enabled or disabled for your cluster.

To enable Pulsar Functions for your cluster, you can set the config.functionEnabled field in your PulsarCluster specification to true if you are using snctl or config.function_enabled field in your PulsarCluster specification to true if you are using Terraform.

Please note that if you disable Pulsar Functions, you will not able to create new functions in the cluster. Existing functions will continue to run and process messages until they are deleted, but they are not be managed or monitored anymore.

Pulsar Transactions

Pulsar Transactions provide atomic operations across multiple topics and partitions. This feature can be enabled or disabled for your cluster.

To enable Pulsar Transactions for your cluster, you can set the config.transactionEnabled field in your PulsarCluster specification to true if you are using snctl or config.transaction_enabled field in your PulsarCluster specification to true if you are using Terraform.

Please note that if you disable Pulsar Transactions on your cluster where you have enabled it before, you are not recommended to disable it because you will disrupt the existing applications that are using transactions and corrupt the data.

Audit Log

Audit logging helps track and record important events and actions within your Pulsar cluster. You can configure audit log settings for enhanced monitoring and compliance.

To configure audit logging for your cluster, you can use the config.auditLog field in your PulsarCluster specification. The audit log configuration allows you to specify which categories of events you want to log.

Here's how you can configure audit logging:

  1. Using snctl:

    apiVersion: cloud.streamnative.io/v1alpha1
    kind: PulsarCluster
    metadata:
      name: my-cluster
    spec:
      config:
        auditLog:
          categories:
            - 'Management'
            - 'Describe'
            - 'Produce'
            - 'Consume'
    
  2. Using Terraform:

    resource "streamnative_cluster" "my_cluster" {
      # ... other configuration ...
    
      config {
        audit_log {
          categories = [
            "Management",
            "Describe",
            "Produce",
            "Consume"
          ]
        }
      }
    }
    

The categories field is a list of strings that specify which types of events you want to include in the audit log. See the Audit Log Overview for more details on the available categories.

You can add or remove categories based on your specific auditing needs. The exact list of available categories may depend on your StreamNative Cloud version, so consult the documentation for a complete list of supported categories.

Note that enabling extensive audit logging may have performance implications and increase storage requirements. It's recommended to carefully consider which categories are necessary for your use case and compliance requirements.

To disable audit logging, you can remove the config.auditLog field in your PulsarCluster specification.

Auto Scaling

Auto-scaling is a cluster-level feature that allows you to dynamically adjust the number of Broker nodes. You can refer Configure Auto-Scaling for more details.

Previous
Cluster Configuration Overview