diff --git a/docs/koji/aio.md b/docs/koji/aio.md new file mode 100644 index 0000000000000000000000000000000000000000..4d1914fe2468cdf885520b116bb2eda41fdd4a58 --- /dev/null +++ b/docs/koji/aio.md @@ -0,0 +1,73 @@ +# All In One (AIO) Koji + +An all in one koji instance is designed for safe development. It is your own self contained private koji. + +It consists of a koji hub, koji builder, koji web and a kojira service all using a PostgreSQL server running on +the same host. + +The kojiclient on the same host is configured to talk directly to this AIO instance. + +## Prerequisites + +Install a machine in the hostgroup `lsb/allinone`. This can be within your private Openstack Project for instance. +For example `exampleaio.cern.ch`. + +Configure a koji client, e.g on AIADM to use this koji instance by creating a `~/.koji/config.d/aio.conf`: + +```ini +[aio] +server = https://exampleaio.cern.ch:8443/kojihub +weburl = https://exampleaio.cern.ch +topurl = https://exampleaio.cern.ch/kojifiles +topdir = https://exampleaio.cern.ch/kojifiles +authtype = kerberos +``` + +* Note that kojihub port is different to the production service. (This is required as web/hub are unique apache vhosts) +* The koji client on the AIO server will use the very same AIO server + +## Manual Steps + +* Login as root and generate a Kerberos ticket: `kinit <username>@CERN.CH` +* Add the host( koji builder) to itself ( koji hub) with: `/root/koji_add-host.sh` +* A koji instance with zero tags and repositories is now in place. +* It may be necessary to start kojira `systemctl start kojira` as it is only started once a day via a cron.... + +## Test the Installation + +Check the API: + +```bash +koji -p aio moshimoshi +``` + +Check the web interface `https://exampleaio.cern.ch` + +## Generate an OS tag set + +** DO NOT FORGET the `PROFILE=aio` below or else production will be targeted. ** + +These scripts are described on the [koji bootstrap page](bootstrapping.md) and can be run from AIADM. + +```bash +git clone https://:@gitlab.cern.ch:8443/linuxsupport/lxdist-build.git +cd bin/tags + +# Followed by one or all of the OS bootstraps. + +env ARCHES=x86_64 PROFILE=aio ./bootstrap_10al.sh +env ARCHES=x86_64 PROFILE=aio ./bootstrap_10el.sh +env ARCHES=x86_64 PROFILE=aio ./bootstrap_9al.sh +``` + +This will create a set of tags plus the `mytag` tag. + +## Finally Build a Package + +In this case 9al but adjust as required. + +``` +koji -p aio add-pkg --owner <username> mytag9al-testing myrpm +koji -p aio build mytag9al ./myrpm-1.2.3-56.al9.srpm +``` + diff --git a/mkdocs.yml b/mkdocs.yml index 69a463e5a90fd7de99e9a918a5faf540bb931de9..de9a880982f23c556c84beca909d3e61fd547276 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,6 +67,7 @@ nav: - 'Upgrading koji': koji/upgrading.md - 'Bootstrapping a new distro': koji/bootstrapping.md - 'Troubleshooting': koji/troubleshooting.md + - 'All in one koji': koji/aio.md - 'Resources': koji/resources.md - 'References': koji/references.md - 'Nomad':