diff --git a/_servicedata b/_servicedata
new file mode 100644
index 0000000..decea5d
--- /dev/null
+++ b/_servicedata
@@ -0,0 +1,8 @@
+
+
+ git://github.com/M0ses/kanku.git
+ ed5bac080169cbc36c4208db35ea86d9c1ace0a7
+ /home/frank/prj/kanku
+ 07fc15f0647a92f01b67085d698485d3432a8924
+ https://github.com/M0ses/kanku.git
+ ed5bac080169cbc36c4208db35ea86d9c1ace0a7
\ No newline at end of file
diff --git a/debian.dsc b/debian.dsc
index 12064a5..b2eaea1 100644
--- a/debian.dsc
+++ b/debian.dsc
@@ -2,7 +2,7 @@ Format: 1.0
Source: kanku
Binary: kanku
Architecture: any
-Version: 0.9.0
+Version: 0.9.0.git20201205.ed5bac0
Maintainer: Frank Schreiner
Standards-Version: 3.8.2
Homepage: https://github.com/M0ses/kanku
diff --git a/kanku-0.9.0.git20201205.ed5bac0.tar.xz b/kanku-0.9.0.git20201205.ed5bac0.tar.xz
new file mode 100644
index 0000000..47d51a7
--- /dev/null
+++ b/kanku-0.9.0.git20201205.ed5bac0.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c0b63290669d45b2bcda6b35039d407d2603b6669a610ba075db2c38e772c1d6
+size 2326772
diff --git a/kanku.changes b/kanku.changes
new file mode 100644
index 0000000..0856926
--- /dev/null
+++ b/kanku.changes
@@ -0,0 +1,817 @@
+-------------------------------------------------------------------
+Sun Dec 06 16:52:01 UTC 2020 - FSchreiner@suse.com
+
+- Update to version 0.9.0:
+ * [cli] autosetup correct images repo for arch
+ * [dist] arch depedent templates
+ * [dist] added Kanku::Util package
+ * [cli] use arch in devel setup
+ * [cli] prepare 'lsi' for multiarch support
+ * [util] remove nvram on dom undefine (aarch64)
+ * [core] first working version for aarch64
+ * [dist] removed qemu-kvm from Requires
+ * [dist] prepare spec for arm (aarch64)
+ * [handler] added whitespace to 9p config for dracut to avoid warnings
+ * [cli] changed setup in 'ca'
+ * [cli] new command 'ca'
+ * [web] transformed 'Sign In' into form again
+ * [cli] refactored urlwrapper to perl
+ * [hub] added signed flag
+ * [hub] added hub.txt
+ * [cli] fixed lsi command
+ * [web] fixed toTop buttons
+ * [web] add show_only_latest_results to query
+ * [web] jump to first page of history when retriggering jobs
+ * [web] paginator for job page
+ * [cli] highlight default selections in kanku-url-wrapper
+ * [dist] added empty dirs to package list for sle15sp1/opensuse15.1
+ * [cli] fix for 404 when fetching asc file in kanku-url-wrapper
+ * [cli] kanku-url-wrapper detached signature support
+ * [examples] fixes for KankuFile.openQA
+ * [examples] added detached gpg sig for KankuFile.openQA
+ * [web] +/- switches to open/close job/history/guest pages
+ * [web] fix for 'Restore Defaults' in job page
+ * [core] port option for SSH role / cleanup die
+ * [core] fix for default config if no kanku-config.yml found
+ * [core] fix for loading job config with includes
+ * [web] fixed link on index page to job_history
+ * [dist] added kanku-url-wrapper
+ * [cli] fixed copy/paste error with repo while init
+ * [util] VM::Image : removed dead variable declaration
+ * [cli] new implementation of --pool option
+ * [cli] create kanku config in devel setup
+ * [cli] init: added --pool option (also configurable)
+ * [cli] init: package/repository now configurable in ~/kanku/kanku-config.yml
+ * [cli] cleanup: removed qemu_user from init
+ * [web] check for running jobs when retrigger
+ * [util] VM::Console detect failed login
+ * [util] new grub string for VM::Console
+ * [web] fix for show_only_latest_results
+ * [util] fix for new isolinux output in VM::Console
+ * [setup] fix for net-kanku-ovs.xml.tt2
+ * [web] admin switch now in router
+ * [web] reorder icons of job header in job_history
+ * [web] changed icon for retrigger in job_history
+ * [util] cleanup vm templates
+ * [util] fix machine version
+ * [handler] fix 9p detection for distros w/o /boot/config*
+ * [kanku] fixed devel job in KankuFile
+ * [core] kanku-devel as new default network
+ * [web] retrigger button in job_history
+ * [web] basic retrigger feature
+ * [web] improvments for tooltips
+ * [dispatcher] get max_processes from K::D::R::HostList
+ * [worker] croak after 300 sec if fqdn could not be found at startup
+ * [web] refresh page on back-to-top
+ * [web] refresh button for job page
+ * [web] fixed spinner for jobs page
+ * [web] fixed common search field to update route correctly
+ * [web] get filter from url in job page
+ * [web] hide back-to-top tooltips if scroll to top
+ * [web] removed useless emit
+ * [cli] --as_admin option for 'rtrigger' command
+ * [web] basic back-to-top button
+ * [web] improved routing in job_history paginator
+
+-------------------------------------------------------------------
+Thu Jul 02 15:15:25 UTC 2020 - FSchreiner@suse.com
+
+- Update to version 0.8.1:
+ * [web] removed VueX store
+ * [web] fix url for pwreset
+ * [web] signup error more verbose
+ * [web] fix show_comments link in job_history
+ * [web] show_only_latest_results in route now
+ * [web] cleanup vue.js templates
+ * [handler] fix typo K::Handler::Reboot
+ * [util] fix for colorized 'ip' output in Console->get_ipaddress
+ * [cli] fix regression in lsi
+ * [web] routeable job_states in job_history
+ * [web] routable search fields
+ * [handler] enhance Reboot by management_interface
+ * [handler] enhance SetJobContext by management_interface
+ * [web] moved search-field to common.js
+ * [web] minor cleanups in js files
+ * [web] improved tooltips in job_history
+ * [web] search for guests
+ * [web] refactoring of search in job/job_history page
+ * [web] filter for worker
+ * [web] fixed showDetails in guest page
+ * [setup] removed setting tcpmss for network setup
+ * [web] better routing for pagination in job_history
+ * [notifier] fixed link to job_result in view sendmail
+ * [web] fix link to vm in guest page
+ * [notifier] fixed link to job result for nsca
+ * [handler] changed pod to public OBS api
+ * [cli] fixed login/logout
+ * [Util] fix '--color' for older version of 'ip' tool
+ * [util] disabled colorized output of 'ip' command
+ * [web] added preferred_extension as field in gui_config
+ * [util] unify controllers in K::U::VM
+ * [util] made controller more flexible in K::U::VM
+ * [web] tooltip for job_history search
+ * [web] updated fontawesome/bootstrap.bundle
+ * [web] extended search filter in job_history
+ * [web] search by job_id in job_history
+ * [web] various fixes for job_history
+ * [web] new pager in job_history
+ * [web] avoid warning by removing distinct
+ * [web] fixed spacing for messagebox
+ * [web] fixed typo in JobCard
+
+-------------------------------------------------------------------
+Sun May 03 22:04:13 UTC 2020 - FSchreiner@suse.com
+
+- Update to version 0.8.0:
+ * [web] dismissable messagebox
+ * [web] fix remove button in guest page
+ * [web] search field for job page
+ * [schema] added fixtures for database version 15
+ * [web] fix regression in 'show only latest results'
+ * [web] Admin Switch
+ * [schema] added fixtures for database version 15
+ * [web] finish migration to Vue.js/SPA
+ * [web] vue-ified remaining old school js pages
+ * [web] admin page vue-ified
+
+-------------------------------------------------------------------
+Fri Apr 17 08:31:24 UTC 2020 - FSchreiner@suse.com
+
+- Update to version 0.7.2:
+ * [web] remove console.log
+ * [web] settings view -> vue
+ * [web] updated axios and added js maps for axios and bootstrap
+ * [web] vue-ification of the notify page
+ * [web] show error message in jobs page if parsing of config fails
+ * [web] fix for 'Refresh' button in job_history
+ * [web] improved error handling when job config broken
+ * [doc] updated path in Development.pod
+ * [web] fixed slider code in job_history
+ * [web] better role integration in js (jobs/guests)
+ * [web] fixes for role handling in REST/dispatcher
+ * [web] introduction of development mode for Dancer2
+ * [web] enforce domain_name prefixed by username if role is user
+ * [web] removed dummy roles and added active_roles in guest page
+ * [web] vue-ified guest page
+ * [core] better app recognition in K::U::IPTables
+ * [web] cleanup worker_errors and spinner from guest page
+ * [web] vue-ified job page
+ * [core] better handling of job config errors
+ * [core] output of SSH connection problems more verbose
+ * [dist] rewrite of KankuFile with new YAML::PP features
+ * [core] Switched to YAML::PP
+ * [cli] rguest cleanup
+ * [handler] send_esc in CreateDomain
+ * [web] removed debug output
+ * [web] fixed messageboxes when trigger jobs
+ * [util] be more verbose if prj/pkg not ready yet
+ * [web] fix refresh button in job_history
+ * [web] fix buttons for remove-domain
+ * [web] refresh buttons for job_history/guests/worker
+ * [dist] included with-spice.tt2
+ * [handler] support cursor in CreateDomain installation
+ * [notify] configurable state maps for K::N::NSCA
+ * [web] fix duration calculation in job_result
+ * [web] spinner in job/guest page
+ * [dist] updated bootstrap 4.1.3 -> 4.4.1
+ * [web] limit distinct view of job results to currently configured jobs
+ * [handler] CreateDomain: fix for colorized grep
+ * [handler] fix 'undefined' errors in K::H::Reboot
+ * [handler] suppress errors when grep for 9P in CreateDomain
+ * [core] fix TO_JSON in obHistorySub
+ * [cli] improved output of 'kanku lsi'
+ * [handler] croak if use_9p enabled but no module in guest kernel
+
+-------------------------------------------------------------------
+Fri Feb 14 17:36:42 UTC 2020 - FSchreiner@suse.com
+
+- Update to version 0.6.10:
+ * [cli] new commands
+ * kanku lsi - list images from devel:kanku:images
+ * kanku rr - remove remote configuration from (local) .kankurc
+ * [web] fixed checkboxes in job_history
+ * [web/cli] show only latest result of jobs in job_history
+ * [cli] fix truncated output in 'rhistory -d'
+ * [cli] --state filter for rhistory
+ * [cli] keyring handling for remote login
+ * Refactoring of image resize code
+
+-------------------------------------------------------------------
+Thu Dec 05 08:23:16 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.9:
+ * [doc] improved doc for param allow_ip_change in
+ Kanku::Handler::Reboot
+ * [handler] removed deprecated FileCopy/FileMove
+ * [core] Refactoring of cache_dir/use_cache
+ * [critics] cleanup for K::H::ResizeImage
+ * [util] fix problem with deleting domain snapshots
+ * [handler] avoid warnings when disk size uninitialized
+
+-------------------------------------------------------------------
+Fri Nov 22 14:50:40 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.8:
+ * [handler] use temp file in K::H::ResizeImage
+ * [handler] ResizeImage - log info about file to resize
+ * [cli] improved error message for cmd 'rabbit'
+ * [web] fixed domain name in guest view
+ * [web] fix ports view
+ * [web] more logging for guest info
+ * [web] unique key for guests over multiple servers
+ * [core] use 'localhost' as fallback hostname in worker daemon
+ * [cli] exit with 1 if login fails
+ * [schema] added fixtures for database version 14
+ * [dist] backup for kanku-config.yml in distributed setup
+ * [doc] pod for K::Notifier::Sendmail
+ * [doc] added links to K::Roles::SSH in ExecuteCommandViaSSH pod
+ * [cli] output for command 'rcomment' (Dumper)
+ * [doc] added Kanku::Notifier an Kanku::Util
+ * [doc] added missing handlers to Kanku::Handler pod
+ * intial version of release pod
+ * [dist] p2m -> p2h
+ * [dist] p2m: use package name as file name
+ * [dist] initial version of p2m
+ * [doc] added links to Kanku/Handler.pod
+ * [handler] docu for additional_disks in CreateDomain
+ * [cli] added option '--keep_volumes' in destroy command
+
+-------------------------------------------------------------------
+Fri Oct 25 14:23:08 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.7:
+ * [cli] setup option '--distributed' now alias for '--server'
+ * [critics] cleanup for more modules
+
+-------------------------------------------------------------------
+Fri Oct 25 13:51:15 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.6:
+ * [cli] new option "--file" for cli commands
+ * [cli] new options for "kanku init"
+ * [dist] fixed installation of bash_completion
+ * [handler] initial version fo OBSServerFrontendTests
+ * [critics] cleanup for various modules
+
+-------------------------------------------------------------------
+Sat Oct 19 05:05:45 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.6:
+ * [handler] ResizeImage: better error handling
+ * [handler] use_cache attribute for SetJobContext/ResizeImage
+ * [handler] SetJobContext - added vm_image_file
+ * [dist] changes smtp_daemon to fit fedora also
+
+-------------------------------------------------------------------
+Wed Oct 16 07:39:16 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.5:
+ * [dist] enhanced debian deps
+
+-------------------------------------------------------------------
+Sun Oct 13 12:52:24 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.5:
+ * [dist] packages ready for ubuntu/debian
+
+-------------------------------------------------------------------
+Wed Oct 02 02:49:13 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.4:
+ * [cli] fix for login to reset tty echo mode
+ * [dist] DOCDIR more flexible (required for fedora)
+
+-------------------------------------------------------------------
+Fri Sep 27 21:44:02 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.3:
+ * [util] increased read buffer for uploading images to 16M
+ * [cli] fix ports for http/https in guest view
+ * [handler] option 'default_console_timeout' for CreateDomain
+ * [handler] login before checking for new ip after reboot
+ * [util] more logging for VM::Console in get_ip_address
+ * [util] automatic login/logout in get_ip_address on console
+ * [web] fixed typo in job history
+ * [dsit] cleanup spec file
+ * [dist] fixes for bash_completion generation while building
+ * [dist] added BuildRequires for bash-completion
+ * [dist] separated apache config for console logs
+ * [web] link to console log in job history
+ * [dist] set mime type for logfiles in apache conf
+ * [cli] include worker name in cli view of job history
+ * [dist] create bash-completion on the fly while installation
+ * [templates] updated init template to leap 15.1
+
+-------------------------------------------------------------------
+Thu Jul 18 09:44:51 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.2:
+ * [doc] missing options in CreateDomain and deprecation warnings
+ * [handler] fix template handling
+
+-------------------------------------------------------------------
+Wed Jul 17 12:23:04 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.1:
+ * [handler] better logging in K::H::Reboot
+ * [handler] display new ip after K::H::Reboot
+
+-------------------------------------------------------------------
+Tue Jul 02 08:37:20 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.6.1:
+ * [dist] create /etc/bash_completion.d if not exists
+ * [dist] KankuFile: removed kanku-server/shortcuts dist&devel
+ * [dist] new feature: bash_completion
+ * [dist] added missing Requires for perl(IO::Interactive) in spec
+ * [dist] lib/Kanku/Cmd -> lib/Kanku/Cli
+ * [dist] Makefile: added 2 new sections bin/sbin
+ * [dist] switch to Leap15.1 in KankuFile
+ * [cli] refactor MooseX::App::Cmd -> MooseX::App
+ * [core] dispatcher watcher for rabbitmq forked
+ * [web] worker header now colorized
+ * [notifier] fix for max description size in NSCA
+ * [dist] fixed file conflict in spec file
+ * [dist] added missing files to spec file
+ * [web] first version of worker page
+ * [core] changed storing of worker status information in dispatcher
+ * [cli] new cli command 'rworker'
+ * [web] REST route /rest/worker/list.json
+ * [core] store worker's heartbeat information in db
+ * [schema] new database schema version 14
+ * [schema] new database schema version 13
+ * [core] worker heartbeat: rabbitmq part for worker/dispatcher
+ * [core] fault tolerant recv/publish in K::RabbitMQ
+ * [handler] change in pub key file handling in K::H::PrepareSSH
+ * [web] set routing_key for K::RabbitMQ
+ * [cli] change logging of `kanku` command
+ * [web] refactor of rabbitmq handling for notifications
+ * [core] refactor of rabbitmq handling for dispatcher/worker
+ * [handler] root_disk_bus for K::H::CreateDomain
+ * [testing] various authentication schemas for SSH
+ * [views] fix for ref sendmail view
+ * [dist] working test for distributed setup
+ * [web] improvements for job_result page
+ * [notifier] NSCA - shorten oversize output and make size configurable
+ * [notifier] set nsca max length to 4k
+ * [examples] KankuFile for fedora
+ * [examples] added rockrobo
+ * [core] get rid of Data::Dumper
+ * [core] memory checks for virtual machines
+ * [dist] improved ubuntu setup
+ * [dist] cleanup KankuFile
+ * [notifier] more info in kanku notifications
+ * [setup] Do not overwrite qemu.conf backup
+
+-------------------------------------------------------------------
+Fri May 24 00:22:15 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.5.9:
+ * [dist] shadow-utils for fedora
+ * [setup] install_ubuntu.sh
+ * fixed KankuFile.kanku-ubuntu to clone kanku
+ * [setup] create certs befor configuring apache2
+ * [setup] improved apache setup with ssl
+ * [dist] fixed Wants= in service files
+ * fix VM definition to use virtio for block devices but ide for cdroms
+ * drop rendernode attribute if we are not enabling gl anyway
+ * use virtio instead of ide bus for the disk of the VM
+
+-------------------------------------------------------------------
+Mon May 06 13:12:11 UTC 2019 - FSchreiner@suse.com
+
+- Update to version 0.5.7:
+ * [dist] intial installation instructions for ubuntu/debian
+ * [cli] fix in cli guest view for new api data format
+ * [dist] more perl deps in cpanfile (for ubuntu)
+ * [examples] updated openQA to ext4 multibuild image
+ * [handler] various fixes for K8NodePortForward
+ * [handler] initial version of K::H::K8NodePortForward
+ * [handler] new host_dir_9p handling
+ * [util] better logging in Kanku::Util::DoD
+ * [handler] enable to set ipaddress in SetJobContext
+ * [dispatcher] improved logging
+ * [contrib] added redump_perl
+ * [worker] improved logging
+ * [core] new attribute 'running_remotely'
+ * [core] fix parameters for Kanku::RabbitMQ->recv
+ * [core] fix for Kanku::RabbitMQ->recv
+ * [core] make rabbitmq more fault tolerant
+ * [web] suppress domain name prefix in input fields if value is empty
+ * [util] enable xz for vdi in DoD regex
+ * [handler] fix doc in ExecuteCommandViaConsole
+ * added cpanfile for deps in perl
+ * initial version of KankuFile.kubernetes
+ * fixes for setup on ubuntu/debian
+ * fix --memory in 'kanku init'
+ * removed chown to qemu user for K::U::CurlHttpDownload
+ * removed Makefile.PL
+ * [examples] KankuFile starts vagrant
+ * [handler] CreateDomain - enable root_disk_size for raw.xz
+ * [handler] root_disk_size with units
+ * [handler] CreateDomain - fix if pool_name not set
+ * [handler] fix use pool_name also for cached images in CreateDomain.pm
+ * [templates] added template with-graphic.tt2
+ * [examples] fixed typo immages -> images
+ * [util] added pool_name to Kanku::Util::VM
+ * prefer param from config
+ * [setup] added setup of nested kvm
+ * [dist] first draft of an apparmor profile for the cli tool
+ * [notifier] added job duration for NSCA (nagios perf_data)
+ * [examples] fixed obs-server.yml example job
+ * [dist] added Kanku/YAML.pm to specfile
+ * [util] shorter sleep in VM::Console->cmd
+ * [handler] avoid uninitiliazed warning in CreateDomain
+ * [util] fix for VM::Console race conditions while cmd execution
+ * [example] icinga with influxdb (first draft)
+ * [core] fix for typo in refactor
+ * [core] refactor YAML handling
+ * [handler] die if root_disk_size is set for invalid image types in CreateDomain
+ * [core] disable ActiveChild message in TriggerD
+ * [notifier] new notifier for nagios NSCA
+ * [example] initial version of centos example
+ * [examples] New KankuFile and doc for ubuntu-devel
+ * [dist] reorder files in spec file
+ * [examples] removed resizing from KnakuFile.openQA
+ * [dist] added CleanupIPTables to default remove-domain job
+ * [doc] fixed markup in README.rabbitmq.md
+ * [doc] Fix markup in README.setup-ovs.md
+ * [dist] minor fixes for developer setup
+ * [handler] new parameter for K::H::CreateDomain : pool_name
+ * [core] support for xz compressed qcow2 images
+ * [core] changed default timeout for vm network to 3min (180sec)
+ * [handler] set timeout for console in K::H::Reboot correctly
+ * [examples] more mem and start openqa-worker
+ * [examples] fixing iginga2
+ * [core] support download of vmdk.xz files
+
+-------------------------------------------------------------------
+Tue Nov 13 19:33:12 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.5.5.git20181113.495ead4:
+ * [doc] added more examples to KankuFile.examples/README.md
+ * [examples] fixed typo in README
+ * [examples] intial example for icinga2
+ * [examples] first version of openQA as an example
+ * [core] KankuFile more flexible via 'KANKU_CONFIG' env variable
+ * [handler] global config variable cache_dir for K::H::GIT
+ * [dist] fix startup deps for kanku-worker.service
+ * [core] default trigger_user to empty string
+ * [handler] K::H::PrepareSSH has now global configurable public_key_files option
+ * [core] config variable cache_dir can now be set globally per server
+ * [cli] fixed apache mod list for server setup
+ * [core] fix for global host_interface in K::U::IPTables
+ * [dist] added lib/Kanku/Test into spec-files %files section
+ * [cli] new command 'rabbit' to test rabbitmq connection's
+ * [doc] improvements in README.setup-worker.md
+ * [doc] improvements in README.setup-ovs.md
+ * [dist] fixed path to cache directory in dist/kanku-git-cache.conf
+ * [core] Better exception handling for remote tasks
+ * [core] Global config for keys in K::Roles::SSH
+ * [web] fix broken job_history for triggered jobs
+ * [web] more space before first headline
+ * [core] global priv/pub key configs for ssh
+ * [core] make 'host_interface' central configurable
+ * [dist] check for vhost/user in rabbitmq before adding
+ * [core] better logging/webview if encryption of password fails
+ * [dist] added apache mod 'proxy_http' to list of default modules in 'kanku setup --apache'
+ * [dist] removed client_cert.sh as client certificates are no longer needed by rabbitmq
+ * [web] dont execute when k is not set
+ * [web] removed console.log from most js files
+ * [web] added worker hostname to job headline
+ * [core] transformation netstat -> ss
+ * [web] fix problem with undefined job.comments
+ * [core] added missing 'use Try::Tiny' in Kanku::Job
+ * [web] do not hide messagebox when websocket connection gets closed
+ * [web] fix notifications
+ * [web] remove also class 'alert-danger' from messagebox
+ * [web] set user_id correct in websocket session object
+ * [web] fix for 'not started' in job_history
+ * [triggerd] changed logging for package/repo key to trace
+ * [web] added color for dispatching in job_history
+ * [web] refactor job_history to vue.js
+ * changed title History to Result
+ * [web] link to job result in job history
+ * [web] vue.js based job history
+ * [core] better default for Job's workerinfo
+ * [web] fix for has_role to default to empty array
+ * [dist] views are own target in Makefile now
+ * [web] fix for duplicate entries in job_history
+ * [core] fix for 'uninitialized value' warnings
+ * [dist] added 'Wants' rabbitmq-server
+ * [web] fix for has_role
+ * [cli] fix for 'kanku status' config problem
+ * [web] js location cleanup and refactoring
+ * [web] unified sticky messagebox for js
+ * [api] improved response message for job trigger in REST API
+ * [dist] enhanced docu and fixed installation for default job 'remove-domain'
+ * [web] fixed regression for navbar from bootstrap 4 migration
+ * [web] removed obsolete ajaxsetup.js
+ * [web] refactor: own js in namespace kanku
+ * [web] eleminated function 'toggle_job_result_body'
+ * [web] replaced toggle_subtask_result_body by toggle_element
+ * [web] replaced toggle_job_panel_body by toggle_element
+ * [web] refactored toggle_guest_panel_body to toggle_element
+ * [dist] new section 'public' in Makefile
+ * [dist] new example for simple KankuFile
+ * [dist] added db dir to spec
+ * [web] bootstrap4 notifications config page
+ * [utils] wait 10 min to get ip on console
+ * [web] removed bootstrap 3.3.6
+ * [web] update to bootstrap4 and jquery3.3
+ * [web] show pwrand in jobhistory if user is Admin
+ * [web] moved jquery js
+ * [handler] fix timeout in get_ipaddress
+ * [handler] allow_ip_change in K:H:Reboot
+
+-------------------------------------------------------------------
+Sun Jul 29 21:31:13 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.5.4.git20180729.c43c600:
+ * [api] fixed opts when user not logged in
+
+-------------------------------------------------------------------
+Sat Jul 28 10:12:05 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.5.3.git20180727.e36b517:
+ * [core] fix pwrand in Kanku::Job
+ * [dist] new section dbfiles for Makefile
+ * [dist] pwrand feature used in KankuFile
+ * [handler] randomize passwords in K:H:CreateDomain
+ * [schema] new database schema version 12
+ * [dist] added missing libs to kanku-web
+ * [dist] fixed job 'kanku-server' in KankuFile
+ * [dist] fixed 'kanku-devel' in KankuFile
+ * [doc] removed parameters
+ * [api] refactoring of Kanku::REST in modules
+ * [dist] increased verbosity in .perlcriticrc
+ * [web] beautified user settings page
+ * [web] refactoring of K::Rest::calc_changes for more efficient code
+ * [web] refactoring of user specific routes in K::REST
+
+-------------------------------------------------------------------
+Tue Jul 17 22:02:10 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.5.2.git20180717.ecec23a:
+ * [dist] tmpfiles.d/kanku -> tmpfiles.d/kanku.conf
+ * [dist] updated README.md
+ * [web] enhanced user settings page (with VUE.js)
+ * [dist] fixed indent in Makefile
+ * [cli] fixed 'setup --standalone'
+ * [web] fix rendering problem in admin interface
+ * [core] better logging
+ * [cli] bugfixes for startvm/stopvm after path refactoring
+ * [web] prefix domain name if role only User - delete button for user prefixed domains
+ * [core] refactor to LFS compliant path structure
+
+-------------------------------------------------------------------
+Thu Jun 21 11:31:29 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.4.1.git20180612.0a1a38e:
+ * [dist] Resize disk in KankuFile to 25G
+ * [dist] added 'preferred_extension' to job example 'obs-server'
+ * [web] enforce prefix with username for VMs built by non-admin users
+ * [doc] share -> $SHARE_DIR in Development.pod
+ * [web] fix for commenting function in job_history
+ * [dist] added Const::Fast to requires for kanku-common
+ * [doc] Updated docs/Development.pod with new path for production and migration status
+ * [core] changes for Etag for better caching of downloaded images
+ * [dist] added remove-domain.yml to defaults
+ * [web] added remove button for guests
+ * [dist] fixes for Setup and code cleanup
+ * [dist] new perl critic rules
+ * [dist] changed KankuFile to leap 15.0 and devel:kanku:*
+
+-------------------------------------------------------------------
+Thu May 24 05:36:21 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.4.0.git20180523.5d5581c:
+ * [core] cleanup for perlcritic K::H::OBSCheck and K::Util::DoD
+ * [core] make use_oscrc configurable in KankuFile and changed init template
+ * [core] removed references to M0ses and updated examples/defaults to Leap 15.0
+
+-------------------------------------------------------------------
+Tue May 15 06:58:33 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.4.0.git20180514.6a93c44:
+ * [core] changed default ssl_cacert option for RabbitMQ
+ * [cli] local logging.conf in users home directory
+ * [dist] sudoers file now handled by setup
+ * [cli] interactive mode for devel setup
+ * [dist] added views/notifiers to spec
+ * [core] beautified email notifications
+ * [web] fix args for jobs
+ * [dist] added 'smtp_daemon' to requires for kanku-web
+ * [web] fixed problems with deserializer
+ * [core] fix bug in Kanku::NotifyQueue to request correct config section
+ * [web] more logging for notification websocket
+ * [core] fixes for new image formats
+ * [core] added vdi as image format
+ * [handler] CreateDomain: reorder installation process
+ * [handler] CreateDomain: configurable installation process
+ * [web] better error handling for guest list
+ * [web] display ajax errors properly
+ * [core] changes for boot order based on image type
+ * [core] new 'preferred_extension' options for OBSCheck
+ * [core] preparation for azure/ec2
+ * [core] added vhdfixed
+ * [handler] ImageDownload: fixed url for history lookup
+ * [core] added vmdk as supported disk format
+ * [dist] setup for distributed mode
+ * [cmd] create ~/.config/osc in devel setup
+ * [cli] fix connect uri for console
+ * [dist] added Net::AMQP::RabbitMQ to kanku-cli Requires
+ * [dist] fix deps for NotifyQueue/*
+ * [cli] fixes for devel setup after refactoring
+ * [dist] fix db path and sudoers
+ * [core] major refactor to use dedicated user for daemons
+ * [dist] kankurun and apache2 setup
+ * [handler] ImageDownload - do not try to unpack if src/dst are the same
+
+-------------------------------------------------------------------
+Fri Feb 23 03:19:12 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.9.git20180223.a2e5bb4:
+ * [web] default sqlite_unicode=1 for server setup to avoid utf8 problems
+ * [web] changed admin -> user/role list to REST/json
+ * [web] Workaround for UTF8 double encoding
+ * [web] fix storage of user_id for javascript in template data
+ * [cmd] added ExecuteCommandViaSSH in init template
+ * [cmd] fix for default in ssh command
+ * [web] avoid implicit creation of logged_in_user
+ * [web] first working version of job comments in webui
+ * [schema] final new database schema version 9
+
+-------------------------------------------------------------------
+Mon Feb 19 21:50:39 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.5.git20180219.240f8be:
+ * [dist] added missing 'Requires' for kanku-web
+ * comments in schema JobHistory
+ * [cmd] fix descriptions for kanku status
+ * [cmd] add -X to ssh command
+ * [core] initial version of cli based comments
+ * [cli] new command dbinit
+ * [dist] exclude only dirs from file list but keep files
+ * [cli] refactored regex for libvirtd.conf
+ * [web] link to gh-pages on index page
+ * [web] user/role lists in admin interface
+ * [web] configurable timeout for notification
+ * [web] better layout for job_history
+
+-------------------------------------------------------------------
+Mon Feb 12 16:38:07 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.5.git20180212.633d114:
+ * [dist] create default pool automatically in developer setup
+ * [cli] use public api in template for init
+ * [handler] new handler ChangeDomainState
+ * [handler] option 'reuse' for 'additional_disks' in CreateDomain
+ * [util] fix deletion of volumes VM
+ * [handler] option 'keep_volumes' to RemoveDomain
+ * [worker] improve duplicate advertisement handling
+ * [handler] fix for additional disks uploading from cache
+ * [handler] fix for database in ImageDownload
+ * [handler] use url in ImageDownload directly
+ * [web] added links to documentation in webui
+ * [handler] added additional_disks option for CreateDomain
+ * [doc] documented start/enable of kanku-worker
+
+-------------------------------------------------------------------
+Fri Jan 19 01:30:48 UTC 2018 - fschreiner@suse.de
+
+- Update to version 0.3.4.git20180119.07fc15f:
+ * [doc] changed file path for doc files
+ * [doc] initial version of README.setup-worker.md
+ * [worker] reconnect to rabbitmq if SSL error occurrs
+ * [core] fixed missing increase for counter if more than 1 kanku-worker defined
+ * initialize last_job_id to avoid 'uninitialized ..' warnings
+ * [handler] proper env variables for ExecuteCommandViaSSH
+ * [web] fix for task notify filters
+
+-------------------------------------------------------------------
+Fri Jan 19 01:05:43 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20180119.07fc15f:
+ * [doc] changed file path for doc files
+
+-------------------------------------------------------------------
+Fri Jan 19 00:57:01 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20180119.d78a55d:
+ * [doc] changed file path for doc files
+
+-------------------------------------------------------------------
+Fri Jan 19 00:55:33 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20180119.57b2c8a:
+ * [doc] changed file path for doc files
+
+-------------------------------------------------------------------
+Fri Jan 19 00:40:19 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20180119.0de131d:
+ * [doc] initial version of README.setup-worker.md
+
+-------------------------------------------------------------------
+Thu Jan 18 23:39:22 UTC 2018 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20180118.b800cdf:
+ * [doc] initial version of README.setup-worker.md
+ * [worker] reconnect to rabbitmq if SSL error occurrs
+ * [core] fixed missing increase for counter if more than 1 kanku-worker defined
+ * initialize last_job_id to avoid 'uninitialized ..' warnings
+ * [handler] proper env variables for ExecuteCommandViaSSH
+ * [web] fix for task notify filters
+ * [web] avoid 500 when accepting/declining role reques
+ * [cli] admin interface for roles requests
+ * [doc] updated distributions in README.md
+
+-------------------------------------------------------------------
+Mon Dec 11 11:19:19 UTC 2017 - opensuse-packaging@opensuse.org
+
+- Update to version 0.3.3.git20171211.e68078b:
+ * [web] avoid 500 when accepting/declining role reques
+ * [cli] admin interface for roles requests
+ * [doc] updated distributions in README.md
+ * Create LICENSE
+ * Create CONTRIBUTING.md
+ * [web] ui component to request role changes
+ * [schema] new database schema version 7
+ * [cli] avoid exception in 'kanku status'
+ * [web] fix for filters if no filter so far submitted
+ * [core] include hostname in notify for daemon restart
+
+-------------------------------------------------------------------
+Thu Nov 24 12:24:34 UTC 2016 - fschreiner@suse.com
+
+- Update to version 0.1.8.git20161124.ed94b6d:
+ * fixed remote login if no kankurc found
+ * cleanup for K::H::ImageDownload
+ * cleanup K::Util::VM
+ * logging console output to file
+ * added vcpu to init options
+ * pod docu for Kanku::Handler
+ * added PERL5LIB to profile get access via perldoc
+
+-------------------------------------------------------------------
+Sat Nov 19 02:56:52 UTC 2016 - opensuse-packaging@opensuse.org
+
+- Update to version 0.1.7.git20161119.64ee74e:
+ * more logging in Kanku::Util::VM
+ * new README.md pointing to projects gh-page
+ * fixed template problems with cpu type
+ * make repository for Kanku::Handler::OBSCheck configurable via WebUI
+ * make ssh auth_type for Kanku::Roles::SSH globally configurable
+ * fix 'Uninitialzed value' warning in Kanku::Util::VM
+ * link to home:M0ses:kanku:Images in initial KankuFile
+ * fixed offline handling with new libvirt based image upload
+ * new version in spec file
+ * fixed problem if setup not started as root
+
+-------------------------------------------------------------------
+Thu Jul 28 01:56:49 UTC 2016 - fschreiner@suse.com
+
+- refactor Cmd::Roles::Remote for autologin
+
+-------------------------------------------------------------------
+Fri Jul 01 2016 Frank Schreiner - 0.1.0-1.0
+
+- added handler for openstack
+
+-------------------------------------------------------------------
+Mon Jun 20 2016 Frank Schreiner - 0.0.5-2.0
+
+- fixed libvirtd setup for leap
+
+-------------------------------------------------------------------
+Sun Jun 19 2016 Frank Schreiner - 0.0.5-1.0
+
+- fixed cache_dir problem with CreateDomain
+- fixed specfile problems
+
+-------------------------------------------------------------------
+Sun Jun 19 2016 Frank Schreiner 0.0.4-1.1
+
+- fixed version of contrib/port_forward.pl
+- RemoveDomain can be disabled now by gui
+- download via OBS api
+- initial version of openvswitch integration
+- moved job template to examples directory
+- added mirror mode to GIT handler
+
+-------------------------------------------------------------------
+Fri May 20 2016 Frank Schreiner - 0.0.3-0.1
+
+- new cli remote commands
+- refactor of parameter handling in UI and scheduler
+
+-------------------------------------------------------------------
+Mon Apr 25 2016 Frank Schreiner - 0.0.2-0.1
+
+- introduced offline mode and dbmigreate command
+
+-------------------------------------------------------------------
+Thu Mar 10 2016 Frank Schreiner - 0.0.1-0.1
+
+- initial version
diff --git a/kanku.spec b/kanku.spec
new file mode 100644
index 0000000..b58a3bf
--- /dev/null
+++ b/kanku.spec
@@ -0,0 +1,571 @@
+#
+# spec file for package kanku
+#
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+%define kanku_user kankurun
+%define kanku_group kanku
+%define kanku_vardir /var/lib/kanku/
+
+Name: kanku
+# Version gets set by obs-service-tar_scm
+Version: 0.9.0.git20201205.ed5bac0
+Release: 0
+License: GPL-3.0
+Summary: Development and continuous integration made easy
+Url: https://github.com/M0ses/kanku
+Group: Productivity/Networking/Web/Utilities
+Source: %{name}-%{version}.tar.xz
+BuildArch: noarch
+BuildRequires: perl-macros
+BuildRequires: fdupes
+BuildRequires: systemd-rpm-macros
+
+
+# perl requires for %check
+BuildRequires: perl(Const::Fast)
+BuildRequires: perl(Test::Simple)
+BuildRequires: perl(YAML::PP)
+BuildRequires: perl(Config::Tiny)
+BuildRequires: perl(Path::Class)
+BuildRequires: perl(Sys::Virt)
+BuildRequires: perl(Moose)
+BuildRequires: perl(Log::Log4perl)
+BuildRequires: perl(MooseX::App)
+BuildRequires: perl(MooseX::Singleton)
+BuildRequires: perl(Dancer2::Plugin::REST)
+BuildRequires: perl(Expect)
+BuildRequires: perl(Net::SSH2)
+BuildRequires: perl(Net::IP)
+BuildRequires: perl(Net::OBS::Client)
+BuildRequires: perl(XML::Structured)
+BuildRequires: perl(DBIx::Class::Migration)
+BuildRequires: perl(Template)
+BuildRequires: perl(Template::Plugin::Filter::ANSIColor)
+BuildRequires: perl(Config::Tiny)
+BuildRequires: perl(Dancer2::Plugin::DBIC)
+BuildRequires: perl(Dancer2::Plugin::Auth::Extensible)
+BuildRequires: perl(Dancer2::Plugin::Auth::Extensible::Provider::DBIC)
+BuildRequires: perl(File::HomeDir)
+BuildRequires: perl(JSON::XS)
+BuildRequires: perl(DBIx::Class)
+BuildRequires: perl(DBIx::Class::Migration)
+BuildRequires: perl(DBIx::Class::Fixtures)
+BuildRequires: perl(File::LibMagic)
+BuildRequires: perl(IO::Uncompress::UnXz)
+BuildRequires: perl(Plack)
+BuildRequires: perl(Dancer2)
+BuildRequires: perl(Dancer2::Plugin::REST)
+BuildRequires: perl(XML::XPath)
+BuildRequires: perl(Term::ReadKey)
+BuildRequires: perl(IPC::Run)
+BuildRequires: perl(IO::Interactive)
+# DBD::SQLite is also provided by perl-DBD-SQLite-Amalgamation
+# but perl-DBD-SQLite-Amalgamation is breaks with SQL syntax errors
+# at job_histroy_sub table
+BuildRequires: perl-DBD-SQLite
+BuildRequires: perl(LWP::UserAgent)
+BuildRequires: perl(LWP::Protocol::https)
+BuildRequires: perl(Mail::Sendmail)
+BuildRequires: perl(Archive::Cpio)
+BuildRequires: perl(Dancer2)
+BuildRequires: perl(Dancer2::Plugin)
+BuildRequires: perl(Dancer2::Plugin::REST)
+BuildRequires: perl(Dancer2::Plugin::DBIC)
+BuildRequires: perl(Dancer2::Plugin::WebSocket)
+BuildRequires: perl(Dancer2::Plugin::Auth::Extensible)
+BuildRequires: perl(Net::AMQP::RabbitMQ)
+BuildRequires: perl(UUID)
+BuildRequires: libvirt-daemon
+BuildRequires: desktop-file-utils
+BuildRequires: shared-mime-info
+
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+Requires: kanku-cli
+Requires: kanku-web
+Requires: kanku-worker
+Requires: kanku-scheduler
+Requires: kanku-dispatcher
+Requires: kanku-triggerd
+
+%description
+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 provides a framework for simple automation of complex setups,
+e.g. to prepare your development environment or run simple tests.
+
+%prep
+%setup -q
+
+%build
+/bin/true
+
+%install
+make install DESTDIR=%{buildroot} DOCDIR=%{_defaultdocdir}/kanku/
+%fdupes %{buildroot}/opt/kanku/share
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rckanku-web
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rckanku-worker
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rckanku-dispatcher
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rckanku-scheduler
+ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rckanku-triggerd
+
+%check
+# FIXME
+#prove -Ilib t/000_use.t
+
+%files
+%exclude /etc
+%exclude /usr
+
+%package common
+Summary: Common files for kanku
+
+Recommends: osc
+Recommends: perl(IO::Uncompress::UnXz)
+Recommends: apache2
+Recommends: perl(YAML::PP::LibYAML)
+Requires: libvirt-daemon-qemu libvirt-daemon-config-network libvirt-daemon-config-nwfilter
+Requires: sudo
+Requires: perl(DBIx::Class::Fixtures)
+Requires: perl(Test::Simple)
+Requires: perl(YAML::PP)
+Requires: perl(Config::Tiny)
+Requires: perl(Path::Class)
+Requires: perl(Sys::Virt)
+Requires: perl(Moose)
+Requires: perl(MooseX::App)
+Requires: perl(Dancer2::Plugin::REST)
+Requires: perl(MooseX::Singleton)
+Requires: perl(Expect)
+Requires: perl(Net::SSH2)
+Requires: perl(Net::IP)
+Requires: perl(Net::OBS::Client)
+Requires: perl(XML::Structured)
+Requires: perl(DBIx::Class::Migration)
+Requires: perl(Template)
+Requires: perl(Log::Log4perl)
+Requires: perl(Config::Tiny)
+Requires: perl(Dancer2::Plugin::DBIC)
+Requires: perl(Dancer2::Plugin::Auth::Extensible)
+Requires: perl(Dancer2::Plugin::Auth::Extensible::Provider::DBIC)
+Requires: perl(File::HomeDir)
+Requires: perl(Template::Plugin::Filter::ANSIColor)
+Requires: perl(JSON::XS)
+Requires: perl(DBIx::Class)
+Requires: perl(DBIx::Class::Migration)
+Requires: perl(Template::Plugin::Filter::ANSIColor)
+Requires: perl(File::LibMagic)
+Requires: perl(IO::Uncompress::UnXz)
+Requires: perl-Plack
+Requires: perl(Dancer2)
+Requires: perl(Dancer2::Plugin::REST)
+Requires: perl(XML::XPath)
+Requires: perl(Term::ReadKey)
+Requires: perl(IPC::Run)
+Requires: perl(Const::Fast)
+# DBD::SQLite is also provided by perl-DBD-SQLite-Amalgamation
+# but perl-DBD-SQLite-Amalgamation is breaks with SQL syntax errors
+# at job_histroy_sub table
+Requires: perl-DBD-SQLite
+Requires: perl(LWP::Protocol::https)
+Requires: perl(Mail::Sendmail)
+Requires: perl(Archive::Cpio)
+Requires: perl(UUID)
+Requires: logrotate
+
+Conflicts: perl-DBD-SQLite-Amalgamation
+
+%description common
+TODO:
+ add a useful description
+
+%post common
+%tmpfiles_create %_tmpfilesdir/kanku.conf
+
+%files common
+%defattr(-,root,root)
+%doc README.md TODO
+
+%dir /usr/lib/kanku
+%dir /usr/lib/kanku/lib
+%dir /usr/lib/kanku/lib/Kanku
+%dir /usr/lib/kanku/lib/Kanku/Daemon
+
+# share contains database related stuff
+%dir /usr/share/kanku
+/usr/share/kanku/fixtures
+/usr/share/kanku/migrations
+
+%attr(755,root,root) /usr/bin/kanku
+%attr(755,root,root) /usr/lib/kanku/network-setup.pl
+
+%dir /etc/kanku
+%ghost /etc/kanku/config.yml
+%dir /etc/kanku/logging/
+%config(noreplace) /etc/kanku/logging/console.conf
+%config(noreplace) /etc/kanku/logging/network-setup.conf
+%config(noreplace) /etc/kanku/logging/default.conf
+
+%dir /etc/kanku/templates
+%dir /etc/kanku/templates/cmd
+%dir /etc/kanku/templates/cmd/setup
+%config /etc/kanku/templates/default-vm.tt2
+%config /etc/kanku/templates/with-spice.tt2
+%config /etc/kanku/templates/cmd/init.tt2
+%config /etc/kanku/templates/cmd/setup/*
+%dir /etc/kanku/templates/examples-vm/
+%config /etc/kanku/templates/examples-vm/obs-server-26.tt2
+%config /etc/kanku/templates/examples-vm/sles11sp3.tt2
+%config /etc/kanku/templates/examples-vm/obs-server.tt2
+
+%dir /etc/kanku/jobs
+%dir /etc/kanku/jobs/examples
+%config /etc/kanku/jobs/examples/obs-server.yml
+%config /etc/kanku/jobs/examples/obs-server-26.yml
+%config /etc/kanku/jobs/examples/sles11sp3.yml
+
+# %exclude %dir /etc/sudoers.d
+# %ghost /etc/sudoers.d/kanku
+
+%exclude %dir /usr
+%exclude %dir /usr/bin/
+%exclude %dir /usr/sbin/
+%exclude %dir /usr/share/
+%exclude %dir /usr/lib/
+
+%exclude %dir /etc/profile.d
+%config /etc/profile.d/kanku.sh
+
+%exclude %dir /etc/logrotate.d/
+%config /etc/logrotate.d/kanku-common
+
+%exclude %dir %_tmpfilesdir
+%_tmpfilesdir/kanku.conf
+
+%dir /usr/lib/kanku/lib/Kanku/NotifyQueue/
+/usr/lib/kanku/lib/Kanku/NotifyQueue/*.pm
+/usr/lib/kanku/lib/Kanku/Handler/
+/usr/lib/kanku/lib/Kanku/Roles/
+/usr/lib/kanku/lib/Kanku/Schema/
+/usr/lib/kanku/lib/Kanku/Setup/
+/usr/lib/kanku/lib/Kanku/Util/
+/usr/lib/kanku/lib/Kanku/Util.pm
+/usr/lib/kanku/lib/Kanku/Task/
+/usr/lib/kanku/lib/OpenStack/
+/usr/lib/kanku/lib/Kanku/Config.pm
+/usr/lib/kanku/lib/Kanku/Handler.pod
+/usr/lib/kanku/lib/Kanku/Notifier
+/usr/lib/kanku/lib/Kanku/Job.pm
+/usr/lib/kanku/lib/Kanku/RabbitMQ.pm
+/usr/lib/kanku/lib/Kanku/Schema.pm
+/usr/lib/kanku/lib/Kanku/JobList.pm
+/usr/lib/kanku/lib/Kanku/Task.pm
+/usr/lib/kanku/lib/Kanku/Airbrake.pm
+/usr/lib/kanku/lib/Kanku/NotifyQueue.pm
+/usr/lib/kanku/lib/Kanku/GPG.pm
+/usr/lib/kanku/lib/Kanku/YAML.pm
+
+%dir /usr/lib/kanku/lib/Kanku/WebSocket
+/usr/lib/kanku/lib/Kanku/WebSocket/Notification.pm
+/usr/lib/kanku/lib/Kanku/WebSocket/Session.pm
+
+%dir /usr/lib/kanku/lib/Kanku/Airbrake
+/usr/lib/kanku/lib/Kanku/Airbrake/Dummy.pm
+
+%dir /usr/lib/kanku/lib/Kanku/LibVirt
+/usr/lib/kanku/lib/Kanku/LibVirt/HostList.pm
+
+%dir /usr/lib/kanku/lib/Kanku/Dispatch/
+/usr/lib/kanku/lib/Kanku/Dispatch/Local.pm
+
+/usr/lib/kanku/lib/Kanku/Test/
+
+%package cli
+Summary: Command line client for kanku
+Requires: kanku-common
+Requires: libvirt-client
+Requires(pre): libvirt-daemon libvirt-daemon-driver-qemu
+Requires(pre): sudo
+Requires: perl(Net::AMQP::RabbitMQ)
+Requires: perl(IO::Interactive)
+Requires: (perl(Passwd::Keyring::KDEWallet) if kwalletd5)
+Requires: (perl(Passwd::Keyring::Gnome) if gnome-keyring)
+
+%description cli
+Command line client for kanku, mainly used for setup tasks
+and in developer mode
+
+%files cli
+%dir /usr/share/kanku/views/cli/
+%dir /usr/share/kanku/views/cli/rjob
+/usr/share/kanku/views/cli/*.tt
+/usr/share/kanku/views/cli/rjob/*.tt
+/usr/lib/kanku/lib/Kanku/Cli/
+/usr/lib/kanku/lib/Kanku/Cli.pm
+/etc/bash_completion.d/kanku.sh
+
+%package common-server
+Summary: Common server files or settings for kanku
+Requires(pre): libvirt-daemon libvirt-daemon-driver-qemu
+
+%if 0%{?fedora}
+Requires(pre): shadow-utils
+%else
+Requires(pre): shadow
+%endif
+
+%description common-server
+This package contains common server files, settings and dependencies
+for the kanku server components like kanku-worker, kanku-dispatcher,
+kanku-web, kanku-scheduler and kanku-triggerd
+
+%pre common-server
+getent group %{kanku_group} >/dev/null || groupadd -r %{kanku_group}
+getent passwd %{kanku_user} >/dev/null || useradd -r -g %{kanku_group} -G libvirt -d %{kanku_vardir} -s /sbin/nologin -c "user for kanku" %{kanku_user}
+exit 0
+
+%files common-server
+%defattr(-, root, root)
+%dir %attr(755, kankurun, kanku) /var/log/kanku
+%dir %attr(755, kankurun, kanku) /var/lib/kanku
+%dir %attr(755, kankurun, kanku) /var/lib/kanku/db
+%dir %attr(755, kankurun, kanku) /var/cache/kanku
+%ghost %dir %attr(755, kankurun, kanku) /run/kanku
+
+%package web
+Summary: WebUI for kanku
+Requires: kanku-common
+Requires: kanku-common-server
+Requires: perl(Dancer2::Plugin::WebSocket)
+Requires: perl(Twiggy)
+Requires: perl(Mail::Message::Body::String)
+Requires: perl(Mail::Transport::Send)
+Requires: perl(Net::AMQP::RabbitMQ)
+Requires: perl(Template::Plugin::JSON::Escape)
+Requires: perl(UUID)
+%if 0%{?fedora}
+Requires: server(smtp)
+%else
+Requires: smtp_daemon
+%endif
+
+%description web
+TODO:
+ add a useful description
+
+%post web
+%systemd_post kanku-web.service
+
+%preun web
+%systemd_preun kanku-web.service
+
+%postun web
+%systemd_postun_with_restart kanku-web.service
+
+%files web
+%attr(755,root,root) /usr/lib/kanku/kanku-app.psgi
+%dir %attr(755, kankurun, kanku) /var/lib/kanku/sessions
+%dir /usr/share/kanku/views/
+%{_unitdir}/kanku-web.service
+%{_sbindir}/rckanku-web
+/usr/share/kanku/views/admin.tt
+/usr/share/kanku/views/guest.tt
+/usr/share/kanku/views/index.tt
+/usr/share/kanku/views/job.tt
+/usr/share/kanku/views/notify.tt
+/usr/share/kanku/views/notify_disabled.tt
+/usr/share/kanku/views/job_history.tt
+/usr/share/kanku/views/job_result.tt
+%dir /usr/share/kanku/views/layouts
+/usr/share/kanku/views/layouts/main.tt
+/usr/share/kanku/views/login.tt
+%dir /usr/share/kanku/views/login
+/usr/share/kanku/views/login/denied.tt
+/usr/share/kanku/views/admin.tt
+/usr/share/kanku/views/settings.tt
+/usr/share/kanku/views/signup.tt
+/usr/share/kanku/views/pwreset.tt
+/usr/share/kanku/views/reset_password.tt
+/usr/share/kanku/views/worker.tt
+
+%dir /etc/apache2
+%dir /etc/apache2/conf.d
+%ghost %config (noreplace) /etc/apache2/conf.d/kanku.conf
+%config /etc/kanku/jobs/remove-domain.yml
+
+# public contains css/js/bootstrap/jquery etc
+/usr/share/kanku/public/
+/usr/lib/kanku/lib/Kanku.pm
+/usr/lib/kanku/lib/Kanku/REST.pm
+/usr/lib/kanku/lib/Kanku/REST
+
+%package worker
+Summary: Worker daemon for kanku
+
+Requires: kanku-common
+Requires: kanku-common-server
+Requires: perl(Net::AMQP::RabbitMQ)
+Requires: perl(UUID)
+Requires: perl(Sys::CPU)
+Requires: perl(Sys::LoadAvg)
+Requires: perl(Sys::MemInfo)
+# apache2 is only needed for delivering console logs
+Recommends: apache2
+
+%description worker
+A simple remote worker for kanku based on RabbitMQ
+
+%post worker
+%systemd_post kanku-worker.service
+
+%preun worker
+%systemd_preun kanku-worker.service
+
+%postun worker
+%systemd_postun_with_restart kanku-worker.service
+
+%files worker
+/etc/apache2/conf.d/kanku-worker.conf
+%{_unitdir}/kanku-worker.service
+%{_sbindir}/rckanku-worker
+%{_sbindir}/kanku-worker
+/usr/lib/kanku/lib/Kanku/Daemon/Worker.pm
+
+%package dispatcher
+Summary: Dispatcher daemon for kanku
+
+Requires: kanku-common
+Requires: kanku-common-server
+Requires: perl(Net::AMQP::RabbitMQ)
+Requires(pre): sudo
+Recommends: rabbitmq-server
+
+%description dispatcher
+A simple dispatcher for kanku based on RabbitMQ
+
+%post dispatcher
+%systemd_post kanku-dispatcher.service
+
+%preun dispatcher
+%systemd_preun kanku-dispatcher.service
+
+%postun dispatcher
+%systemd_postun_with_restart kanku-dispatcher.service
+
+%files dispatcher
+%{_unitdir}/kanku-dispatcher.service
+%{_sbindir}/rckanku-dispatcher
+%{_sbindir}/kanku-dispatcher
+/usr/lib/kanku/lib/Kanku/Daemon/Dispatcher.pm
+/usr/lib/kanku/lib/Kanku/Dispatch/RabbitMQ.pm
+/usr/share/kanku/views/notifier/
+
+%package scheduler
+Summary: Scheduler daemon for kanku
+Requires: kanku-common
+Requires: kanku-common-server
+
+%description scheduler
+A simple scheduler for kanku based on RabbitMQ
+
+%post scheduler
+%systemd_post kanku-scheduler.service
+
+%preun scheduler
+%systemd_preun kanku-scheduler.service
+
+%postun scheduler
+%systemd_postun_with_restart kanku-scheduler.service
+
+%files scheduler
+%attr(755,root,root) %{_sbindir}/kanku-scheduler
+/usr/lib/kanku/lib/Kanku/Daemon/Scheduler.pm
+%{_unitdir}/kanku-scheduler.service
+%{_sbindir}/rckanku-scheduler
+
+%package triggerd
+Summary: Trigger daemon for kanku
+Requires: kanku-common
+Requires: kanku-common-server
+
+%description triggerd
+A simple triggerd for kanku based on RabbitMQ
+
+%post triggerd
+%systemd_post kanku-triggerd.service
+
+%preun triggerd
+%systemd_preun kanku-triggerd.service
+
+%postun triggerd
+%systemd_postun_with_restart kanku-triggerd.service
+
+%files triggerd
+%attr(755,root,root) %{_sbindir}/kanku-triggerd
+%{_unitdir}/kanku-triggerd.service
+%{_sbindir}/rckanku-triggerd
+%dir /usr/lib/kanku/lib/Kanku/Listener
+/usr/lib/kanku/lib/Kanku/Daemon/TriggerD.pm
+/usr/lib/kanku/lib/Kanku/Listener/RabbitMQ.pm
+
+
+%package doc
+Summary: Documentation files for kanku
+
+%description doc
+This package contains the documentation files for kanku
+
+%files doc
+%{_defaultdocdir}/kanku/
+
+%package urlwrapper
+Summary: Url wrapper for kanku:// urls
+Requires: kanku-cli
+Requires: desktop-file-utils
+Requires: shared-mime-info
+Obsoletes: kanku-url-wrapper
+
+%description urlwrapper
+A URL wrapper to start kanku from kanku:// urls in the browser
+
+%post urlwrapper
+update-mime-database /usr/share/mime
+update-desktop-database
+
+%preun urlwrapper
+update-mime-database /usr/share/mime
+update-desktop-database
+
+%postun urlwrapper
+update-mime-database /usr/share/mime
+update-desktop-database
+
+%files urlwrapper
+%attr(644,root,root) /usr/share/applications/kanku-urlwrapper.desktop
+%attr(644,root,root) /usr/share/mime/packages/kanku.xml
+%dir /usr/share/icons/hicolor
+%dir /usr/share/icons/hicolor/32x32
+%dir /usr/share/icons/hicolor/32x32/apps
+/usr/share/icons/hicolor/32x32/apps/kanku.png
+%dir /usr/share/icons/hicolor/48x48
+%dir /usr/share/icons/hicolor/48x48/apps
+/usr/share/icons/hicolor/48x48/apps/kanku.png
+%dir /usr/share/icons/hicolor/64x64
+%dir /usr/share/icons/hicolor/64x64/apps
+/usr/share/icons/hicolor/64x64/apps/kanku.png
+
+%changelog