1f0acf2825
fix(oci): remove /v2/ from internal route patterns and make upstream apiPrefix configurable
...
The OCI handler had /v2/ baked into all regex patterns and Location headers.
When basePath was set to /v2 (as in stack.gallery), stripping it removed the
prefix that patterns expected, causing all OCI endpoints to 404.
Now patterns match on bare paths after basePath stripping, working correctly
regardless of the basePath value.
Also adds configurable apiPrefix to OCI upstream class (default /v2) for
registries behind reverse proxies with custom path prefixes.
2026-03-21 16:17:52 +00:00
37e4c5be4a
fix(npm): decode URL-encoded package names after regex extraction
...
Scoped npm packages use %2f encoding for the slash in URLs (e.g. @scope%2fpackage).
Previously, the encoded name was used as-is for storage and packument metadata,
causing npm install to fail with EINVALIDPACKAGENAME. Now each regex extraction
point decodes the package name via decodeURIComponent while keeping the path
encoded for correct regex matching.
2026-03-21 11:59:52 +00:00
e9af3f8328
feat(upstream): Add dynamic per-request upstream provider and integrate into registries
2025-12-03 22:16:40 +00:00
0cabf284ed
feat(core): Add core registry infrastructure: storage, auth, upstream cache, and protocol handlers
2025-11-27 22:12:52 +00:00
bd64a7b140
feat(pypi,rubygems): Add PyPI and RubyGems protocol implementations, upstream caching, and auth/storage improvements
2025-11-27 21:11:04 +00:00
19da87a9df
feat(core): Add pluggable auth providers, storage hooks, multi-upstream cache awareness, and PyPI/RubyGems protocol implementations
2025-11-27 20:59:49 +00:00
0610077eec
feat(upstream): Add upstream proxy/cache subsystem and integrate per-protocol upstreams
2025-11-27 14:20:01 +00:00
eb91a3f75b
fix(tests): Use unique test run IDs and add S3 cleanup in test helpers to avoid cross-run conflicts
2025-11-27 12:41:38 +00:00
da1cf8ddeb
fix(npm): Replace console logging with structured Smartlog in NPM registry and silence RubyGems helper error logging
2025-11-25 23:25:26 +00:00
a78934836e
fix(core): Normalize binary data handling across registries and add buffer helpers
2025-11-25 22:35:31 +00:00
41405eb40a
feat(core/registrystorage): Persist OCI manifest content-type in sidecar and normalize manifest body handling
2025-11-25 22:10:06 +00:00
a2f7f43027
fix(oci): Prefer raw request body for content-addressable OCI operations and expose rawBody on request context
2025-11-25 17:15:47 +00:00
93fee289e7
fix(oci): Preserve raw manifest bytes for digest calculation and handle string/JSON manifest bodies in OCI registry
2025-11-25 16:59:37 +00:00
3b5bf5e789
feat(oci): Support configurable OCI token realm/service and centralize unauthorized responses
2025-11-25 16:48:08 +00:00
6291ebf79b
BREAKING CHANGE(pypi,rubygems): Revise PyPI and RubyGems handling: normalize error payloads, fix .gem parsing/packing, adjust PyPI JSON API and tests, and export smartarchive plugin
2025-11-25 15:07:59 +00:00
547c262578
feat(auth): Implement HMAC-SHA256 OCI JWTs; enhance PyPI & RubyGems uploads and normalize responses
2025-11-25 14:28:19 +00:00
284329c191
feat(smarts3): Add local smarts3 testing support and documentation
2025-11-24 00:15:29 +00:00
b3da95e6c1
feat(core): Standardize S3 storage config using @tsclass/tsclass IS3Descriptor and wire it into RegistryStorage and plugins exports; update README and package dependencies.
2025-11-23 23:54:41 +00:00
0d73230d5a
feat(core): Add PyPI and RubyGems registries, integrate into SmartRegistry, extend storage and auth
2025-11-21 17:13:06 +00:00
9ca1e670ef
feat(core): Add PyPI and RubyGems protocol support, Cargo token management, and storage helpers
2025-11-21 14:23:18 +00:00
81ae4f2d59
fix(devcontainer): Simplify devcontainer configuration and rename container image
2025-11-21 09:36:02 +00:00
9039613f7a
feat(registrystorage): Add deleteMavenMetadata to RegistryStorage and update Maven DELETE test to expect 204 No Content
2025-11-21 09:25:19 +00:00
42209d235d
fix(maven): Pass request path to Maven checksum handler so checksum files are resolved correctly
2025-11-21 09:17:35 +00:00
8d48627301
feat(core): Add Cargo and Composer registries with storage, auth and helpers
2025-11-21 09:13:02 +00:00
0b31219b7d
feat(maven): Add Maven registry protocol support (storage, auth, routing, interfaces, and exports)
2025-11-21 08:58:29 +00:00
52dc1c0549
fix(oci): Improve OCI manifest permission response and tag handling: include WWW-Authenticate header on unauthorized manifest GETs, accept optional headers in manifest lookup, and persist tags as a unified tags.json mapping when pushing manifests.
2025-11-20 19:48:32 +00:00
1c63b74bb8
feat(oci): Support monolithic OCI blob uploads; add registry cleanup/destroy hooks; update tests and docs
2025-11-20 19:46:34 +00:00
2378fb9570
fix(scripts): Increase tstest timeout from 30s to 240s in package.json test script
2025-11-20 15:49:22 +00:00
53aae6604f
add smartlog dependency and integrate logging into NpmRegistry class
2025-11-20 15:36:45 +00:00
057383fb7c
update smartbucket dependency to version 4.3.0 and refactor listObjects method for improved performance
2025-11-20 15:22:43 +00:00
4bb35a8947
update
2025-11-20 13:57:05 +00:00
42974fdc0d
update
2025-11-20 13:27:26 +00:00
cf891cf275
update
2025-11-19 20:45:37 +00:00
754ec7b7db
multi registry support v3
2025-11-19 15:32:00 +00:00
e4480bff5d
multi registry support v2
2025-11-19 15:17:32 +00:00
211a74910e
nulti registry support
2025-11-19 15:16:20 +00:00
3cb31872ae
Initial commit: project setup with TypeScript and CI/CD configuration
...
This commit establishes the foundational structure for @push.rocks/smartregistry,
a registry for npm modules and OCI images. Includes development environment
configuration, build tooling, and CI/CD workflows for automated testing and publishing.
Co-authored-by: Ona <no-reply@ona.com >
2025-11-19 14:41:19 +00:00