Proposal: Provides file synchronization tools for offline deployed athens
- 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
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