9 min read Updated June 5, 2026

System Requirements

This document outlines the minimum and recommended requirements for deploying Tamandua Sentinel components.


Overview

Tamandua Sentinel consists of three main deployment targets:

ComponentTechnologyDeployment
ServerElixir/PhoenixSelf-hosted or cloud
AgentRustPer endpoint
ML ServicePython/PyTorchCo-located with server

Server Requirements

The Tamandua Server handles agent connections, telemetry ingestion, detection, and alert management.

Minimum Requirements

ResourceSpecification
CPU4 cores
RAM8 GB
Storage100 GB SSD
OSUbuntu 22.04+, Debian 12+, RHEL 9+
Elixir1.15+
Erlang/OTP26+
PostgreSQL16+ with TimescaleDB
Redis7+

Recommended (Production)

ResourceSpecificationNotes
CPU8+ coresHigher for concurrent agent handling
RAM32 GBMore for ML model inference
Storage500 GB NVMe SSDTimescaleDB benefits from fast I/O
OSUbuntu 24.04 LTSBest tested platform

Scaling Guidelines

Agent CountCPURAMStorage
1-504 cores8 GB100 GB
50-2008 cores16 GB250 GB
200-50016 cores32 GB500 GB
500+32+ cores64+ GB1+ TB

Required Software

# Elixir/Erlang
asdf plugin add erlang
asdf plugin add elixir
asdf install erlang 26.2
asdf install elixir 1.16.0-otp-26

# PostgreSQL 16 + TimescaleDB
sudo apt install postgresql-16
# Add TimescaleDB extension
sudo apt install timescaledb-2-postgresql-16

# Redis
sudo apt install redis-server

# RabbitMQ (optional, for advanced pipelines)
sudo apt install rabbitmq-server

Agent Requirements

The Tamandua Agent runs on each protected endpoint, collecting telemetry and executing response actions.

Windows

RequirementSpecification
OS VersionWindows 10 version 1903+ (build 18362+)
Windows 11 all versions
Windows Server 2019+
Architecturex86_64 (AMD64)
RAM128 MB available
Storage50 MB for agent
PrivilegesAdministrator (recommended)
Optional for kernel driver:
  • Windows Driver Kit (WDK) matching Windows SDK version
  • Test signing enabled (development) or EV code signing (production)

Linux

RequirementSpecification
Kernel5.4+ (5.10+ for full eBPF support)
DistributionsUbuntu 20.04+, Debian 11+, RHEL 8+, Fedora 35+
Architecturex86_64, aarch64
RAM64 MB available
Storage30 MB for agent
Privilegesroot (recommended) or CAPSYSPTRACE
For full visibility:
# Required capabilities
CAP_SYS_PTRACE      # Process inspection
CAP_NET_ADMIN       # Network monitoring
CAP_DAC_READ_SEARCH # File access monitoring

# Or run as root
sudo ./tamandua-agent
Auditd integration (recommended):
# Install auditd
sudo apt install auditd

# Tamandua auto-deploys audit rules on startup

macOS Preview

RequirementSpecification
OS VersionmacOS 12 Monterey+
macOS 13 Ventura+ (recommended)
macOS 14 Sonoma+
Architecturex86_64 (Intel), arm64 (Apple Silicon)
RAM128 MB available
Storage40 MB for agent
PrivilegesFull Disk Access, Accessibility permissions for preview builds

macOS endpoint support is Preview/Experimental. Use these requirements for lab evaluation; validate telemetry, permissions, system extension behavior, and rollback before any fleet use.

System Extension requirements for preview builds:
  • System Integrity Protection (SIP) configuration may be required
  • MDM approval for system extensions in enterprise deployments


ML Service Requirements

The ML Service provides the Malware-SMELL-inspired scoring path. Current model artifacts are smoke-scale and validation-ready only; production ML claims require the guarded ML-1..ML-6 benchmark chain.

CPU Inference

ResourceSpecification
CPU4+ cores
RAM4 GB minimum, 8 GB recommended
Storage2 GB for models
Python3.11+
PyTorch2.0+

GPU Inference (Optional)

ResourceSpecification
GPUNVIDIA with CUDA 11.8+
VRAM4 GB minimum
DriversCUDA 11.8+ or 12.x
Performance comparison:
HardwareInference TimeBatch Throughput
CPU (8 core)~50ms/sample~20 samples/sec
GPU (RTX 3060)~5ms/sample~200 samples/sec
GPU (A100)~1ms/sample~1000 samples/sec

Installation

# Create virtual environment
cd apps/tamandua_ml
uv sync

# Or with pip
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# For GPU support
pip install torch --index-url https://download.pytorch.org/whl/cu118

Network Requirements

Ports

PortProtocolDirectionPurpose
4000TCPInboundPhoenix web dashboard
4443TCPInboundAgent WebSocket (with TLS)
8443TCPInboundAgent mTLS (production)
5432TCPLocalPostgreSQL
6379TCPLocalRedis
5672TCPLocalRabbitMQ (optional)
8000TCPLocalML Service API

Agent -> Server Communication

Agent ----[WebSocket/TLS]----> Server:4443
       <---[Commands]--------
RequirementSpecification
ProtocolWebSocket over TLS 1.3
AuthenticationJWT token (enrollment)
Production AuthmTLS with client certificates
Keepalive30 second ping interval
ReconnectAutomatic with exponential backoff

Firewall Rules

Server (inbound):
# Allow agent connections
ufw allow 4443/tcp

# Allow dashboard access (restrict to admin IPs)
ufw allow from <admin-ip> to any port 4000
Agent (outbound):
# Allow connection to server
# No inbound ports required on endpoints

mTLS Certificate Requirements

For production deployments with mTLS:

CertificatePurposeValidity
CA CertificateRoot trust anchor10 years
Server CertificateServer identity1-2 years
Agent CertificatePer-agent identity1 year
# Generate CA (one time)
openssl req -x509 -newkey rsa:4096 -days 3650 \
  -keyout ca-key.pem -out ca-cert.pem \
  -subj "/CN=Tamandua CA"

# Generate server certificate
openssl req -newkey rsa:2048 -keyout server-key.pem -out server.csr \
  -subj "/CN=tamandua-server.example.com"

openssl x509 -req -in server.csr -CA ca-cert.pem -CAkey ca-key.pem \
  -CAcreateserial -out server-cert.pem -days 365

# Generate agent certificate (CN must match agent_id)
openssl req -newkey rsa:2048 -keyout agent-key.pem -out agent.csr \
  -subj "/CN=<agent-uuid>"

openssl x509 -req -in agent.csr -CA ca-cert.pem -CAkey ca-key.pem \
  -CAcreateserial -out agent-cert.pem -days 365

Solana RPC Requirements

For on-chain attestations and bounty settlement.

Devnet (Testing)

RequirementSpecification
RPC Endpointhttps://api.devnet.solana.com
SOL Balance2 SOL (free via airdrop)
Rate LimitsStandard devnet limits
# Configure for devnet
solana config set --url devnet

# Get free SOL
solana airdrop 2

Mainnet (Production)

RequirementSpecification
RPC EndpointPremium RPC provider recommended
SOL BalanceBased on attestation volume
Rate LimitsCheck provider limits
Recommended RPC providers:
  • Helius
  • QuickNode
  • Alchemy
  • GenesysGo

Cost estimation:
VolumeMonthly Cost
1,000 attestations~$0.01 (transaction fees only)
10,000 attestations~$0.10
100,000 attestations~$1.00

Attestation Modes

ModeDescriptionSOL Required
relaySend to Treant relay (default)None (free)
local_onlyStore locally, no on-chainNone
self_payUse your own walletYes
# Configuration in config/runtime.exs
config :tamandua_server, TamanduaServer.Solana.AttestationMode,
  mode: :relay,  # :local_only | :relay | :self_pay
  relay_url: "https://relay.tamandua.treantlab.org/api/v1/attestations"

Database Storage Estimates

PostgreSQL + TimescaleDB

Agent CountDaily Events30-Day Storage90-Day Storage
10500K5 GB15 GB
502.5M25 GB75 GB
1005M50 GB150 GB
50025M250 GB750 GB
Retention policies:
-- Auto-compress data older than 7 days
SELECT add_compression_policy('telemetry_events', INTERVAL '7 days');

-- Drop data older than 90 days
SELECT add_retention_policy('telemetry_events', INTERVAL '90 days');

High Availability Configuration

For production deployments requiring high availability:

Database HA

           +----------------+
           |  HAProxy/PgBouncer  |
           +--------+-------+
                    |
    +---------------+---------------+
    |               |               |
+---v---+      +----v----+     +----v----+
| Primary |    | Replica 1|    | Replica 2|
+---------+    +----------+    +----------+
Recommended setup:
  • 1 Primary + 2 Streaming Replicas
  • PgBouncer for connection pooling
  • Automatic failover with Patroni or pgautofailover

Server HA

           +----------------+
           |  Load Balancer |
           +--------+-------+
                    |
    +---------------+---------------+
    |               |               |
+---v---+      +----v----+     +----v----+
|Phoenix |     | Phoenix |     | Phoenix |
|Node 1  |     | Node 2  |     | Node 3  |
+---+----+     +----+----+     +----+----+
    |               |               |
    +---------------+---------------+
                    |
              +-----v------+
              |   Redis    |
              | (Cluster)  |
              +------------+

Development Environment

For local development and testing:

# Minimum development setup
CPU: 2 cores
RAM: 8 GB
Storage: 20 GB

# Required tools
- Docker & Docker Compose
- Rust 1.74+
- Elixir 1.15+ / Erlang 26+
- Python 3.11+
- Node.js 20+ (for assets)
- Git

# Quick start
make dev-up       # Start PostgreSQL, Redis, RabbitMQ
make backend-run  # Start Phoenix server
make agent-run    # Start agent (another terminal)

Verification Checklist

Before deployment, verify:

  • [ ] PostgreSQL 16+ with TimescaleDB installed
  • [ ] Redis 7+ running
  • [ ] Elixir 1.15+ / Erlang 26+ installed
  • [ ] Python 3.11+ with PyTorch installed
  • [ ] Network ports open (4000, 4443, 8443)
  • [ ] TLS certificates generated (production)
  • [ ] Solana CLI installed (if using self_pay mode)
  • [ ] Agent binaries available for target platforms
  • [ ] Backup strategy configured for PostgreSQL


Last updated: May 2026