Koji Profiles

This document describes how to work with koji profiles.

Command Line Interface

Koji client allows connecting to multiple koji instances from CLI by using profiles. The default profile is given by executable file name, which is ‘koji’.

To change koji profile, you can:

  • run koji with –profile=$profile_name argument
  • change executable file name by symlinking $profile_name -> koji

Configuration Files

Configuration files are located in following locations:

  • /etc/koji.conf
  • /etc/koji.conf.d/*.conf
  • ~/.koji/config.d/*.conf
  • user-specified config

Koji reads them, looking for [$profile_name] sections.

Using Koji Profiles in Python

Instead of using koji module directly, get profile specific module by calling:

>>> mod = koji.get_profile_module($profile_name)

This module is clone of koji module with additional profile specific tweaks.

Profile configuration is available via:

>>> mod.config

Example

Print configuration:

import koji

fedora_koji = koji.get_profile_module("koji")
ppc_koji = koji.get_profile_module("ppc-koji")

for i in (fedora_koji, ppc_koji):
    print("PROFILE: %s" % i.config.profile)
    for key, value in sorted(i.config.__dict__.items()):
        print("    %s = %s" % (key, value))
    print("")

Use ClientSession:

import koji

koji_module = koji.get_profile_module("koji")
client = koji_module.ClientSession(koji_module.config.server)
print(client.listTags())

TODO

  • consider using pyxdg for user config locations