particle-os-cli/README.md
2023-12-27 21:06:26 -05:00

41 lines
1.5 KiB
Markdown

# Ublue CLI
This is my personal project trying to create a more conise version of the [starting point](https://github.com/ublue-os/startingpoint/tree/template) repo all condensed into a single Rust based CLI tool.
## Installation
Right now the only way to install this tool is to use `cargo`.
```bash
cargo install --locked ublue-rs
```
## How to use
### Templating
Once you have the CLI tool installed, you can run the following to pull in your recipe file to generate a `Containerfile`.
```bash
ublue template -o <CONTAINERFILE> <RECIPE_FILE>
```
You can then use this with `podman` to build and publish your image. Further options can be viewed by running `ublue template --help`
### Building
If you don't care about the details of the template, you can run the `build` command.
```bash
ublue build ./config/recipe.yaml
```
This will template out the file and build with `buildah` or `podman`. If you're running in Gitlab CI with the pipeline like in the [init template](templates/init/gitlab-ci.yml.tera), it will automatically sign your image using Gitlab's own OIDC service.
## Future Features
- [x] Update to the most recent stable style of the [starting point](https://github.com/ublue-os/startingpoint/tree/template) template
- [x] Setup pipeline automation for publishing
- [ ] Create an init command to create a repo for you to start out
- [ ] Setup the project to allow installing with `binstall`
- [ ] Create an install script for easy install for users without `cargo`