Skip to content

Indexer Configuration

The indexer component processes events emitted by the main Feedback-Fusion server. Since it only consumes and processes events, its configuration is limited to the essential components needed for this task.

Configuration Structure

The indexer configuration reuses the same configuration options as the main server, but only requires two sections:

  • Database Configuration: Where to store processed data
  • Broker Configuration: How to receive events from the server

Example Configuration

hcl
# Database configuration (same as server)
database = {
  postgres = {
    endpoint = "localhost:5432"
    username = "postgres_user"
    password = "postgres_password"
    database = "postgres_db"
  }
}

# Broker configuration (event consumption only)
broker = {
  fluvio = {
    topic = "feedback-fusion"
    
    fluvio = {
      endpoint = "127.0.0.1:9003"
      use_spu_local_address = false
      
      tls = {
        tls_policy = "disabled"
      }
    }
  }
}

# OR for gRPC-based setups:

broker = {
  grpc = {
    key                      = "/path/to/key.pem"
    certificate              = "/path/to/certificate.pem"
    certificate_authority    = "/path/to/ca.pem"
  }
}

Configuration Reference

Database Configuration

Identical to the server database configuration. See Server Configuration for available database options.

Broker Configuration (Indexer-Specific)

ParameterDescriptionDefaultData Type
fluvioFluvio consumer configurationN/AObject
grpcgRPC TLS configuration (flattened)N/AObject

Note: Unlike the server configuration, the indexer broker configuration:

  • Does not include endpoint for gRPC (the indexer acts as a server, not a client)
  • Does not include max_batch_size or batch_interval (these are producer-specific settings)
  • Must use the same broker driver type (fluvio or grpc) as configured in the server
  • For gRPC, the TLS parameters are flattened directly under the grpc object

For detailed broker configuration options, see Broker Configuration.