Skip to main content
Version: ACE 5

Isolated workspaces

info

Isolated workspaces deployment works only with mongo storage type.

Terminology:

  • Package: A deployable unit containing workspace with its dependencies, which can be deployed independently. It can be Docker image in file based storage case or a zip file in mongo case.
  • Workspace: A collection of .yaml files which is used by ACE to create and run APIs. Workspace can contain dependencies to other workspaces.

Isolated workspaces deployment allows you to deploy multiple workspaces independently, without having to merge them into a single package. Deployed workspaces are isolated from each other, meaning that they can have flows, schemas and other entities with the same name, but exposed APIs must be unique, otherwise there will be a conflict during runtime.

During API execution ACE detects which workspace is used for the API and uses the flows, schemas and other entities from that workspace.

Note that if schema names are the same in different workspaces, there will be a conflict in OpenAPI documentation exposed by ACE runtime, because schemas are written into #/components/schemas section of OpenAPI document with their name as key. However, during execution ACE will use the correct schema from the workspace that is used for the API.

Deployment

To deploy isolated workspaces, you need to create a package for each workspace and deploy it to ACE. It can be done using Deployment APIs or using ACE CLI.