Overview
In JFrog Artifactory, Release Bundle v2 (RBv2) artifacts are designed to be immutable. This article explains why federated repositories do not automatically sync RBv2 artifacts across multiple sites and what this means for your deployment and synchronization strategy.
For the following explanation, we will have three Artifactory instances, referred to as RT1, RT2, and RT3.
By design, when using RBv2 on a federated repository (RT1), artifacts are not automatically distributed (or federated) to other federated members (RT2 and RT3).
Federation for distributed Release Bundles is intentionally not supported to preserve the immutability of RBv2 artifacts.
If an artifact is marked as immutable in the source repository (RT1), then any modification or deletion attempt in the federated repositories (RT2/RT3) would conflict with this immutable state. In a bi-directional sync scenario, these conflicting states would likely result in errors.
This behavior is described in our RLM in Federated Environments documentation:
“A Release Bundle v2 version can be promoted and distributed by any member of the Federation (Enterprise+ is required for distribution). However, these operations are not replicated by the other members. The other members receive a timeline entry to inform them of the operation after it is complete.”
Recommended Synchronization Approach - Repository Replication:
Given the immutable nature of RBv2 artifacts, a one-directional sync model is recommended. In this setup, Release Bundles are created and managed at the originating repository, and any replication occurs only in one direction (from the source to the target members). This minimizes the potential for conflicts and errors that would arise if multiple repositories attempted to modify or update the same immutable artifacts.
When to Consider This Design:
- Use this behavior as a design principle when planning your Release Bundle deployments in a distributed environment.
- Ensure that your deployment process and CI/CD pipelines are not relying on automatic, bi-directional synchronization of RBv2 artifacts across federated repositories.
Conclusion
In summary, the immutability of RBv2 artifacts means that federation for distributed Release Bundles is not supported by design. This approach avoids conflicts between mutable and immutable states across federated repositories. If your use case requires synchronization, consider implementing a one-directional Replication mechanism and ensure your pipeline and infrastructure are aligned with this design.
For further assistance or additional details, feel free to contact JFrog Support.