Karaf

Karaf is one of the central system components for the BPC. It is open-source software from the Apache Software Foundation

The software documentation can be found here.

As part of the BPC installation, a preconfigured version of Apache Karaf is provided.

Configuration

Memory (RAM)

The amount of allocated memory is set via the environment variable EXTRA_JAVA_OPTS. This environment variable is also used when employing the central configuration via bpc.env.sh.

Please also refer to the memory examples for the available hardware under System Requirements.

Console

The Karaf console allows you to easily check the current system status as well as view and adjust configurations.
See also Apache Karaf Documentation - Using the Console.

A Karaf Console Commands Cheat Sheet is available for frequently used Karaf console commands.

Access

Access to the console is possible both locally and remotely. Authentication takes place via the Karaf user list.
The predefined "admin" role can log in, but comprehensive administrative tasks can only be performed in combination with other roles. These roles are grouped into the predefined group g:admingroup.
Detailed information can be found in the Apache Karaf Documentation - Security.

Karaf Client

In the Karaf directory, under bin/client (or bin/client.bat for Windows), there is a client for the console. This client enables both local and remote access to the console.

SSH

The Karaf console is also available directly via the SSH protocol. Unless otherwise configured (see Central configuration file), port 8101 is available for this purpose.

External Access via SSH

By default, SSH access is restricted to the host localhost. If it is necessary to make Karaf accessible via external connections, this can be done by adjusting the setting org.apache.karaf.shell.sshHost. The value ` 0.0.0.0 ` allows connections from all IP addresses.

The change can be made either via the configuration file ` <BPC-INSTALL-DIR>/karaf/etc/org.apache.karaf.shell.cfg`, the Karaf console, or the central configuration file.

We recommend using the central configuration file. To do so, simply uncomment the line that is commented out by default:

  • Unix systems

  • Windows systems

bpc.env.sh
export ORG_APACHE_KARAF_SHELL_SSHHOST=0.0.0.0
BPC.env.cmd
SET ORG_APACHE_KARAF_SHELL_SSHHOST=0.0.0.0

For optimal security, always use the most restrictive settings that still allow your workflow.

Access Using the Private/Public Key Method

Follow these steps:

  1. Creating the key pair:
    Run the following command to create a new key pair. Alternatively, you can use an existing key pair.
    ssh-keygen -t rsa -f karaf.id_rsa

  2. Paste the public key into keys.properties.
    The file keys.properties in the <BPC-INSTALL-DIR>/karaf/etc directory allows you to assign an SSH key to a user. User-key pairs are defined in the following format: user=key,role

    keys.properties File containing the SSH public key
    virtimo=<SSH-Public-Key>,_g_:admingroup
    _g_\:admingroup = group,admin,manager,viewer,systembundles,ssh

    If the file’s syntax is not followed, authentication will fail and a connection cannot be established.
    Make sure the SSH public key does not contain any spaces.

    SSH access requires the role ssh, which is not set by default.

  1. Establish an SSH connection:
    ssh -p 8101 -i karaf.id_rsa virtimo@localhost

Access with Username/Password

As an alternative to the public/private key method, authentication can also be performed using a username and password. To do this, use the file users.properties in the <BPC-INSTALL-DIR>/karaf/etc directory.

Follow these steps:

  1. Add the user and password to users.properties. See Using users.properties for Karaf Access.

  2. Ensure that the added user is assigned the role ssh.

  3. Connect via SSH. Here is an example using the user virtimo:
    ssh -p 8101 virtimo@localhost

For detailed information, see the Apache Karaf Documentation - Security.

BPC-specific commands


Keywords: