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.
See also Apache Karaf Documentation - Start.
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.
See also Apache Karaf Documentation - Connect.
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
export ORG_APACHE_KARAF_SHELL_SSHHOST=0.0.0.0
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:
-
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 -
Paste the public key into
keys.properties.
The filekeys.propertiesin the<BPC-INSTALL-DIR>/karaf/etcdirectory allows you to assign an SSH key to a user. User-key pairs are defined in the following format:user=key,rolekeys.propertiesFile containing the SSH public keyvirtimo=<SSH-Public-Key>,_g_:admingroup _g_\:admingroup = group,admin,manager,viewer,systembundles,sshIf 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.
-
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:
-
Add the user and password to
users.properties. See Using users.properties for Karaf Access. -
Ensure that the added user is assigned the role
ssh. -
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. |