Milestone 16.1 review and discussion (Package stage)
Milestone 16.1 🚀 (MAY 18 to JUNE 17)
Goals 🎯
- Resolve open security vulnerabilities to ensure we meet our SLOs.
- Improve the developer experience for the NuGet repository by adding two frequently requested features.
- Resolve 2 key SUSImpacting issues with the container and package registry UI.
- Make progress on a very frequently requested bug, renaming projects with container repositories.
- Tackle the first issue for the maven dependency proxy.
P1 (Deliverable) Issues 🦊
Please remember to make time in each milestone for learning and personal projects in addition to the below list.
Security Issues
By prioritizing security-related issues, we can help reduce GitLab's threat landscape by reducing the likelihood of a breach, the exposure, and severity of vulnerabilities, and the cost associated with service vulnerabilities.
FCL follow-up items
-
Corrective Action: Improve debug logging around... (container-registry#1015 - closed) -
Consider Returning NAME_UNKNOWN errors for Blob... (container-registry#1016 - closed) -
Add a "Pull a known Good Image" Smoke Test to S... (container-registry#1017 - closed) -
Enable Debug Logging for Registry in Pre and St... (container-registry#1018 - closed) -
Deploy to Production Canary as a Seperate Step ... (container-registry#1019 - closed) -
Ensure SREs Can Determine if Deployed Registrie... (container-registry#1020 - closed) -
Add Request Info to Error Logs (container-registry#1021 - closed)
Container Registry
This milestone, we'll continue to make progress on our main projects. I'm particularly excited about unblocking and the addition of deploy token data to GMAU.
-
Log message when requested/granted permissions don't match on container registry auth tokens Observability -
"rename lease" on existing repositories that are in the process of a rename operation typefeature -
API: Handle Blob Media Types Consistently Container Registry Self-Managed Rollout::BlocksBeta -
Investigate weekly and aggregate container registry GMAU instrumentation -
Add ability to sort and paginate repository tags by name in descending order api -
Add ability to filter tags by name api -
Add ability to perform backward pagination in List Repository Tags API -
Restore missing container repositories under existing projects (part 1/2)
Package Registry
This milestone we begin to address the .NET/C# developer experience by tackling two highly requested features for the NuGet repository. In addition, we continue to improve Maven by adding support for basic auth.
-
Add Nuget package description to the information returned with a package -
Support dotnet nuget api-key option -
Database model for the dependency proxy settings -
Delete the duplicate npm packages from the database -
Only the first 100 files are shown when browsing a package in the Package Registry frontend -
Add loader for Files component on package details page frontend -
NPM Package Registry Group-Level End Point
Stretch goals
If time allows, the below goals will help to deliver our Q1 OKR of improving metadata generation and help make the API more useful.
-
Create a background worker to trigger npm metadata generation -
Add status_messageto the package model -
Dependency proxy service for generating headers and external url -
Fix Redis pool hit ratio graph on Grafana -
Use lower resolution by default on registry Grafana dashboards -
Use Redis repository cache for the cancel blob upload operation
Quality
-
Test npm group endpoint -
Add a "Pull a known Good Image" Smoke Test to Staging -
Run container registry QA tests in self-managed and SaaS modes
Design
We do not have a dedicated designer. The guidance we've received is that we should do our best with what's in Pajamas and submit a borrow request for larger design projects.
Issue Refinement
The below issues need refining so that we can schedule them in subsequent milestones.
-
UI does not return to login / SSO token not renewed in certain UI areas when session expires -
Permissions to list packages of a group via REST API is different than viewing packages on the UI (GraphQL) -
symbol server capability for the NuGet package registry symbol packages (.snupkg)
Kick-off video 🎥
Holidays 🌴
Please order by From date
| Person | From | To |
|---|---|---|
| @10io | 2023-05-17 |
2023-05-19 |
| @trizzi | 2023-05-24 |
2023-05-29 |
| Family and Friends Day |
2023-05-26 |
2023-05-26 |
| @adie.po | 2023-06-01 |
2023-06-02 |
| @adie.po | 2023-06-07 |
2023-06-09 |
| @adie.po | 2023-06-13 |
2023-06-14 |
Capacity 📦
Helpful links
| Helpful links | Use this for |
|---|---|
| Functional breakdown | Viewing issues scheduled for the current and next several milestones. |
| Milestone board | See how the planned issues are broken down by function. |
| Workflow board | See how the milestone issues are broken down by their current status (workflow). |
| List of P1 unweighted issues | A list of issues that are not yet weighted, which is a requirement for P1 issues. |
| Issues that need refining | A list of issues that refinement |
| Issue types by milestone | See the ratio of features, maintenance, and bugs |
Operational tasks
-
PM: Create this issue with the title "Milestone XX.Y review and discussion (Package stage)" -
PM: Assign the issue to PM, EM, SET, and PD -
PM: Set the due date to the end of the milestone -
PM: Update links with the correct milestone -
PM: Write goals, list deliverables, community contribution, and stretch issues that align to the goals -
SET: List quality issues -
PD: List usability improvement issues -
PM: List research issues -
EM: List issues needing refinement -
EM: Review that all issues listed as deliverables are refined. If there is missing weight, implementation plan, and/or workflowready for development label, then ping the team to perform refinement -
EM: For issues that are refined and labeled as Package:P1, assign Deliverable and ~"Track Health Status" labels -
EM: Confirm the list of issues in this issue match with the ones in the filter. -
EM: Confirm there is enough work for golang engineers, rails engineers, and frontend engineers, and capacity is not exceeded. Can use the functional breakdown board to evaluate weights and coordinate with the team to confirm they feel comfortable with the commitments. -
EM: Record a comment like this with the total weight, average, and type of issues ratio and update the table in this issue -
PM: Record the kickoff video, link to this issue, and share it on slack
This issue was generated using the Package:Package Registry milestone plan template.