No description
The CI is in two stages, for each supported distro. First the RPMs are generated from the spec file in the repo for the given distro and architecture. Once all the RPM builds have succeeded successfully, a test machine is provisioned with osbulid-composer installed, and koji API enabled. The repository containing the RPMs of the code being tested is also enabled on the test machine, and the cli client is installed. Finally, the test/integration.sh script is executed, which currently does nothing. Signed-off-by: Tom Gundersen <teg@jklm.no> |
||
|---|---|---|
| container | ||
| plugins | ||
| schutzbot | ||
| test | ||
| .editorconfig | ||
| .gitignore | ||
| compose.py | ||
| koji-osbuild.spec.in | ||
| LICENSE | ||
| make-tags.sh | ||
| meson.build | ||
| meson_options.txt | ||
| osbuild-local.conf | ||
| README.md | ||
| run-builder.sh | ||
| run-koji-container.sh | ||
Koji osbuild
This project provides osbuild integration with Koji. This is done via three plugins:
- Koji hub plugin: Provides a new XMLRPC API endpoint that clients
can use to create new
osbuildImageKoji tasks. - Koji builder plugin: Handles
osbuildImageKoji tasks and will talk to osbuild-composer to create new composes via composer's Koji API. - Koji cli plugin: Adds a new
osbuild-commandto the existingkojicommand line client. This will then use the new XMLRPC API to request a new compose.
Building the containers
# container for the hub
sudo podman build -t koji.hub -f container/hub/Dockerfile .
# container for the builder
sudo podman build -t koji.builder -f container/builder/Dockerfile .
Running
Run the database server, the kerberos kdc, and koji hub:
sudo ./run-koji-container.sh start
Run the koji builder:
sudo ./run-builder.sh
Create the tag infrastructure:
./make-tags.sh
Verify installation
Try connecting to koji hub locally via the koji command line client:
koji --server=http://localhost:80/kojihub --user=osbuild --password=osbuildpass --authtype=password hello
grüezi, osbuild!
You are using the hub at http://localhost:80/kojihub
Authenticated via password
Check logs
sudo podman logs org.osbuild.koji.koji # koji hub
sudo podman logs org.osbuild.koji.kdc # kerberos kdc
Execute into the container:
sudo podman exec -it org.osbuild.koji.koji /bin/bash
sudo podman exec -it org.osbuild.koji.kdc /bin/bash
sudo podman exec -it org.osbuild.koji.kojid /bin/bash
Creating a compose
The compose.py client can be used to create a compose via the koji plugins:
./compose.py --plain fedora 32 f32-candidate x86_64 --repo 'http://download.fedoraproject.org/pub/fedora/linux/releases/32/Everything/$arch/os/'