kleened

  Kleened

Install Kleene backend on a FreeBSD host

klee

 Klee

Install Kleene client on any machine

Kleened installation

Requirements

  • Recent versions of FreeBSD on amd64: 13.x or 14.x.
    • In principle it should work on other archtectures, provided they have the necessary kernel modules.
  • The ZFS kernel module. Included in the official releases.
  • The PF firewall kernel module. Included in the official releases.

Install using pkg

Since Kleened is not part of the official ports repository yet, it has to be downloaded manually.

The easiest way to get the latest version of Kleened and install it using pkg.

On FreeBSD14.x:

$ fetch https://github.com/kleene-project/kleened/releases/download/v0.1.0-rc.1/kleened-0.1.0rc1_FreeBSD14-amd64.pkg
$ sudo pkg install kleened-0.1.0rc1_FreeBSD14-amd64.pkg

On FreeBSD13.x:

$ fetch https://github.com/kleene-project/kleened/releases/download/v0.1.0-rc.1/kleened-0.1.0rc1_FreeBSD13-amd64.pkg
$ sudo pkg install kleened-0.1.0rc1_FreeBSD13-amd64.pkg

Install using ports

Alternatively, build it from source using the FreeBSD port (which is not part of the official FreeBSD ports tree yet):

$ git clone https://github.com/kleene-project/ports.git kleene-ports
$ cd kleene-ports/sysutils/kleene-daemon
$ sudo make install

Configuration

It is recommended to take a peek at the configuration file before running Kleened. It is located at /usr/local/etc/kleened/config.yaml and contains defaults intended to work in most basic cases.

Once Kleened is installed, enable it:

$ sudo sysrc kleened_enable=yes

This ensures that it will start when the system is restarted.

Initialize the host

To make sure that all host requirements are met and the host system is properly configured, run

$ sudo service kleened init

It is also possible to do a dry-run instead using service kleened dryinit to see which requirements are met and what Kleened intends to configure.

Finally, start Kleened

$ sudo service kleened start

Klee installation

There are several ways of installing Klee depending on tooling and platform. The following provides a couple of examples.

Install using pipx

pipx works on many differen platforms and can be used to install python packages in isolated environments to avoid dependency conflicts from other python applications. pipx can be installed on most operating systems.

For instance, on FreeBSD:

$ sudo pkg install py311-pipx

On a Debian-based Linux distribution

$ sudo apt install pipx

Then install Klee by

$ pipx install kleene-cli

This is the most common way that uses the latest version from PyPI.

Install latest development version

Alternatively, Klee can be installed directly from source using

$ git clone https://github.com/kleene-project/klee
$ pipx install ./klee

If pipx install -e ./klee is used instead, it will be installed in ‘editable’ mode, meaning that any changes made to Klee will take effect the next time klee is invoked.