• Stars
    star
    229
  • Rank 174,666 (Top 4 %)
  • Language
    Python
  • License
    Other
  • Created almost 9 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A cherrypy framework for multi-purpose plug-ins

What is Wok?

Wok is a cherrypy-based web framework with HTML5 support originated from Kimchi. It can be extended by plugins which expose functionality through REST APIs.

Examples of such plugins are Kimchi (Virtualization Management); Ginger Base (Basic host management) and; Ginger (System Administration).

Wok runs through wokd daemon.

Browser Support

Wok and its plugins can run in any web browser that supports HTML5. The Kimchi community (responsible for Wok project) makes an effort to test it with the latest versions of Chrome and Firefox browsers, but the following list can be used as reference to browser support.

Desktop Browser Support:

  • Internet Explorer: Current version
  • Chrome: Current version
  • Firefox: Current version
  • Safari: Current version
  • Opera: Current version

Mobile Browser Support:

  • Safari iOS: Current version
  • Android Browser Current version

Linux Support

Wok might run on any GNU/Linux distribution that meets the conditions described on the 'Getting Started' section below.

The Kimchi community (responsible for Wok project) makes an effort to test it with the latest versions of Fedora, openSUSE, and Ubuntu.

Getting Started

Install Dependencies

In order to have Wok running as expected in your system, please make sure to have all the dependencies installed before building Wok or starting up the wokd service.

Fedora

First of all, install python3-pip

sudo dnf install -y python3-pip

Development Dependencies

sudo -H pip3 install -r requirements-dev.txt
sudo dnf install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext-devel rpm-build libxslt gcc-c++ python3-devel python3-pep8 python3-pyflakes rpmlint python3-pyyaml

Runtime Dependencies

sudo dnf install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy python3-cheetah python3-pam python3-m2crypto gettext-devel

Debian

First of all, install python3-pip

sudo apt install -y python3-pip

Development Dependencies

sudo -H pip3 install -r requirements-dev.txt
sudo apt install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml

Runtime Dependencies

sudo apt install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy3 python3-cheetah python3-pampy python3-m2crypto gettext python3-openssl

Ubuntu

First of all, install python3-pip

sudo apt install -y python3-pip

Development Dependencies

sudo -H pip3 install -r requirements-dev.txt
sudo apt install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml

Runtime Dependencies

sudo apt install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-cherrypy3 python3-cheetah python3-pam python3-m2crypto gettext python3-openssl

openSUSE LEAP

First of all, install python3-pip

sudo zypper install -y python3-pip

Development Dependencies

sudo -H pip3 install -r requirements-dev.txt
sudo zypper install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext-tools rpm-build libxslt-tools gcc-c++ python3-devel python3-pep8 python3-pyflakes rpmlint python3-PyYAML python3-distro

Runtime Dependencies

sudo zypper install -y systemd logrotate python3-psutil python3-ldap python3-lxml python3-websockify python3-jsonschema openssl nginx python3-CherryPy python3-Cheetah3 python3-python-pam python3-M2Crypto gettext-tools python3-distro

Build and Install

sudo ./autogen.sh --system
make

# Optional if running from the source tree
sudo make install

# Or, to make installable .deb packages
make deb

# Or, for RPM packages
make rpm

If you are looking for stable versions, there are some packages available at https://github.com/kimchi-project/wok/releases

Starting up Wok

sudo python3 src/wokd

To access Wok, please, connect your browser to https://localhost:8001.

Contributing to Wok Project

There are a lof of ways to contribute to the Wok Project:

Find more information about Wok Project at https://github.com/kimchi-project/wok/wiki