gomods / gomods/athens

Proposal: Provides file synchronization tools for offline deployed athens

Open
#2,117 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.8k
Forks
542
Avg merge
7d 21h
Merged PRs (30d)
2

Description

**Is your feature request related to a problem? Please describe.**
Sometimes we deploy Athens offline in enterprise/team environments, completely isolated from the internet, requiring file synchronization via storage media or other methods. In such cases, operations like copying, renaming, and placing files in designated locations become cumbersome. Can we provide an official tool for packages archiving, packages insertion, and packages management?

**Describe the solution you'd like**
The main purpose is to solve the package synchronization problem in offline deployment. Including fratures like:
1. Export packages to a single file, includes the package name, version number, metadata, etc.
2. Import packages to Athens,using metadata from this single file, which created by export step above, no other operations needed.
3. Clean up packages. Some packages was deprecated, or should use its new verion, the tools could analyze the download requests (maybe need Athens store these information for analyze), delete packages by given strategy like: delete by create time, LRU(Least Recently Used), LFU (Least Frequently Used), delete package@version.
4. These tools can be integrated into Athens' binaries or provided as separate binaries.

**Describe alternatives you've considered**
Maybe a full featured website? for manage packages. I think this could be another project, Athens need expose Endpoints for the website, authentication and access control should be considered.

**Additional context**

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by mapping Athens’ existing package storage and proxy behavior, then clarify whether synchronization belongs in the main binaries or separate tools. Define the archive metadata, import workflow, and package-cleanup strategies with maintainers; done requires an agreed, testable scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.