Skip to content

Commit

Permalink
updated readme
Browse files Browse the repository at this point in the history
added extra fixture
  • Loading branch information
djcass44 committed Sep 23, 2023
1 parent 7293319 commit 54dee13
Show file tree
Hide file tree
Showing 3 changed files with 134 additions and 4 deletions.
21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# all-your-base: OCI image builder

*All your base* images builds secure and verifiable base images.
*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.

## Quickstart

Expand All @@ -13,14 +18,22 @@ metadata:
name: my-base-image
spec:
from: alpine:3.18
repositories:
alpine:
- url: https://mirror.aarnet.edu.au/pub/alpine/v3.18/main
packages:
- git
- type: Alpine
names:
- git
```
We can build this with ayb from any environment:
```shell
ayb build tests/fixtures/alpine_318_full.yaml --save ayb-alpine.tar
# 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:

Expand All @@ -31,5 +44,5 @@ docker load < ayb-alpine.tar
You can also publish the image directly to a registry:

```shell
ayb build tests/fixtures/alpine_318_full.yaml --image myrepo/alpine318 -t test
ayb build --config tests/fixtures/alpine_318_full.yaml --image myrepo/alpine318 --tag test --tag latest
```
102 changes: 102 additions & 0 deletions tests/fixtures/apko-eg-nginx-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"name": "apko-eg-nginx",
"lockfileVersion": 1,
"packages": {
"alpine-baselayout": {
"type": "Alpine",
"version": "3.4.3-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/alpine-baselayout-3.4.3-r1.apk",
"integrity": "Q1zwvKMnYs1b6ZdPTBJ0Z7D5P3jyA="
},
"alpine-baselayout-data": {
"type": "Alpine",
"version": "3.4.3-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/alpine-baselayout-data-3.4.3-r1.apk",
"integrity": "Q1YCAH7jdO2W816b85sUh9Z8av4Cc="
},
"busybox": {
"type": "Alpine",
"version": "1.36.1-r2",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/busybox-1.36.1-r2.apk",
"integrity": "Q1gQ/L3UBnSjgkFWEHQaUkUDubqdI="
},
"busybox-binsh": {
"type": "Alpine",
"version": "1.36.1-r2",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/busybox-binsh-1.36.1-r2.apk",
"integrity": "Q1ng9K4zeuARW5It8leWhwxor0cRQ="
},
"coreutils": {
"type": "Alpine",
"version": "9.3-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/coreutils-9.3-r1.apk",
"integrity": "Q1f60fZgsiTgS1arM7yXQeyqHk5y0="
},
"libacl": {
"type": "Alpine",
"version": "2.3.1-r3",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/libacl-2.3.1-r3.apk",
"integrity": "Q1dT3NgXwAGQkUX/tOwTpxQMOyEGk="
},
"libattr": {
"type": "Alpine",
"version": "2.5.1-r4",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/libattr-2.5.1-r4.apk",
"integrity": "Q1pBCBHCW9JyLiQrMUlyp7tWVJiwk="
},
"libcrypto3": {
"type": "Alpine",
"version": "3.1.3-r0",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/libcrypto3-3.1.3-r0.apk",
"integrity": "Q1+hLHhXUQEYytDHHiaVNhV0493Ts="
},
"libssl3": {
"type": "Alpine",
"version": "3.1.3-r0",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/libssl3-3.1.3-r0.apk",
"integrity": "Q1zrNyIdDwInJ5HULlg7lSAxvLeVc="
},
"musl": {
"type": "Alpine",
"version": "1.2.4-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/musl-1.2.4-r1.apk",
"integrity": "Q12qHLEadu7QpBuz8kHB5EDF3mKB4="
},
"nginx": {
"type": "Alpine",
"version": "1.24.0-r6",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/nginx-1.24.0-r6.apk",
"integrity": "Q1dhJZPqbJoq5sUKudVcMaC13XX94="
},
"pcre": {
"type": "Alpine",
"version": "8.45-r3",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/pcre-8.45-r3.apk",
"integrity": "Q1osvmkiGDJeinSCBXZ9Pfqx52/sM="
},
"skalibs": {
"type": "Alpine",
"version": "2.13.1.1-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/skalibs-2.13.1.1-r1.apk",
"integrity": "Q1glnmuqMZfoGd5sOZKfEJnYV7vfQ="
},
"ssl_client": {
"type": "Alpine",
"version": "1.36.1-r2",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/ssl_client-1.36.1-r2.apk",
"integrity": "Q1j6LHWpavmnFtpYjzQkH7apSIVOc="
},
"utmps-libs": {
"type": "Alpine",
"version": "0.1.2.1-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/utmps-libs-0.1.2.1-r1.apk",
"integrity": "Q1bA7o9NfM0+FHYiB1/oK72Bl1b7k="
},
"zlib": {
"type": "Alpine",
"version": "1.2.13-r1",
"resolved": "https://mirror.aarnet.edu.au/pub/alpine/v3.18/main/x86_64/zlib-1.2.13-r1.apk",
"integrity": "Q1JlboSJkrN4qkDcokr4zenpcWEXQ="
}
}
}
15 changes: 15 additions & 0 deletions tests/fixtures/apko-eg-nginx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: ayb.dcas.dev/v1
kind: Build
metadata:
name: apko-eg-nginx
spec:
from: scratch
repositories:
alpine:
- url: https://mirror.aarnet.edu.au/pub/alpine/v3.18/main
packages:
- type: Alpine
names:
- alpine-baselayout
- nginx
- coreutils

0 comments on commit 54dee13

Please sign in to comment.