Skip to content

Self-Hosted Deployment ​

The customer runs Purple8 Hyper Graph (v0.72.0) on infrastructure it owns and operates. Purple8 supplies container images (Dockerfile.commercial and Dockerfile.rhel), Helm charts, Kubernetes/OpenShift manifests, Terraform modules, and the Python SDK (pip install purple8-hyper-graph). No component depends on Purple8-operated services at runtime.

Purple8 is an approved Red Hat Technology Partner and NVIDIA Inception program member.

Self-Hosted Licensing Tiers ​

Purple8 offers two self-hosted tiers:

TierPriceNode LimitMCP AgentsBest For
Developer (Self-Hosted Free)$0Up to 50K nodes1 MCP agentLocal development, prototyping, and technical evaluation with the full local engine
Enterprise / Custom (Self-Hosted)CustomTailored to customer capacityUnlimited / CustomProduction self-hosted deployments tailored to customer capacity, cluster topology, HA, and SLA

Scope ​

AspectResponsibility
Infrastructure provisioningCustomer
Installation and upgradesCustomer, using Purple8-supplied artifacts
Operations, monitoring, on-callCustomer
Backups and disaster recoveryCustomer, using built-in backup tooling
Software updates and security fixesPurple8 publishes; customer applies
LicensingOffline Ed25519-signed license key; no call-home required

Supported targets ​

TargetArtifactsNotes
Docker Composedocker-compose.yml, Dockerfile.commercialSingle host. Evaluation and production single-node deployments. Includes optional Prometheus, Alertmanager and Grafana services.
Red Hat OpenShiftDockerfile.rhel (registry.access.redhat.com/ubi9/python-312:9.5), Helm chartCertified Red Hat UBI9 image engineered for OpenShift's default restricted Security Context Constraint (arbitrary-UID, group 0, /licenses/LICENSE, non-root UID 1001).
KubernetesHelm chart (deployment/helm), raw manifests (deploy/kubernetes)StatefulSet with persistent volume per pod. Raft StatefulSet variant for 3-node coordination.
Amazon Web ServicesTerraform (deployment/terraform/aws), CloudFormationSee AWS Deployment Patterns for the reference topology.
Microsoft AzureTerraform (deployment/terraform/azure)
Google CloudTerraform (deployment/terraform/gcp)
Bare metal / VMContainer runtime or Python wheel (pip install purple8-hyper-graph)Systemd or supervisor managed process.

Red Hat OpenShift & UBI9 Container (Dockerfile.rhel) ​

For enterprise Red Hat OpenShift and RHEL environments, Purple8 ships a dedicated UBI9 container image built across all stages from registry.access.redhat.com/ubi9/python-312:9.5:

  • ABI & glibc alignment: Every build stage compiles native extensions against UBI9's glibc (2.34), eliminating cross-distro ABI mismatches.
  • OpenShift restricted SCC ready: Works out-of-the-box under OpenShift's default restricted Security Context Constraint where containers launch with an arbitrary random UID in group 0 (root group). All runtime directories (/data, /backups, /app/logs, /opt/venv, /app) are owned by group 0 with chmod g=u, while defaulting to non-root UID 1001 under standard Docker/Podman runtimes.
  • Certification compliance: Includes /licenses/LICENSE and full Red Hat Ecosystem Catalog & OpenShift metadata labels (io.k8s.*, io.openshift.tags).
bash
# Deploy directly on Red Hat OpenShift (restricted SCC — no securityContext overrides needed)
oc new-app purple8/graph:0.72.0-rhel

# Or run under Podman / Docker (runs as non-root UID 1001)
podman run -p 8080:8080 -v purple8-data:/data:Z purple8/graph:0.72.0-rhel

Reference architecture ​

                         Customer network boundary
 ┌──────────────────────────────────────────────────────────────────┐
 │                                                                  │
 │  Investigator UI ──► Ingress / LB (TLS) ──► Purple8 Graph        │
 │  (static assets)                            primary  (writer)    │
 │                                                │   WAL stream     │
 │                                             follower (SYNC/ASYNC)│
 │                                                                  │
 │  Purple8 DocIntel (stateless, N replicas) ──► Purple8 Graph API  │
 │                                                                  │
 │  Enterprise IdP (OIDC / SAML) ◄──────────── Purple8 Graph        │
 │  Key management (Vault / cloud KMS / local) ◄── Purple8 Graph    │
 │  Object storage (backups) ◄──────────────── Purple8 Graph        │
 │  Inference (Ollama / SentenceTransformers / cloud provider)      │
 │  SIEM / downstream ◄── egress webhooks, Prometheus, OTEL         │
 └──────────────────────────────────────────────────────────────────┘

Component requirements ​

Purple8 Hyper Graph ​

  • One writer process per instance (WORKERS=1). Multiple worker processes against one data path are not supported for concurrent HTTP writes.
  • Persistent block storage for P8G_DATA_PATH. Local NVMe, SAN LUN, or cloud block volume. Network file systems are supported unless P8G_WAL_REJECT_NFS=1 is set, though they increase BrickWAL fdatasync latency.
  • Memory sized from available RAM via CortexAutoConfig (auto_config=True); the BrickCoreStorage brick seal-and-evict cycle bounds peak resident set to alpha * available_ram (default 0.75), independent of total corpus size N. See System Requirements and Hardware Sizing.
  • Exposes REST API and MCP Server (125 MCP tools across 16 namespaces).
  • Python 3.12 runtime included in the container image.

Purple8 DocIntel ​

  • Stateless. Scale horizontally.
  • Job store: SQLite (single replica) or Redis/Valkey (multiple replicas, required for SSE fan-out).
  • Requires network access to the Purple8 Graph ingest API.

Investigator UI ​

  • Static build. Serve from any web server, CDN, or the Purple8 Graph container's static mount.
  • Configured at build time with the Purple8 Graph API base URL.

High availability ​

ConcernMechanism
Writer failureWAL replication to one or more followers (P8G_REPLICATION_ROLE, P8G_REPLICATION_MODE). A follower with P8G_FAILOVER_ENABLED=1 probes the primary /health, promotes itself after P8G_FAILOVER_UNHEALTHY_THRESHOLD consecutive failures, and repoints traffic via P8G_FAILOVER_TARGET_BACKEND (noop logs only; elbv2 swaps AWS target groups). Cooldown between failovers is enforced.
Recovery pointSYNC mode: writer blocks until P8G_REPLICATION_SYNC_REPLICAS followers acknowledge; RPO ≈ 0. ASYNC mode: writer returns after local commit; RPO bounded by replication lag.
Crash recoveryWAL is fsync'd before each mutation is applied. On restart the engine replays uncommitted entries.
CoordinationOptional Raft cluster (3 or 5 nodes) for leader election and membership.
PlacementPrimary and follower on separate hosts, racks, or availability zones.
DocIntelStateless replicas behind the ingress.

Active-active writers are not supported. One instance has exactly one writer at any time.

Backup, restore, and storage integrity ​

IncrementalBackupManager writes incremental backups with a manifest and change journal to S3, Google Cloud Storage, Azure Blob Storage, or a local directory. Set P8G_BACKUP_JSONL=1 for streaming line-by-line JSONL archives and P8G_BACKUP_MAX_ARCHIVE_MB (default 2048) to cap maximum archive size during restore. Schedule backups with the built-in scheduler or an external cron, and verify online storage health non-destructively at any time via POST /admin/storage/scrub.

Air-gapped operation ​

  • Inference: Ollama, Hugging Face or SentenceTransformers providers run inside the boundary. No external API calls.
  • Licensing: offline Ed25519-signed key. No network validation.
  • Container images: mirror to an internal registry.
  • Key management: HashiCorp Vault or local KMS provider.

Network requirements ​

FlowProtocolDirection
UI → Purple8 GraphHTTPSInbound to Graph
DocIntel → Purple8 GraphHTTPSInternal
Graph primary → followerAuthenticated TLS (P8G_REPLICATION_TLS=1)Internal, port 8101 by default; plaintext is restricted to explicit loopback development
Graph → IdPHTTPSOutbound
Graph → KMSHTTPS or Vault APIOutbound
Graph → object storageHTTPSOutbound
Graph → inference providerHTTPS or localOutbound or internal
Graph → SIEM / alert channelsHTTPSOutbound

When to choose Self-Hosted ​

  • Regulatory or contractual requirement that no third party operates the platform.
  • Air-gapped or sovereign environments.
  • Existing platform team with Kubernetes or VM operations capability.
  • Non-AWS cloud or on-premises data centre.

Purple8 Hyper Graph v0.72.0 · AI-Native Execution Infrastructure · NVIDIA Inception Member · Red Hat Technology Partner.