---
title: "HeliosDB-Lite Feature Flags"
---

# HeliosDB-Lite Feature Flags

## Quick Reference

```bash
# Default build (encryption + vector search + ring crypto)
cargo build

# With FIPS-compliant crypto
cargo build --features fips

# With HA proxy (all proxy features)
cargo build --features ha-standard

# Everything
cargo build --features ha-full

# Sync module (experimental)
cargo build --features sync-experimental
```

## Default Features

These are enabled by default (`cargo build` with no flags):

| Feature | Description |
|---------|-------------|
| `encryption` | TDE (AES-256-GCM) transparent data encryption |
| `vector-search` | HNSW index, PQ compression, distance functions |
| `ring-crypto` | Ring cryptographic provider (default) |

## Core Features (opt-in)

| Feature | Description | Dependencies |
|---------|-------------|--------------|
| `simd` | SIMD-accelerated vector operations | None |
| `fips` | AWS-LC FIPS 140-2 cryptographic provider | `aws-lc-rs` |
| `gssapi` | Kerberos/GSSAPI authentication | `libgssapi` |
| `rocksdb-backend` | RocksDB storage backend (legacy) | `rocksdb` |
| `sync-experimental` | Multi-node sync module (experimental; not served by the binary) | None |
| `server` | Server-mode with async runtime | None |

## HA Features

### Tier Hierarchy

```
ha-tier1 (WAL streaming replication)
  └── ha-tier2 (multi-primary replication)
       └── ha-branch-replication (branch-level replication)

ha-tier3 (sharding)

ha-innovations (base innovation module)
  ├── ha-proxy (proxy with 15 features)
  ├── ha-dedup (deduplication)
  └── ha-ab-testing (A/B testing)
```

### Proxy Features (all require `ha-proxy`)

| Feature | Description |
|---------|-------------|
| `pool-modes` | Connection pool modes (transaction, session, statement) |
| `query-cache` | Query result caching at proxy level |
| `routing-hints` | SQL hint-based query routing |
| `lag-routing` | Lag-aware read routing to replicas |
| `rate-limiting` | Request rate limiting per connection |
| `circuit-breaker` | Circuit breaker for failing backends |
| `query-analytics` | Query analytics and slow query logging |
| `multi-tenancy` | Multi-tenant isolation at proxy level |
| `auth-proxy` | Authentication proxy (LDAP, OAuth) |
| `query-rewriting` | Automatic query rewriting rules |
| `wasm-plugins` | WebAssembly plugin extension system |
| `graphql-gateway` | GraphQL API gateway |
| `schema-routing` | Schema-based query routing |
| `distribcache` | Distributed caching layer |

### Convenience Bundles

| Bundle | Includes |
|--------|----------|
| `ha-standard` | tier1 + tier2 + proxy + all 14 proxy features |
| `ha-full` | ha-standard + tier3 + innovations + dedup + ab-testing + branch-replication |

## Decision Tree

### Which features do I need?

**Embedded database (no network)?**
- Default features are sufficient
- Add `simd` for faster vector operations
- Add `fips` if you need FIPS 140-2 compliance

**Single-server with PostgreSQL protocol?**
- Add `server` for async runtime
- Default crypto is fine for most uses

**Multi-node replication?**
- `ha-tier1` for primary-replica WAL streaming (the `--replication-role` flags of
  `heliosdb-lite start` need it)
- `ha-tier2` (multi-primary) and `ha-tier3` (sharding) compile the modules, but the
  server does not start them yet: multi-primary replication and sharding are planned

**Load balancer / proxy?**
- `ha-proxy` is the base, then add specific features:
  - `ha-standard` for all proxy features
  - Or pick individual: `pool-modes`, `query-cache`, `rate-limiting`, etc.

**Plugin extensibility?**
- `wasm-plugins` for WebAssembly extensions
- `graphql-gateway` for GraphQL API

## Compatibility Matrix

| Feature A | Feature B | Compatible? | Notes |
|-----------|-----------|-------------|-------|
| `ring-crypto` | `fips` | Either/or | Use one crypto provider |
| `encryption` | `fips` | Yes | FIPS replaces Ring for crypto ops |
| `ha-tier1` | `ha-tier2` | Yes | tier2 includes tier1 |
| `ha-tier3` | `ha-tier1/2` | Yes | Independent sharding layer |
| `sync-experimental` | `ha-*` | Not tested | Sync module is separate from HA |
| `rocksdb-backend` | default | Yes | Opt-in alternative storage |
