Migrating workspace to split APIs feature
Since 25.1.0, ACE_API_SPLIT_ENABLED
environment variable is removed and the API files and environment variables are split by default.
Since version 24.5, ACE has support for working with split API files. This feature will be mandatory in future releases.
Enabling this feature flag primarily affects how APIs are stored on the file system by having one file for each API operation instead of one API file with all API operations. The same split will also happen for variables files.
For the ACE developer, this will not change how ACE is used, but it will:
- enable useful features such as routes configuration for powerful API grouping and management
- reduce GIT conflicts and make API files more manageable
- improve ACE application performance while developing
- allow easier workspace merge in a multi-workspace setup
Migration
At the moment there are two required steps to migrate:
- Enable the
ACE_API_SPLIT_ENABLED
feature flag across ACE services. - Open any of your workspaces in ACE and click "Migrate"
Update ENVIRONMENT VARIABLES
The feature flag ACE_API_SPLIT_ENABLED=true
needs to be set in the following services:
ace-designer
ace-runtime-server
ace-deployment-server
Migrating WORKSPACES
If ACE_API_SPLIT_ENABLED
was correctly set across services, opening ACE and browsing to a pre-migration workspace should prompt the following screen:
Click the "MIGRATE" button and give ACE time to convert the workspace to the new format.
Validating workspace migration
After completion, it is recommended to check the latest GIT commit made by ACE migration tool to make sure the migration was successful.
Specifically, migration will do the following changes:
- Create a
package.yaml
file to store workspace information - Move schemas to
/schemas
folder - Migrate APIs files to split API files
- Migrate variables files to split variables files
- (Optionally) Create a
/routes/routes.yaml
file for routes configuration
Multiple API groups
If the workspace had multiple API groups prior to migration, or configured custom base paths for any of the API groups, the information will be carried over to the new routes configuration, read more about routes here.