Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maruos/blueprints
Container builder for Maru OS.
https://github.com/maruos/blueprints
containers debian lxc maru
Last synced: 2 months ago
JSON representation
Container builder for Maru OS.
- Host: GitHub
- URL: https://github.com/maruos/blueprints
- Owner: maruos
- License: apache-2.0
- Created: 2016-07-28T21:56:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T03:14:59.000Z (about 1 year ago)
- Last Synced: 2024-04-11T20:58:33.890Z (10 months ago)
- Topics: containers, debian, lxc, maru
- Language: Shell
- Homepage:
- Size: 3.07 MB
- Stars: 15
- Watchers: 6
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Maru OS Container Blueprints
![CI workflow](https://github.com/maruos/blueprints/actions/workflows/ci.yml/badge.svg)
Container image builder for Maru OS.
## Blueprints
Image building logic is separated into standalone plugins called blueprints.
To create your own blueprint, all you need to do is:
1. Add a directory under blueprint/. Use this directory to store anything you
need during the build process.2. Add a script called plugin.sh to the top-level of your new blueprint
directory. This will be the entrypoint to your blueprint.3. Define the function `blueprint_build` in plugin.sh that will run your build
logic.4. Define the function `blueprint_cleanup` in plugin.sh that will clean up any
intermediate build artifacts.See [blueprint/debian](blueprint/debian) as the canonical example for Debian.
## Examples
Build the default container:
$ ./build.sh
Build a minimal Debian arm64 buster container called "buster-container":
$ ./build.sh -b debian -n buster-container -- -r buster -a arm64 --minimal
*Tip: You will need root privileges to mount binfmt_misc for bootstrapping
foreign architecture containers.*### Building with Docker
If you have Docker set up on your machine, just substitute `./build.sh` with
`./build-with-docker.sh` to run a build within a Docker container with all the
necessary dependencies pre-installed. All args will be passed to `build.sh` just
like usual.Build a Debian arm64 buster container called "buster-container" with Docker
(args will be passed to `build.sh`):$ ./build-with-docker.sh -b debian -n buster-container -- -r buster -a arm64 --minimal
To stop the build early you can run:
$ docker stop $CONTAINER_ID
where `$CONTAINER_ID` is determined from `docker ps`.
## Contributing
See the [main Maru OS repository](https://github.com/maruos/maruos) for more
info.## Licensing
[Apache 2.0](LICENSE)