Composer Repository
Nitro Repo hosts Composer packages using the Composer V2 metadata format (p2 with metadata-url). Uploads are validated against composer.json, rewritten to point back to Nitro, and indexed for search.
Uploading Packages (Hosted)
- Authenticate with
Writepermission. - Upload a ZIP archive containing
composer.jsonto/repositories/<storage>/<repository>/dist/<vendor>/<package>/<version>.zipviaPUTorPOST. - Nitro Repo streams the upload, extracts
composer.json, validatesname+version, and writes p2 metadata to/p2/<vendor>/<package>.json(and~devvariant when needed). - Dist URLs in metadata are rewritten to Nitro download endpoints.
Downloading Packages
Composer clients consume:
- Root:
/repositories/<storage>/<repository>/packages.json(contains onlymetadata-url) - Package metadata:
/repositories/<storage>/<repository>/p2/<vendor>/<package>.json - Dist:
/repositories/<storage>/<repository>/dist/<vendor>/<package>/<version>.zip
Metadata & Indexing
- Version records are stored in
project_versionswithPhpPackageMetadatainVersionData.extra. - Search and admin package lists pull from the database; no filesystem scans are required.