Customization

Grigori Fursin edited this page Jun 5, 2018 · 16 revisions

[ Home ]

CK can work out of the box without any specific environment variables. However, if needed, you can customize CK as described below.

Table of Contents

CK environment variables

  • CK_ROOT - you can help CK find CK root directory (may be needed when accessing CK from the Internet Server)
  • CK_REPOS - directory where new CK repositories are created (note that you should change it before first CK usage, otherwise you local settings from the local repo will be lost)
  • CK_LOCAL_REPO - full path to local repository (may be useful when you want to preserve your local settings in a place different from $CK_REPOS)
  • CK_TOOLS - directory where tools from CK packages will be automatically installed
  • CK_CROWDSOURCE_PATH - directory with logs from experiment crowdsourcing

CK default copyrights and authors

If you would like to define default copyright, license and authors when creating new module and data entries in the CK (for example, when using CK in an organization), you can preset them as follows:

$ ck setup kernel --var.default_license="See CK LICENSE.txt for licensing details"
$ ck setup kernel --var.default_copyright="See CK COPYRIGHT.txt for copyright details"
$ ck setup kernel --var.default_developer="cTuning foundation"
$ ck setup kernel --var.default_developer_email="admin@cTuning.org"
$ ck setup kernel --var.default_developer_webpage="http://cTuning.org"

CK kernel customization

When CK is executed for the first time, it creates a kernel:default entry in the local repository. The meta of this entry can be used to customize CK behavior. You can update it via user-friendly command line front-end as follows:

 # ck setup kernel
or edit it as JSON directly via
 $ ck edit kernel:default
or using any editor via
 $ vim $CK_ROOT/CK/local/kernel/default/.cm/meta.json

You can specify the default authorship and copyright of the newly created modules and entries (otherwise cTuning info will be used), turn on or off indexing, configure web front-end, and so on.

Speeding up search via ElasticSearch

You can turn on and off transparent indexing of JSON meta information of CK entries via third-party ElasticSearch as described here.

Installing packages to env entries rather than CK_TOOLS

There is an experimental mode to install packages directly to CK "env" entries rather than to CK_TOOLS directories. This simplify removal of packages - whenever you remove a given env, package will be also automatically removed.

You can turn on this mode simply via

 $ ck setup kernel --var.install_to_env=yes
or               
 $ ck set kernel var.install_to_env=yes

You can turn it off via

 $ ck setup kernel --var.install_to_env=no
or
 $ ck set kernel var.install_to_env=no

Note that when package installation starts (and not yet completed), CK adds 'tmp' tag to a newly created entry. This means that if package installation failed, you will still have a temporal env entry which can be easily deleted via

 $ ck rm env:* --tags=tmp -f

Selecting stable channel for packages

We added beta functionality to select different channels when installing packages. For example, you can specify to use only "stable" channel as follows:

$ ck set kernel var.package_channel=stable

In such case, CK will add tag "channel-stable" when installing all packages. You can revert back to development mode (all packages are visible) via

$ ck set kernel var.package_channel=

Questions and comments

You are welcome to get in touch with the CK community if you have questions or comments!

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.