Rocket is a Rust based CLI tool for managing Docker containers which compiles packages for our OS. The name "Rocket" is inspired by the whole Universe System, where each planet is a package and the rocket is the tool that helps us manage them. Gotta keep the astronauts happy π
Rocket uses a simple logic to manage building of packages:
- All packages are stored in a
packagesdirectory. We aim to have a separate git repository for packages in future, so that updating the packages is easier. - Each package has a
Dockerfilewhich is used to build the package. This Dockerfile includes the necessary steps to build the package and install it in the container. - It also includes various "labels" which are used to identify the package, such as
name,version, anddescription. Notably, it requiresshiplabel which links to the built archive of the package, which will be pulled from the planet (package container). - The archives will be stored in a
shipdirectory, which is used to store the built packages. You can use the env variableROCKET_SHIP_DIRto change the location of the ship directory. - By default, Rocket will try to build all packages in the
packagesdirectory. You can use the--packageflag to build a specific package.