On-Prem Deployment Specifications

The installation guide is provided by the Middleware team during onboarding. Complete the Prerequisites first.

Below are the deployment specs (nodes, IPs, ports, URLs) usually needed for internal approval by your infrastructure and security teams.

Compute#

TierDaily ingestNodes (AWS)Nodes (Azure)Total capacity
Evaluationup to 25 GB/day3 × m6i.xlarge3 × D4s_v512 vCPU / 48 GB
Standardup to 500 GB/day4 × m6i.2xlarge4 × D8s_v532 vCPU / 128 GB
High volume~1 TB/day6 × m6i.2xlarge6 × D8s_v548 vCPU / 192 GB
ItemSpec
Kubernetes versionv1.25 or newer
Node root disk100 GB per node (50 GB is enough for the evaluation tier). Sized for container images + node-local search cache
Optional database node pool1 node, 8 core / 32 GB, taint dedicated=database:NoSchedule
Pod count~44 pods at baseline, autoscales to 2-3× under load

Storage#

ItemSpec
Block storage (persistent volumes)~260 GB, default storage class with dynamic provisioning
Object storage1+ S3 bucket / Blob container; grows with ingest × retention (example: 500 GB/day at 30-day retention ≈ 11-15 TB)
Object storage accessAccess key scoped to the Middleware bucket(s) only

IP Addresses#

PurposeCount
Load balancer1 (public, or internal if agents and users reach it privately)
Nodes3-6 (per compute tier)
Pod IPs — EKS default CNI onlyReserve 128-256 free IPs: ~55 pods at baseline (44 platform + Kubernetes system pods), up to ~150 at peak, and AWS networking holds some spare IPs per node. Can be tuned lower if subnets are tight
Pod IPs — overlay CNI (AKS overlay, kubenet)None from your subnets; only node + load balancer IPs
Recommended subnets (EKS)2 subnets in different availability zones, 256 IPs (/24) each. EKS requires 2 zones at cluster creation; run all nodes in a single zone (avoids cross-zone transfer costs and volume-affinity issues)

Ports#

DirectionPortSource / DestinationPurpose
Inbound443/TCPAgent networks + UI user networks → load balancerTelemetry ingest (OTLP over TLS) and web UI
Inbound443/TCPInstaller workstation → Kubernetes API endpointhelm / kubectl during install
Outbound443/TCPCluster → URLs listed belowImage pulls, storage, email

No other inbound ports are required. All service-to-service traffic stays inside the cluster.

Outbound URLs#

URLPurpose
ghcr.ioMiddleware images + helm chart
docker.io, registry-1.docker.ioThird-party images
docker.redpanda.comThird-party images
quay.ioThird-party images (bare metal deployments only)
S3 / Blob endpoint (e.g. s3.<region>.amazonaws.com or <account>.blob.core.windows.net)Telemetry storage
app.middleware.ioAccount activation and alert emails

DNS & TLS#

ItemSpec
DNS1 record (A or CNAME) pointing your Middleware domain to the load balancer
TLS certificateIssued for that domain; terminated at the load balancer. Agents must trust the issuing CA

Want to deploy Middleware in your own environment? Contact our team at [email protected] or join our Slack channel.