There are two primary methods to enforce exclusivity: using the allowed_packages attribute in the repository configuration or leveraging the conan create command with exclusive flags.
Nexus has native Conan proxy support. You can create a conan (proxy) repository for Conan Center and a conan (hosted) repository for your exclusives.
Symptom: Conan returns ERROR: Missing binary: Package 'fmt/8.1.1' not found in remote 'my-private'.
Cause: You marked fmt/* as exclusive to my-private, but your private repo does not actually contain that package.
Fix: Explicitly upload the missing package or adjust the exclusivity pattern. Use conan search "fmt/*" --remote=my-private to verify existence. conan repository exclusive
Consider a large fintech company with three teams:
Without exclusivity, Team App's conan install might pull an outdated crypto-lib from a developer's local cache or a public mirror. With exclusivity configured: There are two primary methods to enforce exclusivity:
conan.conf for Team App:
[remotes_exclusive]
corp-core-repo = crypto-lib/*
corp-net-repo = http-parser/*
conan-center = * # All other packages (zlib, openssl, etc.)
Now, every build is deterministic. The crypto-lib always comes from the core team's repository, and the networking library always comes from the network team's repository. No one can accidentally poison the build. Without exclusivity, Team App's conan install might pull
conan config set general.revisions_enabled=True