What is kanku?

kanku is designed to give you a better integration of your kiwi images built by the Open Build Service (OBS) in your development and testing workflow.

It can be run in two modes

The developer mode

In a simple configuration file in YAML format you can specify the location of your kiwi image and actions to be executed after downloading the image and starting a Virtual Machine using the downloaded image. You can configure one or multiple jobs per project. These jobs consists of one or more tasks which use a handler module and the given options.
With the kanku command line tool you can easily

The server mode

In server mode, a daemon process, the "kanku-scheduler", can run configured jobs peridocally or you can trigger a job manually. As the job configuration is very similar to the developer mode, you can easily adopt the configurations used in developer mode. The results can be shown via WebUI or with the kanku command line tool in a terminal

  • Concept
  • Guest Overview
  • Job History
  • Job List
  • Job List 1
  • Job List 2

Installation

Automatic installation with yast one-click-install

Simply search on software.opensuse.org for your distribution and install the package

Manual installation

openSUSE


# AS USER root
zypper ar obs://devel:kanku devel:kanku
zypper ar obs://devel:kanku:perl devel:kanku:perl
zypper ref -s
zypper in kanku
    

Fedora/RedHat


# AS USER root
curl https://download.opensuse.org/repositories/devel:/kanku/Fedora_Rawhide/devel:kanku.repo > /etc/yum.repos.d/devel:kanku.repo
curl https://download.opensuse.org/repositories/devel:/kanku:/perl/Fedora_Rawhide/devel:kanku:perl.repo > /etc/yum.repos.d/devel:kanku:perl.repo
dnf install kanku
usermod -a -G wheel kanku
usermod -a -G libvirt kanku
    

Ubuntu/Debian


sudo sh -c 'echo "deb https://download.opensuse.org/repositories/devel:/kanku/xUbuntu_18.04/ ./" > /etc/apt/sources.list.d/kanku.list'
sudo sh -c 'echo "deb https://download.opensuse.org/repositories/devel:/kanku:/perl:/deb/xUbuntu_18.04/ ./" >> /etc/apt/sources.list.d/kanku.list'
curl https://download.opensuse.org/repositories/devel:/kanku:/perl:/deb/xUbuntu_18.04/Release.key |sudo apt-key add -
curl https://download.opensuse.org/repositories/devel:/kanku:/staging/xUbuntu_18.04/Release.key   |sudo apt-key add -
sudo apt update
sudo apt install -y kanku
    

Setup your environment


sudo kanku setup --devel
# if you would like to have more control about the modifications on your system
# please use:
# sudo kanku setup --devel --interactive

sudo shutdown -r now

Preparing a new Project

The command kanku init will create a default Kankufile which should give you a good starting point.

The option --memory=... defines the RAM of the virtual guest and is optional. Default is 2G of RAM.

For more options SEE kanku init --help

# create directory 
mkdir MyProject

# cd in project's directory
cd MyProject

kanku init --memory=1024G --domain_name my-project
    

Download, create and start a new guest

kanku up
    

Connect to new machine

Per default, if it exists, your ssh key is added to the authorized keys file Otherwise you can login as

Please change the passwords at first login

# Connect with user kanku
kanku ssh

# Connect as user root
kanku ssh -u root

Overview and Concept

Concept Diagram

FAQ

Have a look at devel:kanku:images to get an overview of official kanku images. Keep in mind how to configure the selected image in kanku
        
-
  use_module: Kanku::Handler::OBSCheck
  options:
    api_url: https://api.opensuse.org
    project: devel:kanku:images
    # package e.g. openSUSE-Leap-15.0-JeOS
    package: <package name>
    # e.g. images_leap_15_0
    repository: <repository name>

        
      

KNOWN ISSUES

Please see the open issues on http://github.com/M0ses/kanku/issues