Maven Virtual Registry - Road to General Availability (GA)
## Overview
This epic tracks the progression of Maven Virtual Registry from beta to General Availability (GA), ensuring we meet GitLab's standard of "production-ready at any scale with a complete feature set."
## Acceptance Criteria for GA Release
### Complete Product Feature Set
#### ✅ Already Implemented
- [x] API to configure a virtual registry and a set of upstream repositories
- [x] API to CRUD the cache
- [x] Multiple registries support
- [x] **Ability to test the connection of a given upstream**
- [x] **Shareable upstreams functionality**
- Optimize storage and improve efficiency by allowing multiple virtual registries to share common upstream sources
- Implement efficient caching and storage optimization
- Reduce duplicate storage of identical artifacts
- [x] **UI to configure registries and upstream**
- [x] **UI for searching and managing the cache**
- [x] **Support for locally-hosted registries**
- Target GitLab projects (and potentially Groups) to expose package registry items into virtual registry
- Improve upon current workaround of using package registry endpoint URLs as remote upstreams
- [x] **Lifecycle policies implementation**
- Start with simple rule: Delete cache records not pulled in last X days
- Provide audit logs and notifications for policy-driven actions
- [x] **Complete documentation suite**
#### 🔄 In Progress / Planned
- [ ] **Root-group-level view of upstreams and their connection status**
- [ ] **Allow/Deny filtering**
- Create flexible rule-based filtering for package inclusion/exclusion
- Support pattern matching for package coordinates
- Implement version-specific filtering capabilities
- Provide audit logs for blocked package requests
- [ ] **Statistics and Analytics**
- Cache records: pull frequency, last pull timestamp
- Counter caches: manage upstreams count at registry level
- Usage metrics for monitoring and optimization
- [ ] **Geo support**
- [ ] **Guard against duplicated upstreams**
- Prevent same URL + same credentials within top-level group
- Addresses improper storage usage
- [ ] **Maven-specific upstream categorization**
- Categorize upstreams for snapshots, releases, or both
- Optimize upstream checking based on Maven package file type
- [ ] **Performance improvements** (Bonus)
- Investigate improvements from performance review analysis
### Data & Observability Requirements
- [ ] **Full instrumentation deployed and validated**
- [ ] **Usage metrics, performance data, and health indicators viewable in Tableau**
- [ ] **Dashboards configured for ongoing monitoring and customer success tracking**
- [ ] **Error rate monitoring on registry endpoints of virtual registries**
### Market Validation Requirements
- [ ] **Customer feedback analysis from Beta program completed**
- [ ] **Clear evidence of customer value and adoption patterns**
- [ ] **At least 3-5 customers ready to move to GA usage**
### Technical Readiness Requirements
- [ ] **Confidence in scalability demonstrated through testing**
- [ ] **Feature flags removed completely**
- [ ] **Feature available on Dedicated (platform parity achieved)**
- [ ] **Performance benchmarks consistently met**
- [ ] **Table partitioning and scaling optimizations validated**
## Success Metrics
### Adoption Rate
- Number of groups with multiple virtual registries
- Percentage of virtual registries utilizing shared upstreams
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
> [!important]
> This page may contain information related to upcoming products, features and functionality.
> It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
> Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic