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