Private Composer delivery composer install. But only if you paid.
We build private Composer delivery with access per customer and license. For developers nothing changes: add the repository, store the token, install. We deliver our own Magento modules exactly this way.
$ composer config repositories.acme composer https://repo.example.com
$ composer require acme/b2b-pricing
✓ Token active · license valid · archive delivered
$ composer update acme/b2b-pricing
✕ License expired · access denied
Where it breaks
A repository is set up quickly. The trouble starts with the first customer.
-
Shared tokens
One token travels between agency, developers and build server. After that nobody can rotate it without breaking something somewhere.
-
License and access drift apart
The contract has ended, but the repository keeps delivering updates. Or the other way round.
-
Builds depend on the download
Missing archives, stale metadata or a manual release step turn a normal deployment into a support case.
-
Every error looks the same
Token expired, package missing, license does not cover it: Composer reports the same thing in all three cases.
The flow
Four moments, one access decision.
-
Release
The pipeline builds an immutable archive from a tested version and publishes it once.
-
Install
Composer asks, the platform checks token and license, then delivers metadata and archive.
-
Revoke
Withdraw a token or license without renaming or rebuilding packages. The next request is refused.
-
Support
The log shows which check failed, without anyone having to see the token.
Your deployment process is called crossed fingers? We’d suggest a pipeline.
Build, test, publish and deliver a release: automated properly once, instead of by hand every time.
What you need
Not every private package needs its own platform.
| Satis | Hosted registry | License-based delivery | |
|---|---|---|---|
| Job | Generate and host Composer metadata | Provide private packages to teams | Deliver packages to paying customers |
| Customer access | Build it yourself | Accounts and permissions | From customer and license data |
| Revoking tokens | Build it yourself | In the vendor backend | Automatically with the license |
| Operation | Your team | Vendor | Your team or with us |
| Fits | A few internal packages | Development across several teams | Commercial modules with licenses |
If your current setup is enough, we will tell you so. A new platform is not automatically the right answer.
Technical questions
