Skip to main content
New protocol version released: This page may contain outdated information.

Configuration

The HAIP Server is highly configurable through environment variables, configuration objects, and runtime options. This guide covers all configuration options and their effects.

Configuration Methods

1. Environment Variables

The easiest way to configure the server is through environment variables:

2. Configuration Object

For programmatic configuration, pass a configuration object:

3. Configuration File

Create a configuration file for complex setups:

Configuration Options

Basic Server Configuration

OptionTypeDefaultDescription
portnumber8080Server port
hoststring’0.0.0.0’Server host
jwtSecretstring’your-secret-key’JWT secret for token validation
jwtExpiresInstring’24h’JWT token expiration time
maxConnectionsnumber1000Maximum concurrent connections
heartbeatIntervalnumber30000Heartbeat interval in milliseconds
heartbeatTimeoutnumber5000Heartbeat timeout in milliseconds

Flow Control Configuration

OptionTypeDefaultDescription
flowControl.enabledbooleantrueEnable flow control
flowControl.initialCreditsnumber1000Initial message credits per channel
flowControl.minCreditsnumber100Minimum credits before back-pressure
flowControl.maxCreditsnumber10000Maximum credits per channel
flowControl.creditThresholdnumber200Credit threshold for flow updates
flowControl.backPressureThresholdnumber0.8Back-pressure threshold (0-1)
flowControl.adaptiveAdjustmentbooleantrueEnable adaptive credit adjustment
flowControl.initialCreditMessagesnumber1000Initial message credits
flowControl.initialCreditBytesnumber1048576Initial byte credits (1MB)

Run Management Configuration

OptionTypeDefaultDescription
maxConcurrentRunsnumber10Maximum concurrent runs per session
replayWindowSizenumber1000Maximum messages in replay window
replayWindowTimenumber60000Replay window time in milliseconds

Feature Toggles

OptionTypeDefaultDescription
enableCORSbooleantrueEnable CORS middleware
enableCompressionbooleantrueEnable compression middleware
enableLoggingbooleantrueEnable request logging

Environment Variables Reference

Required Variables

Optional Variables

Configuration Examples

Development Configuration

Production Configuration

High-Performance Configuration

Docker Configuration

Runtime Configuration

Dynamic Configuration Updates

The server supports some runtime configuration updates:

Configuration Validation

The server validates configuration on startup:

Security Configuration

JWT Configuration

Rate Limiting

For additional rate limiting, use a reverse proxy like nginx:

Monitoring Configuration

Health Check Configuration

The server provides built-in health checks:

Logging Configuration

Best Practices

1. Use Environment Variables for Secrets

2. Configure for Your Environment

3. Monitor Resource Usage

4. Use HTTPS in Production

Next Steps