asf-tooling commented on issue #829:
URL: 
https://github.com/apache/tooling-trusted-releases/issues/829#issuecomment-4410086883

   <!-- gofannon-issue-triage-bot v2 -->
   
   **Automated triage** — analyzed at `main@2da7807a`
   
   **Type:** `discussion`  •  **Classification:** `no_action`  •  
**Confidence:** `high`
   **Application domain(s):** `artifact_upload`, `distribution_tracking`, 
`project_committee_management`
   
   ### Summary
   This is a research/planning issue about studying what would be needed to 
replace repository.apache.org (RAO) with ATR functionality. It outlines areas 
to investigate including snapshot/staging uploads and downloads, Maven Central 
publishing, user credentials, and project coordinates. @sbp noted that this 
work is planned for after going to beta, making it explicitly deferred. No code 
changes are needed at this time.
   
   ### Where this lives in the code today
   
   #### `atr/get/upload.py` — `selected` (lines 38-47)
   _currently does this_
   Current upload functionality handles file uploads via browser, SVN, rsync, 
and GitHub workflows - relates to the 'uploading bundles/packages/files' aspect 
of the issue.
   
   ```python
   @get.typed
   async def selected(
       session: web.Committer,
       _upload: Literal["upload"],
       project_key: safe.ProjectKey,
       version_key: safe.VersionKey,
   ) -> str:
       """
       URL: /upload/<project_key>/<version_key>
       """
   ```
   
   #### `atr/get/download.py` — `all_selected` (lines 42-52)
   _currently does this_
   Current download functionality for release files - relates to the 
'downloading bundles/packages/files' aspect of the issue.
   
   ```python
   @get.typed
   async def all_selected(
       session: web.Committer,
       _download_all: Literal["download/all"],
       project_key: safe.ProjectKey,
       version_key: safe.VersionKey,
   ) -> web.WerkzeugResponse | str:
       """
       URL: /download/all/<project_key>/<version_key>
       Display download commands for a release.
       """
   ```
   
   #### `atr/get/distribution.py` — `stage_automate` (lines 38-49)
   _currently does this_
   Existing staging distribution automation - relates to the 'pushing staging 
to Maven Central' aspect of the issue.
   
   ```python
   @get.typed
   async def stage_automate(
       session: web.Committer,
       _distribution: Literal["distribution/stage/automate"],
       project_key: safe.ProjectKey,
       version_key: safe.VersionKey,
   ) -> str:
       """
       URL: /distribution/stage/automate/<project_key>/<version_key>
       """
       await session.prevent_confusing_ui_display(project_key)
       return await _automate_form_page(project_key, version_key, staging=True)
   ```
   
   #### `atr/storage/writers/distributions.py` — `CommitteeMember.automate` 
(lines 95-108)
   _currently does this_
   Backend distribution automation logic that queues Maven Central publishing 
tasks - directly relates to the 'pushing staging to Maven Central' requirement.
   
   ```python
       async def automate(
           self,
           release_key: models.safe.ReleaseKey,
           platform: models.sql.DistributionPlatform,
           committee_key: str,
           owner_namespace: models.safe.Alphanumeric | None,
           project_key: models.safe.ProjectKey,
           version_key: models.safe.VersionKey,
           phase: str,
           revision_number: str | None,
           package: models.safe.Alphanumeric,
           version: models.safe.VersionKey,
           staging: bool,
       ) -> models.sql.Task:
   ```
   
   ### Proposed approach
   This issue is explicitly deferred per @sbp's comment: 'We plan to do this 
after going to beta.' No code changes should be proposed at this time. The 
issue serves as a tracking/planning artifact for future work. When the time 
comes, the existing upload, download, and distribution subsystems would serve 
as extension points for implementing RAO replacement functionality, potentially 
with new domains served from the same Hypercorn instance (as suggested in the 
issue body).
   
   ### Open questions
   - What constitutes 'going to beta' - is there a milestone or issue tracking 
that?
   - How much of the RAO functionality (snapshots, staging repos, proxying) 
overlaps with existing ATR distribution management vs. requires entirely new 
subsystems?
   - Would replacing RAO require a Maven repository protocol implementation 
(e.g., serving artifacts via Maven-compatible URL paths for tools like 
mvn/gradle)?
   - What are the current usage patterns of repository.apache.org that need to 
be preserved?
   
   _The agent reviewed this issue and is not proposing patches in this run. 
Review the existing-code citations and open questions above before deciding 
next steps._
   
   ### Files examined
   - `atr/get/download.py`
   - `atr/get/upload.py`
   - `atr/post/upload.py`
   - `atr/get/distribution.py`
   - `atr/get/file.py`
   - `atr/post/distribution.py`
   - `atr/shared/upload.py`
   - `atr/storage/writers/distributions.py`
   
   ---
   *Draft from a triage agent. A human reviewer should validate before merging 
any change. The agent did not run tests or verify diffs apply.*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to