Skip to main content

Alexandria EE Deployment Shapes

Note: Quadlet is a distinct SKU from Helm. Features marked No are by design, not a regression.

Alexandria EE ships in two deployment shapes that are intentionally not feature-equivalent. Each shape targets a different customer segment and infrastructure model.

ShapeTargetBinaryImage
Helm (k8s)Customer's Kubernetes cluster (GKE, EKS, AKS, on-prem)alex-api-k8see-api-k8s
Quadlet (single-host)Single provisioned Linux host (VM, bare metal)alex-api-quadletee-api-quadlet

Feature Matrix

FeatureHelm (k8s)Quadlet (single-host)
OIDC/SAML federationYesNo — excluded from build
Vault KV v2 secrets backendYesNo — excluded from build
Managed LLM backends (Helm-provisioned)YesNo — 400/501 kubernetes-required
Pod log streamingYesNo — 400/501 kubernetes-required
Cilium network policyYesNo — 400/501 kubernetes-required
Model controller binary (alex-model-controller-k8s)YesNo — excluded from build
KEDA autoscalingYesNo — 400/501 kubernetes-required
Per-tenant Cilium policyYesNo — 400/501 kubernetes-required
Multi-tenancy (per-tenant process isolation)YesNo — excluded from build
WebAuthn / FIDO2 passkeysYesNo — excluded from build
SCIM provisioningYesNo — excluded from build
Memcached tool cacheYesNo — excluded from build
Redis agent cacheYesYes
Changeset trackingYesYes
Vector index (FAISS sidecar)YesYes
Core REST API (agents, tools, LLM, audit, MCP)YesYes
JWT auth + RBACYesYes
Postgres storageYesYes
License enforcement + tier entitlementsYesYes

Shape Details

Helm (Kubernetes)

  • Full EE feature set: OIDC/SAML, SCIM, multi-tenancy, per-tenant Cilium network policy, Vault transit, KEDA HPA, ServiceMonitor, ExternalSecret.
  • Compliance-friendly: audit chain, network policy, KMS integration.
  • Built with -tags k8s_enabled; real k8s.io/* and Cilium CRD clients are linked in.
  • Image: ee-api-k8s — entry point alex-api-k8s.
  • Model controller: separate ee-model-controller-k8s image (manages ManagedLLMBackend CRDs).

Quadlet (Single-Host)

  • Reduced EE: license + core API/orchestrator/dashboard/redis/otelcol on systemd (Quadlet units).
  • External Postgres assumed. No SSO, no SCIM, no multi-tenancy, no Cilium.
  • Built without k8s_enabled tag; carries zero k8s.io/* dependencies.
  • Image: ee-api-quadlet — entry point alex-api-quadlet.
  • Endpoints that require Kubernetes primitives return 400 Bad Request or 501 Not Implemented with {"error": "kubernetes-required"} when called against a Quadlet deployment.

Build Paths

Images are shared OCI artifacts built from the same source tree. The fork is at deploy-time configuration and build tags, not at the source level.

ContextPath
arm64 macOSgcloud builds submit --config cloudbuild.yaml (Cloud Build; QEMU-free)
native amd64 Linuxmake images-local PROJECT_ID=<project> (podman; bails on non-amd64)

Both paths produce identical image tags in Artifact Registry. Releases must smoke-test both shapes independently — Helm-green does not imply Quadlet-green.