# Storage Syncer
The Syncer service runs (typically) in the cloud and is responsible for ensuring that all storages assigned to each container are in-sync. This can sometimes be referred to as the "Storage Invariant" in the docs.
Syncer is expected to be a specific example of a "forest machinery", i.e. a cloud service which mounts and operates on a user forest.
It is expected that the user encrypts their container manifests in such a way, that the Syncer is not able to read anything beyond the storage backend sections, such as e.g. container paths, content encryption keys, and other metadata information.
In a typical scenario, we envision that the CargoLib will setup proper encryption for the Syncer process(es), obtaining a dedicated Syncer key.
# Changes compared to the Legacy Wildland
- Legacy core had not been designed with the assumption that syncing could be done externally to the (full) client instance,
- Legacy core implemented syncing within the core itself, not as an external module,
- The non-modular nature of the legacy core prevented convenient deployment of the core within the cloud (e.g. due to FUSE requiring a privileged docker),
- Legacy core has no provision to encrypt the metadata-carrying part of the manifest in a way inaccessible to the syncer.