Skip to content
This repository has been archived by the owner on Feb 17, 2021. It is now read-only.

ewpratten/ultralight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ultralight

Ultralight is a custom maven server that is designed to run on machines with very low resources, and almost no storage. The main reason behind this design is to allow this service to be hosted as a single AWS Lambda function on vercel.com.

How it works

Ultralight pretends to be a maven server

Ultralight is designed not to be an artifact repository itself, but to pretend to be one, then in the background, forward all requests to third party servers. When a user or buildsystem makes a request to the maven url, Ultralight will:

  1. Check to see if the requested artifact is listed in sources.yml
  2. Ask the GitHub API for that artifact's commit history
  3. Ensure the requested version is a valid commit tag
  4. Redirect the user to a GitHub CDN URL containing the requested JAR file

Ultralight will generate a maven-matadata.xml and a pom file on-the-fly to make any calling buildsystem think this is a valid maven server.

Setting up your own instance for free

Setting up your own instance is easy. Just fork this repository, make any needed edits to sources.yml, then set up an account on vercel.com and publish your forked repository. Vercel allows users to set up custom domain names for free.

Screenshots

Artifacts listing

Generated installation instructions for an artifact

About

Ultralight is a serverless maven repository system built on top of Vercel and AWS lambda functions

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project