Adding new koji content generator¶
Koji added support for content generators some time ago. Basic premise of content generators is that it lets us create build systems for new types of content without affecting or changing core Koji code and in some way simplify integration with rest of the release toolchain. More information about content generators, background, requirements and more can be found in Koji content generator documentation
For content generator to be able to create/import builds into Koji following prerequisites have to be met:
Koji has to recognize the content generator type
User doing the content generator import has to have permissions for this action
Any new content types have to be defined in Koji
Questions to ask¶
There are some questions that should be answered before the content generator is enabled/added to Koji
Where is the content generator service running, what is its support status etc?
Is new type of content being added or is the content generator providing different way to build content Koji already knows about?
What is the expected size of content that will be imported into Koji?
Does the content generator follow each of the requirements for writing it from Koji documentation referenced above?
Adding a new content generator into koji¶
First we create the content generator and give a user permission to do imports for it:
koji grant-cg-access <username> <content_generator_name> --new
In many cases the content generator will be adding content with new content type. This can be achieved simply by running:
koji call addBType <content type>
username - is a name of user which will be doing the imports. In most cases this will be a service-level account
content generator name - this name has to be provided by the content generator development team
–new - this switch ensures we create the content generator if it doesn’t exist