MuleSoft Accelerator for Object Store Migration
home
Overview
The Mule Object Store Migration Accelerator is a Mule application that facilitates the migration of Object Store (OSv2) key-value pairs between MuleSoft applications. It supports migrations, disaster recovery, and operational interventions with simple REST API calls. Perfect for scenarios like CloudHub 1.0 → 2.0 migrations and cross-region data restoration.
Key Features
- REST API: Enables seamless migration and insertion of Object Store data.
- Cross-region support: Migrate Object Store data across MuleSoft environments.
- Stateless and Synchronous: Simple, per-request migrations with no retries or deduplication.
- Supports CloudHub & Runtime Fabric (RTF).
- Encrypted properties for secure configuration.
Use Cases
- CloudHub 1.0 → CloudHub 2.0 migration: Transition Object Store data between different CloudHub versions.
- Cross-region disaster recovery: Restore Object Store data across regions.
- Operational intervention: Inject or migrate specific data into Mule applications.
How to Use
- Migrate Data: Use the /api/objects/migrate endpoint to migrate Object Store data between apps
Request Example
{
"sourceApp": {
"storeId": "APP_12345__defaultPersistentObjectStore",
"partitionId": "utility_one_Object_store",
"partitionKey": "processId",
"region": "US-East-2"
},
"destinationApp": {
"storeId": "APP_67890__defaultPersistentObjectStore",
"partitionId": "utility_two_Object_store",
"partitionKey": "processId",
"region": "US-West-2"
}
}
Response Example
{
"status": "success",
"message": "Object migration completed successfully",
"migrationTimeStamp": "2025-05-17T20:21:09.352028661Z",
"errorDetails": null
}
- Insert Data: Use the /api/objects/insert endpoint to insert specific values into an Object Store
Request Example
{
"destinationApp": {
"storeId": "APP_67890__defaultPersistentObjectStore",
"partitionId": "utility_two_Object_store",
"partitionKey": "processId",
"region": "US-West-2",
"insertValue": "This is a new entry into destination app"
}
}
Response Example
{
"status": "success",
"message": "Object insertion completed successfully",
"migrationTimeStamp": "2025-05-17T20:21:25.007047653Z",
"errorDetails": null
}
Configuration
- Configure using YAML files (e.g., common-properties.yaml, dev-properties.yaml).
- Sensitive data (like clientId and clientSecret) is stored in encrypted files and decrypted at runtime using the mule.key.
Deployment
- CloudHub: Deploy as a Mule application on CloudHub.
- Runtime Fabric: Supports deployment to RTF.
Autodiscovery Integration
- API Autodiscovery: Register the API in API Manager for policy management.
Contact Support
- For assistance, visit our Anypoint Support or join our community forum.