Installation
Install Ferrum Edge
Multiple installation options to fit your infrastructure. From a single binary download to a Kubernetes Helm deployment.
Choose Your Path
Installation Options
🐧
Linux
Pre-built binary for x86_64 and ARM64. Systemd service included.
Recommended
macOS
Intel and Apple Silicon (ARM64) binaries. Native performance on M-series chips.
Apple Silicon Ready🐳
Docker
Container-first deployment. Compose files for all operating modes.
Container Ready⎈
Kubernetes
Production K8s deployment with HPA, health probes, and CP/DP mode support.
Production Ready⚙
From Source
Build with custom plugins. Requires Rust 1.85+ and protoc.
bash
cargo build --release
Configuration
Key Environment Variables
The most commonly used environment variables. Refer to full docs for the complete list.
| Variable | Description | Default | Example |
|---|---|---|---|
FERRUM_MODE | Operating mode | file | file | database | control_plane | data_plane |
FERRUM_CONFIG | Path to config file (file mode) | ferrum.yaml | /etc/ferrum/config.yaml |
FERRUM_DATABASE_URL | Database connection string | — | postgres://user:pass@localhost/ferrum |
FERRUM_ADMIN_HTTP_PORT | Admin API HTTP port | 9000 | 9000 |
FERRUM_ADMIN_HTTPS_PORT | Admin API HTTPS port | 9443 | 9443 |
FERRUM_ADMIN_JWT_SECRET | JWT secret for Admin API auth | — | my-secret-key |
FERRUM_CP_ADDR | Control Plane gRPC address (DP mode) | — | control-plane:50051 |
FERRUM_CP_GRPC_PORT | gRPC port (CP mode) | 50051 | 50051 |
FERRUM_LOG_LEVEL | Log verbosity | info | debug | info | warn | error |
FERRUM_LOG_FORMAT | Log output format | json | json | text |
FERRUM_TLS_CERT | Path to TLS certificate | — | /etc/ferrum/tls/cert.pem |
FERRUM_TLS_KEY | Path to TLS private key | — | /etc/ferrum/tls/key.pem |
FERRUM_VAULT_ADDR | HashiCorp Vault address | — | http://vault:8200 |
FERRUM_VAULT_TOKEN | Vault authentication token | — | s.xxxxx |
Quick Reference
Operating Modes at a Glance
| Mode | Config Source | Admin API | Use Case | Ports |
|---|---|---|---|---|
| file | YAML file on disk | Read-only | Dev, single-node, GitOps | 8000, 8443, 9000 |
| database | PostgreSQL / MySQL / SQLite / MongoDB | Full CRUD | Standard production | 8000, 8443, 9000, 9443 |
| control_plane | Database → distributes via gRPC | Full CRUD | Distributed / multi-region | 9000, 9443, 50051 |
| data_plane | Control Plane gRPC stream | Status only | Stateless request workers | 8000, 8443 |
Port reference: 8000 (HTTP proxy), 8443 (HTTPS proxy), 9000 (Admin HTTP),
9443 (Admin HTTPS), 50051 (Control Plane gRPC). All ports are configurable.