bionic (1) klone.1.gz

Provided by: klone_2.1.0~rc1-1_all bug

NAME

       klone - KLone swiss army knife

SYNOPSIS

       klone [klone_opts] [-c cmd] [cmd_opts] [cmd_args]

DESCRIPTION

       klone performs two different tasks depending on the argument supplied to the -c switch: import a site
       directory tree into the KLone building environment (i.e. the embedded file system), or translate static
       and dynamic pages into C files.

       The translation phase is rarely seen by the user since it is hidden in the Makefile of the site building
       directory, i.e.  ${KLONE_SRC_DIR}/site. Generally, the developer gets an embedded version of his/her site
       by providing the following command sequence:

           $ cd ${KLONE_SRC_DIR}/site
           $ ../src/tools/klone/klone -c import ${SITE_BASE_DIR}
           $ make

       The latter make invocation calls 'klone -c translate' over the imported files to perform the needed
       translation and registering (pre-linking).

       Note that whenever a source file is added, removed or renamed, or in case the embedded file system
       encrypting key changes, the import operation must be done again.

       The subsequent phase, by which the embedded site is linked to the kloned server skeleton, does not
       involve klone anymore. Nevertheless, the steps are illustrated here for reference:

           $ cd ${KLONE_SRC_DIR}
           $ make

       That's all.

OPTIONS

       -h     Display a brief help and exit.

       -v     Enable verbose mode.

       -V     Print klone version and exit.

COMMANDS

   Translate:

             klone -c translate -i infile -o outfile -u uri [-E] [-k keyfile] [-z]

       Translate the active (i.e. a .klone file) or static page infile into C file outfile.

       The -u option specifies the uri associated with the translated file.

       The -E option tells klone to encrypt the file content with the key enclosed in the supplied keyfile or in
       the environment variable KLONE_CIPHER_KEY using AES-256 CBC.

       The contents of the translated files are compressed based on their MIME type if the -z flag is given.

   Import:

             klone -c import [-b uri] [-e pattern] [-x pattern] [-k keyfile] [-Z pattern] [-z] dir

       Import the site tree starting at dir into the KLone building environment. The command output comprises
       two makefiles (autogen.mk and autogen.dps) and the register.c file which will gather the imported and
       translated site files. The latter file is the glue by which the embedded site can afterwards be linked to
       the HTTP/S server.

       When the -e flag is given, the files matching the specified pattern will be encrypted using the key
       enclosed in the supplied keyfile or in the environment variable KLONE_CIPHER_KEY.

       The user can choose whether to compress all the imported files based on their MIME type, using the -z
       flag, or to select a subset matching the supplied shell pattern.

       If, while importing, you don't want to include a set of files you can use the -x argument to provide the
       pattern of files you want to exclude.

       Arguments -x, -Z and -e may be used more then once.

ENVIRONMENT

       The following environment variable affects the execution of klone:

       KLONE_CIPHER_KEY
              If set, klone tries to read the embedded file system encryption key from it. It is be overridden
              by the -k option.

DIAGNOSTICS

       The klone utility exits with EXIT_SUCCESS on success, and with EXIT_FAILURE if an error occurs.

SEE ALSO

       kloned(8), kloned.conf(5).

BUGS

       If you find one, please email it to <klone-bug@koanlogic.com>