Skip to content

Install klic

This page contains instructions for installing and maintaining klic. For an overview of klic and KX self-service licensing, see here.

This guide assumes you are installing in an internet-connected environment and have valid credentials for the KX Nexus repository. Set these up as environment variables in your session.

  • $KX_NEXUS_USER: Nexus username
  • $KX_NEXUS_PASSWORD: Nexus password

For instructions for installing to an offline, non-Internet connected environment, see the link below.

Offline installs

klic installation

These instructions install the klic application.

Setup

Before you begin ensure you have Python3 installed with pip and setuptools.

apt-get install python3-pip python3-setuptools
yum install python3-pip python3-setuptools

The process of creating licenses requires kdb Insights to be installed. Please ensure you have a minimum version of 3.2.3 installed.

kdb Insights install

Installation

To install the latest version of klic simply execute the command below.

python3 -m pip install --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic

Tip

Alternatively you can install a specific version by specifying a version suffix.

python3 -m pip install --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic==1.1.0

To get the available versions, navigate to the klic repository in your browser here (you may need to login first).

Alternatively for recent versions of pip (>= 21.2), you can list available versions as below

python3 -m pip index versions --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic

After running the installation, klic will be installed to ~/.local/bin. You should add this directory to your $PATH.

You should now be able to run klic, and see some navigable usage instructions.

$ klic
Usage: klic [OPTIONS] COMMAND [ARGS]...

Options:
    --debug  Enable debugging
    --help   Show this message and exit.

Commands:
    accounting      Accounting (usage) management
    authenticate    Authentication
    bastion         Start Bastion helper
    entitlement     Entitlement management.
    environment     Environment management
    group           Group management
    license         License management
    permission      Tenant group permissions management
    serviceaccount  Service Account management
    tenant          Tenant management

Each of the commands and sub-commands can be explored by calling them with the --help parameter. e.g. klic tenant --help or klic tenant list --help.

Auto-complete

Auto-completion for klic commands can enabled. Example below for bash.

eval "$(_KLIC_COMPLETE=bash_source klic)"

For other supported shells, see here.

Upgrading klic

klic is easily upgradeable with a similar command to the install.

python3 -m pip install --upgrade --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic

Upgrade to a specific version

You can upgrade to a specific by adding a version specifier, e.g. klic==1.1.0

python3 -m pip install --upgrade --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic==1.1.0

Uninstalling klic

klic can be uninstalled using the command below.

python3 -m pip uninstall klic

Offline install

A standard installation of klic downloads dependencies from the Internet. For offline systems this becomes a two-step process. Firstly you'll need to download the packages on an Internet-connected system. Then transfer the downloaded artefacts to your target environment to complete the install.

  1. Run the commands below to download the client on your Internet-connected system.

    python3 -m pip download -d bundle setuptools wheel --extra-index-url https://$KX_NEXUS_USER:$KX_NEXUS_PASSWORD@nexus.dl.kx.com/repository/klic/simple klic
    tar -zcf bundle.tar.gz bundle
    
  2. Copy bundle.tar.gz to your offline system and run the commands below to install it.

    tar -zxf bundle.tar.gz
    python3 -m pip install --no-index --find-links bundle klic