KaDeck Web and Enterprise Setup

This article covers all steps necessary to set up the KaDeck Web and KaDeck Enterprise in your infrastructure.

 

System prerequisites 

KaDeck Web/Enterprise is a web service that runs in your infrastructure and is typically delivered in a container format, e.g. a docker image. 

Supported operating systems

  • Microsoft Windows (Server) with support for Java 8+
  • Linux distribution 64-bit with support for Java 8+
  • Mac OS with support for Java 8+

If your setup deviates considerably from usual cloud setups, contact our support.

Internet access and offline use

KaDeck Web is capable of running in an offline environment. If you have purchased licenses, an offline activation must be made in the settings so that the licenses are updated in KaDeck.

Alternatively, you can set up internet access from KaDeck to the outside. The following address must be reachable from the inside of the container:

  • https://connect.xeotek.link:443

Container requirements

  • 64-bit operating system
  • min. 8GB of free RAM *
  • 1 GB of disk space

* This needs to be set depending on the size of your data objects in Kafka and the number of users. Remember to increase the Java heap memory (see Java heap memory).

Threads
The number of threads KaDeck needs depends on a base number and the maximum number of concurrent long-running queries KaDeck has to execute at a ratio of 1:1, where the base number corresponds to a minimum of 2 threads.

External / internal database

KaDeck Web/Enterprise requires a database for storing information. An external database such as H2 or PostgreSQL is required in a production environment. If no external database information is supplied, KaDeck Web/Enterprise will use an internal H2 file-based database. 

The database connection details are passed to KaDeck as environment variables in the form of a JDBC connection string.

A recommended size for the database to start with is 1GB. Depending on the usage and the growing audit logs, the size of the database must be increased.

Apache Kafka

KaDeck was tested with Apache Kafka 1.0+ and may work with older versions, but we do not recommend using any version of Kafka below 1.0 in a production environment.

 

Configurations

You can configure KaDeck Web/Enterprise by supplying the following environment variables:

All values need to be prefixed with xeotek_kadeck, e.g. xeotek_kadeck_teamid.

Variable name Example value Description
secret password Required. Your secret authentication code.
teamid myteam.abecede Required. Your team id.
init_with_userid mycustomuserid The user id of the first admin user. Defaults to admin.
The default password admin is not affected. 
port 80 The port through which the web UI of KaDeck Enterprise will be accessible.
keystore_path /your/path SSL: The absolute path to your keystore.
keystore_pass password SSL: The password of your keystore.
keystore_alias alias SSL: The keystore alias.
db_url jdbc:h2:address  The JDBC URL of your SQL database. Currently, PostgreSQL and H2 are supported. If not supplied, a database is created in the container (not recommended in production).
db_username username The username with permissions to create tables and read/write values to it.
db_password password The password for your user.
sync_max_interval_mins 120 KaDeck Web only. The synchronization interval for pulling new data from the Xeotek Uplink server.
loglevel INFO The log level of KaDeck. Default: WARN

 

Java Memory

To increase the memory available to the Java process, use the typical parameters -Xmx for the maximum and -Xms for the initial memory. To pass these parameters to KaDeck, you can set the environment variable "KA_DECK_OPTS".

For example, as an argument for the Docker image:

-e KA_DECK_OPTS="-Xms8g -Xmx12g"

 

Architecture

Xeotek KaDeck Web/Enterprise is a web service and is usually provided as a Docker Container for a containerized environment. 

mceclip1.png

Scale-out

KaDeck Web/Enterprise can scale out by creating several instances of KaDeck and controlling access via an upstream load balancer (e.g. based on the header "x-session"). KaDeck Web/Enterprise offers several endpoints for this purpose.

Health, Liveness, Readiness and metric endpoints

 

/metrics Metrics The /metrics endpoint with three sub-paths: application, vendor, and base.
/health Health check The /health endpoint with database, deadlock, disk space, and heap memory checks.
/live Livenessprobe KaDeck is live and reachable.
/ready Readynessprobe KaDeck is live, reachable and the connection to the database is established.
Was this article helpful?
1 out of 4 found this helpful

Comments

0 comments

Please sign in to leave a comment.