Skip to content
HowXu

HowXu/cloud-maven

Live in production

只需一个 Cloudflare Worker,即可部署带管理界面的 Maven 私有仓库。支持 Maven/Gradle 客户端直连推送和拉取,参考 Reposilite 前端体验。

Lightweight Maven repository powered by Cloudflare Workers, one-click deploy 🎉 | 基于Cloudflare Workers的轻量Maven私有仓库,一键部署 🎉

3 0TypeScriptPush 12d agoListed 8d agoMIT

maven.howxu.cn

No GitHub topics on this repo.

  • TypeScript72.3%
  • Vue24.7%
  • JavaScript1.9%
  • CSS0.9%
  • HTML0.2%
View on GitHub

Report a problem

1 Review

Cloud-Maven is a surprisingly complete project for a very new repository. The core idea is practical: a lightweight Maven repository that can run from a single Cloudflare Worker, using R2 for artifacts and KV for config, tokens, and sessions. That is a useful niche for teams or solo developers who want a private Maven/Gradle-compatible repo without operating Nexus, Artifactory, or a VM-backed service. The README does a good job explaining the deployment path, including Cloudflare import-from-Git, R2/KV bindings, the ADMIN_BOOTSTRAP_TOKEN flow, Maven repository XML, health checks, and operational caveats like checksum generation and maven-metadata.xml behavior.

The implementation looks more serious than the current community footprint suggests. The backend is organized around clear modules for auth, token management, admin APIs, Maven file routes, config, storage, and shared path/checksum helpers. I especially liked seeing path normalization reject unsafe segments, API path collisions, repeated slashes, control characters, and HTML metacharacters before touching R2. Token permissions are also handled with path-scoped read, write, delete, and manage actions, and the code tries to prevent disabling or deleting the last manager token. Those details matter a lot for a repository service.

The test coverage is one of the strongest parts: there are client API/composable/component tests and worker unit plus integration tests, including Maven route behavior, auth/admin routes, metadata parsing, permissions, path validation, MIME handling, and checksum behavior. CI runs typechecking and tests separately for the Vue client and Worker backend on Node 22, which makes the repo much easier to trust.

The main improvements I would suggest are around adoption polish. There are no releases yet, no topics, no contribution/security docs, and no open issues or roadmap, so a new user has limited signal about stability or intended scope. Since this handles credentials and package artifacts, a short security policy would be valuable, even if it only explains how to report issues and what threat model is supported. I would also document the limitations of Maven metadata maintenance more prominently, because users coming from full repository managers may expect automatic snapshot/release metadata behavior. Finally, the English README rendered with character encoding artifacts in my console, so it is worth checking the file encoding and Markdown output outside GitHub.

Overall, this is a focused and useful Cloudflare-native take on private Maven hosting, with good architecture and unusually solid tests for an early project. With releases, clearer stability notes, and a small contributor/security setup, it would be much easier for cautious users to adopt.