https://github.com/djcass44/all-your-base
Declaratively build container images without any privileges.
https://github.com/djcass44/all-your-base
alpine base-image containerization debian krm oci ubi
Last synced: 2 months ago
JSON representation
Declaratively build container images without any privileges.
- Host: GitHub
- URL: https://github.com/djcass44/all-your-base
- Owner: djcass44
- License: apache-2.0
- Created: 2023-09-23T07:56:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-21T09:27:26.000Z (7 months ago)
- Last Synced: 2024-10-21T13:30:19.833Z (7 months ago)
- Topics: alpine, base-image, containerization, debian, krm, oci, ubi
- Language: Go
- Homepage:
- Size: 4.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# all-your-base: OCI image builder
*All your base* images are secure and verifiable.
ayb has the following key features:
* **Fully reproducible by default.** Run ayb twice and you will get the exact same image.
* **Small.** ayb generates images only contain what you tell it to contain.
* **Secure by default.** ayb configures images to run as a non-root user. ayb also requires no privileges to run.
* **Portable**. ayb has been designed to work in multiple environments, even those without internet.## Quickstart
An ayb file for building a base image looks like this:
```yaml
apiVersion: ayb.dcas.dev/v1
kind: Build
metadata:
name: my-base-image
spec:
from: alpine:3.18
repositories:
alpine:
- url: https://mirror.aarnet.edu.au/pub/alpine/v3.18/main
packages:
- type: Alpine
names:
- git
```Have a look through the [`examples`](examples) directory for more.
We can build this with ayb from any environment:
```shell
# generate or update the lockfile
ayb lock --config tests/fixtures/alpine_318_full.yaml
# build the image
ayb build --config tests/fixtures/alpine_318_full.yaml --save ayb-alpine.tar
```
You can then load the generated tar image into an OCI environment:```shell
docker load < ayb-alpine.tar
```You can also publish the image directly to a registry:
```shell
ayb build --config tests/fixtures/alpine_318_full.yaml --image myrepo/alpine318 --tag test --tag latest
```## Documentation
Documentation can be found in the [`docs`](./docs) directory.