Skip to main content

Deployment Architecture

The same Go service images support a central platform and opt-in federated extensions. Deployment composition, routes, dependencies, schema execution, feature gates, and trust material are selected through GitOps configuration; business code does not branch on topology.

Status: the shared Helm chart, ApplicationSets, environment values, NetworkPolicy, External Secrets pattern, and workload-identity configuration are In development. The desired state still has route/configuration/metrics boot gates, and the Agentic Plane is not present in GitOps. Federation is Deferred.

deployment_topology · central target and deferred federation
A GitOps-managed Kubernetes target separates public edge, identity and authorization, control services, data services, Agentic Plane, operations, and stateful data tiers with network policy. A provider-operated federated zone is deferred.delivery control plane · in developmentcentral kubernetes targetprovider zone · deferredreconcile desired stateHTTPSmTLS + trustGit repository + CI gatesArgoCD + HelmSecret / image registriesPublic edgeLB/WAF · gatewayPARTIALIdentity & authorizationKeycloak · PDP · OpenFGA · OPAPARTIAL / PLANNEDControl servicesservice-owned schemasPARTIALData servicesNGSI-LD · OGC · files · subsPARTIALAgentic Planeregistry · runtime · MCPABSENT FROM GITOPSPlatform operationsaudit · notify · telemetryPARTIALStateful tierPostgreSQL/PostGIS · Search · RabbitMQ · Redis · S3BACKUP / HA REQUIREMENTS VARYTrust boundarycert + trust listDEFERREDDP proxyfederated ingressDEFERREDLocal data planeprovider operatedDEFERREDProvider datalocal custodyDEFERRED
GitOps & shared infrastructureexternal trafficidentity & controldata serviceAgentic Plane

Central topology

The central target runs Kubernetes namespaces for edge, identity, authorization, domain/control services, data services, Agentic Plane, and platform operations. Only the gateway and deliberately public infrastructure endpoints receive ingress. Service workloads are independently scalable; stateful infrastructure is managed or operated with backups and high availability appropriate to its role.

Zone/namespaceComponentsInbound policy
Public edgeLoad balancer/WAF, dx-gateway-goHTTPS from clients; provider callback endpoints narrowly routed
IdentityKeycloakOIDC/OAuth endpoints; admin surface restricted
Authorizationdx-acl-go, dx-authz-go, OpenFGA, planned OPA runtime/bundlesGateway and allowlisted service workloads only
Control/domainUser, Catalogue, Marketplace, Registry, Credits, Subscription, CommunityGateway for public APIs; allowlisted gRPC callers internally
DataNGSI-LD, OGC, File Exchange, processing workersGateway/application PEP and workers only
AgenticRegistry, Runtime, MCP GatewayGateway for user surfaces; strict internal workload call graph
Platform operationsAudit, Notification, monitoring collectorsBroker and operator networks; no broad public API
Data tierPostgreSQL/PostGIS, Elasticsearch, Redis, RabbitMQ, S3Only owning/approved workloads through NetworkPolicy

Federated topology

Federation is a configuration-gated extension, not required for the central platform. A participant may run data-plane/proxy/trust components in its own network while retaining local resource data. Cross-domain traffic adds participant workload identity, mutual TLS, dynamic trust-list verification, encrypted/signed envelopes, and a versioned authorization/federation contract.

This topology is Deferred. Existing proxy, trust-anchor, trust-store, and envelope components do not establish production readiness. Enablement requires conformance tests, certificate lifecycle automation, revocation SLOs, replay protection, remote-decision provenance, failure injection, and operator runbooks.

Identity and network trust

  • External user/application traffic uses TLS and OIDC/OAuth credentials.
  • Internal calls use short-lived workload tokens addressed to the destination service; services enforce caller and subject-asserter allowlists.
  • NetworkPolicy limits which workloads can reach each service/store but is defense in depth, not identity.
  • Public bearer credentials are not forwarded unnecessarily. Agent Runtime is an explicit exception where the user's token is required as the token-exchange subject.
  • Federation adds mutual TLS and trust-list validation; central in-cluster identity does not depend on client certificates.

Data and persistence topology

Each service owns a database/schema, index namespace, bucket, or Redis keyspace appropriate to its domain. New environments provision schema through versioned Go migrations. A dedicated migration Job or other single actor runs with migration mode enabled; ordinary replicas run with schema execution disabled.

PostgreSQL/PostGIS and OpenFGA require point-in-time backup/recovery; Elasticsearch requires index templates, aliases, snapshot/restore, and rebuild procedures; S3 requires lifecycle/versioning appropriate to retention; RabbitMQ requires durable topology and backed-up definitions; Redis durability depends on whether the use is cache or load-bearing Agentic state.

Availability and scaling

  • Stateless APIs scale horizontally behind Services; readiness gates new traffic.
  • Projectors, outbox dispatchers, scheduled jobs, and agent turns use durable leases where one owner is required.
  • PodDisruptionBudgets, topology spread, resource requests/limits, and autoscaling are chart-level concerns.
  • Authorization, identity, broker, databases, and Redis need explicit availability SLOs because their failure behavior affects denial, session continuity, and event lag.
  • Long-lived SSE and large streaming transfers receive route-specific timeouts; global request timeouts must not terminate them.

GitOps and promotion

dx-gitops is the desired-state repository. One parameterized Helm chart is rendered with environment-common values plus per-service values. ArgoCD ApplicationSets select which services run in dev, staging, and production. Image promotion is a reviewed tag update; secrets resolve through External Secrets from the configured secret manager.

Before promotion, CI must render every environment, validate configuration, boot each service in config-check mode, verify routes and NetworkPolicy, confirm migrations have exactly one actor, and run contract/security smoke tests. See Deployment & GitOps.

Failure and recovery

FailureExpected behaviorRecovery requirement
Bad configurationPod exits non-zero before readinessRender/config-check gate prevents promotion
Failed migrationNew release does not become ready; schema remains auditableRoll forward with reviewed migration repair; never allow competing migrators
Identity provider outageCached valid verification may continue; new workload-token mint eventually fails closedBreaker, token cache metrics, documented outage budget
PDP/OPA/OpenFGA outageProtected operations denyIndependent readiness/alerts; no bypass route
Broker outageOutbox accumulates; consumers report not ready/degraded as appropriateReconnect and drain; alert on age/depth
Data-store outageOwning service fails readiness and returns bounded errorsService-specific restore/rebuild runbook
Agentic Redis lossIn-flight sessions/approvals stop safelyRestore/reconcile durable state before accepting agent traffic
Region/cluster lossNo silent split-brain writesRestore from tested backups or fail over under documented RPO/RTO

Open deployment decisions

  • OPA runtime placement and signed-bundle distribution.
  • Decision-attestation signer, key rotation, lifetime, and revocation bounds.
  • Agentic Redis/approval durability and multi-replica turn ownership.
  • Production ingress timeout and streaming configuration.
  • Federated trust/certificate automation and authorization contract.
  • Multi-region active/passive or active/active posture and measured RPO/RTO.