We have two repositories with different access permissions. One contains all of our builds, and the other contains only user-facing releases. Is there a way to have the user-facing repo be a remote repository that doesn't clone anything by default, but can be told to display certain builds from the main repo?
We'd like to do this for both a generic repo and a pypi repo.
Currently we're just uploading the release builds to the user-facing repo, resulting in duplication and wasted storage space. I looked at (smart) remote repositories, virtual, and looked through the documentation, but couldn't figure out how to set up something like I described. And push replication just duplicates the data, right?
JFrog Artifactory release lifecycle management solution seems to meet your use case - using a promotion flow for artifacts, from one stage to another (e.g. from DEV to PROD).
Regarding your concern about wasted storage space - JFrog Artifactory implements a checksum-based storage, which means that if you copy files from one repository to another, the blobs are deduplicated - i.e. stored only once.