Requirements
Use this page to size a self-hosted Telovix deployment and verify nodes before installing Sensors. Complete-platform sizing includes the Console application, PostgreSQL, ClickHouse, optional Redpanda, the operating system, and retained data.
Self-hosted Console sizing
Complete stack on one host
These are starting baselines for the Console, PostgreSQL, ClickHouse, and their persistent data on one host.
| Deployment | CPU | RAM | Fast persistent storage | Intended use |
|---|---|---|---|---|
| Small pilot, direct ClickHouse ingestion | 8 vCPU | 24 GiB | 250 GiB SSD | Limited fleet and retention validation |
| Production starting point with Redpanda | 12 vCPU | 32 GiB | 500 GiB SSD | Bursty or sustained production ingestion |
These values are not fleet-capacity guarantees. Runtime event rate, API traffic, telecom traffic, body capture, retention, and query concurrency determine the final requirement. Measure ingest and disk growth during the pilot, then add capacity before broadening coverage.
Keep at least 20% of the ClickHouse filesystem free for merges and retention cleanup. Do not place ClickHouse on slow shared storage.
Services deployed separately
The current managed deployment baseline is a practical starting point when services run on separate hosts or Kubernetes workloads:
| Component | CPU capacity | Memory capacity | Initial persistent storage |
|---|---|---|---|
| Console application | 2 vCPU | 3 GiB | 10 GiB |
| PostgreSQL | 2 vCPU | 4 GiB | 30 GiB |
| ClickHouse | 3 vCPU | 8 GiB | 150 GiB |
| Redpanda, when enabled | 1 vCPU | 2 GiB | 100 GiB |
Add operating-system capacity, retained analytics, backups, and storage working space to the service resources shown above.
Supported platform
| Requirement | Supported value |
|---|---|
| Operating system | Modern 64-bit Linux |
| Architecture | x86_64 or aarch64 |
| PostgreSQL | Current validated baseline: PostgreSQL 18 |
| ClickHouse | Current validated baseline: ClickHouse 26.4 |
| Redpanda | Optional; current validated baseline: Redpanda 26.1 |
| Browser | Current Chrome, Edge, Firefox, or Safari |
PostgreSQL and ClickHouse are required. Redpanda is optional in the setup wizard and should be enabled when your licensed deployment and ingestion profile require durable buffering. Redis is optional and is used only for shared rate limiting in multi-Console deployments.
Retention and storage growth
Analytics retention is plan-aware:
| Plan | Default analytics retention |
|---|---|
| Trial | 30 days |
| Paid | 90 days |
Retention removes expired analytics automatically, but cleanup still needs free disk space to complete. Estimate storage from your measured daily ClickHouse growth:
required analytics storage = measured daily growth x retention days x 1.25The 1.25 factor reserves 20% working headroom. Add database backups and snapshots separately.
Sensor host requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| Operating system | 64-bit Linux | Vendor-supported Linux release |
| Architecture | x86_64 or aarch64 | Same |
| Kernel | 5.4 | Current 6.x LTS kernel |
| BTF | /sys/kernel/btf/vmlinux present | Distribution-provided BTF |
| BPF filesystem | Mounted at /sys/fs/bpf | Mounted at boot |
| Cgroups | v1 or v2 | v2 |
| VM or bare-metal service manager | systemd | systemd |
| Installation privilege | Root | Root |
BPF LSM is optional for observation but required for LSM-based enforcement. It requires kernel 5.8 or newer, a kernel built with CONFIG_BPF_LSM=y, and bpf in the active LSM list.
Check a node before deployment:
uname -r
test -f /sys/kernel/btf/vmlinux && echo "BTF available"
mountpoint /sys/fs/bpf
cat /sys/kernel/security/lsm 2>/dev/null
uname -mPREEMPT_RT kernels are supported with a reduced set of compatible probes. Validate coverage on the target kernel during the pilot, especially on vDU and vCU nodes.
Sensor resource planning
The Kubernetes chart defaults are:
| Resource | Request | Limit |
|---|---|---|
| CPU | 50m | 500m |
| Memory | 128 MiB | 2 GiB |
The VM and bare-metal installer does not impose a cgroup limit. Actual usage depends on event volume, enabled runtime policies, telecom traffic, API parsing, and diagnostic capture. Establish a node-specific baseline before enabling extended or packet capture.
The on-disk outage buffer is bounded by both count and size, with a maximum physical size of 256 MiB. Captured API content and extended capture evidence are not written to this buffer.
For constrained O-RAN nodes, use the chart's values-oran-vdu.yaml profile and validate that the selected CPU set does not overlap isolated L1 processing cores.
Network requirements
Sensor and browser access
| Source | Destination | Port | Purpose |
|---|---|---|---|
| Sensor | Self-hosted Console | 15483/TCP by default | Enrollment, mTLS telemetry, policy and upgrade control |
| Sensor | Managed Console | 443/TCP | Same functions through the managed endpoint |
| Browser | Self-hosted Console | 15483/TCP by default | Setup wizard and Console UI |
| Browser | Managed Console | 443/TCP | Console UI |
Sensors initiate all connections. The Console does not require inbound access to a Sensor.
Console data services
| Destination | Default port |
|---|---|
| PostgreSQL | 5432/TCP |
| ClickHouse HTTP | 8123/TCP |
| Redpanda Kafka | 9092/TCP |
| Redis, when configured | 6379/TCP |
Allow DNS and time synchronization for the Console and Sensors. Incorrect system time can break certificate validation and distort event ordering.
Kubernetes requirements
- Kubernetes 1.24 or newer
- Helm 3.10 or newer
- Linux nodes meeting the kernel and BTF requirements above
- Permission to create a privileged DaemonSet, ServiceAccount, RBAC objects, host mounts, and a Secret
- Console connectivity from every targeted node
- Sufficient allocatable resources for the chart requests and limits
Admission controls such as Pod Security Admission, OpenShift SCCs, or third-party policy engines must permit the Sensor's host access. Review the generated manifest before production rollout.
Readiness checklist
- [ ] Complete Console stack sized, including databases and retention
- [ ] Fast persistent storage with at least 20% free headroom
- [ ] PostgreSQL and ClickHouse reachable from the Console host
- [ ] Console hostname and required ports reachable from operator browsers and Sensor nodes
- [ ] Sensor nodes use a supported architecture and kernel
- [ ] BTF and the BPF filesystem are available
- [ ] Root or Kubernetes privileged deployment approved
- [ ] DNS and system time are healthy