Concepts
A provider is a connected cloud account or storage service. A bucket is a named container for objects; Azure calls the equivalent resource a container. An object is stored content identified by its name, often called a key. Folder-like paths may be part of an object name rather than standalone directories. A migration copies objects from a source bucket to a destination bucket. Synchronization compares object names and modification times, then copies changes according to a direction. It can copy changes one way, keep both sides in sync, or remove destination-only objects in strict mode.Connect a provider
- Sign in and open Providers > Manage.
- Choose the add-provider action and select the provider offered by your application deployment.
- Import a credential file in the format described on that provider’s page and provide the requested display name or metadata.
- Submit the form, then choose Configure on the provider (or double-click its node in map view).
- Check whether the bucket list loads. A successful list confirms read access to that operation; it does not confirm write access.
Browse and preview
- Open Providers > Manage and choose Configure on a connected provider.
- Select a bucket to load its objects.
- Select an object to inspect or preview its content.
Create a bucket
Create a bucket in the provider console when you need to set provider-specific location or access options. Merops can also create a destination bucket during migration:- Connect the destination provider.
- Open Start Migration and select the destination connection.
- Choose an existing bucket or use the create-new option in the destination selector.
- Start the operation and inspect the destination provider afterward.
Migrate objects
The source identity must be able to list and read the selected bucket’s objects. The destination identity must be able to list buckets, create the destination bucket when needed, and write objects. Both providers must be connected and their adapters available.- Open Start Migration.
- Choose the source connection and bucket.
- Choose the destination connection and an existing or new bucket.
- Start the migration.
- Confirm success in the application response, then browse the destination bucket and verify its objects.
Synchronize buckets
Synchronization compares object names and modification times. A manual backend operation defaults an omitted direction to one-way; scheduled synchronization uses configured intervals.
For a manual operation, use the synchronization workflow exposed by your application build. Select two different connected providers and buckets, choose a direction, and start the operation. The backend rejects the same provider ID on both sides and requires a source bucket. Inspect both sides after it completes.
The backend supports scheduled sync intervals of 1, 2, or 3 minutes; 1 hour; 1 day; 1 week; or 30 days. Scheduling requires provider credentials to be available to the running backend. A task may not run if providers are offline or credentials cannot be recovered. The scheduler does not establish an SLA or user-visible per-object progress report.
Provider operations
These operations are implemented by the provider adapters in the current codebase. Deployments need the matching adapter running and the provider enabled in the application. Account permissions, regions, quotas, naming rules, and provider-side settings may affect each operation.
“Implemented” describes adapter code. It is not a guarantee that every operation works in every account configuration; the repository does not provide a complete cross-provider conformance suite. Object transfer copies content, not all provider-specific metadata or bucket configuration.
Limitations and troubleshooting
- Merops currently covers object storage. Other resource categories in the compatibility matrix are not available yet.
- Provider adapters exist in the codebase, but a deployment may enable only a subset.
- Provider-specific bucket settings, policies, ACLs, lifecycle rules, version history, and encryption configuration are not documented as copied during migration.
- Transfers operate on object content. The backend does not document resumable multipart transfer or automatic rollback.
- The migration UI does not establish durable job progress or a complete audit history.
- Synchronization uses object names and modification-time comparisons. It does not merge simultaneous edits based on their content or preserve all provider metadata.
- Strict synchronization deletes destination-only objects. Review its effect before using it.
- Preview format coverage and maximum practical object size are unspecified.
- Provider permissions, quotas, naming constraints, regions, and API availability affect results.