Skip to main content

Architecture

xpanse provides a highly configurable and easily extendable architecture to ensure the framework can be used in different contexts and also be used in different possible modes.

xpanse Architecture

  • API - REST APIs which exposes all functionalities of xpanse.
  • UI - An optional GUI for xpanse which is just wrapper for the API.
  • Orchestrator - Main component, which manages the full life cycle of service templates and the deployed service instances.
  • Deployer - Manages service deployments.
  • Plugin - Implements integrations to cloud provider's management systems necessary to offer a native fully managed service.
  • Database - Stores service templates, service instances, service policies and service orders. See databases page for more details.
  • Agent - This runs on the compute resources of the service. Agents poll the controller for any service configuration state changes requested by the user and executes it.

Runtime

The xpanse runtime is the glue between all components. It's a spring-boot application that bundles all the modules mentioned above into an executable jar.

xpanse Stack

The xpanse runtime also needs other systems for it to fully function in a production setup.

ComponentDescription
DatabaseRDBMS based persistence layer
terra-bootAsynchronous Terraform deployer
tofu-makerAsynchronous OpenTofu deployer
policy-manOPA based policy validation engine
zitadelAuthentication and authorization
UIReactJS based user interface
Redis CacheUsed for all caching functionalities

xpanse-stack