Public | Automated Build

Last pushed: 17 days ago
Short Description
KIE Execution Server
Full Description

Drools KIE Server Docker image

Drools KIE Server Docker image.

More information of KIE Server available at JBoss documentation.

Table of contents

  • Introduction
  • Usage
  • Users and roles
  • Logging
  • Extending this image
  • Experimenting
  • Notes
  • Release notes

Introduction

The image contains:

  • JBoss Wildfly 10.0.0.Final
  • JBoss Drools KIE Server 6.5.0.Final

This image provides the Drools KIE Server. It's intended to be extended so you can add your custom configurations.

If you don't want to extend this image and you just want to try Drools KIE Server take a look at the jboss/kie-server-showcase:latest Docker image, it contains some default configurations.

Usage

The JBoss KIE Execution server is intended to be used as a standalone runtime execution environment managed by a KIE Drools Workbench or a jBPM Workbench application that acts as a controller.
This image does not provides any default configuration, so please to use the execution server it's recommended to read the documentation at Installing the KIE Server. You can check an example of this configuration at the KIE Server Showcase Docker image too.

To run a container:

docker run -p 8080:8080 -d --name kie-server jboss/kie-server:latest

Once container and web applications started, the application is available at:

http://localhost:8080/kie-server

The REST API service is located at:

http://localhost:8080/kie-server/services/rest/server/

Users and roles

The application have no users or roles configured, so you cannot not access it by default,

In order to use it, at least you have to create an application user in JBoss Wildfly with role kie-server.

If you are looking for a Drools KIE Server image that does not require to add custom configurations, try our jboss/kie-server-showcase:latest Docker image.

If you want to create your custom configuration and users, role, etc, you can take a look at section Extending this image.

Logging

You can see all logs generated by the standalone binary running:

docker logs [-f] <container_id>

You can attach the container by running:

docker attach <container_id>

The Drools KIE Server web application logs can be found inside the container at path:

/opt/jboss/wildfly/standalone/log/server.log

Example:
sudo nsenter -t $(docker inspect --format '{{ .State.Pid }}' $(docker ps -lq)) -m -u -i -n -p -w
-bash-4.2# tail -f /opt/jboss/wildfly/standalone/log/server.log

Extending this image

You can extend this image and add your custom layers in order to add custom configurations, users, roles, etc.

In order to extend this image, your Dockerfile must inherit from:

FROM jboss/kie-server:latest

Configuring Wildfly

  • The Wildfly configuration files are located at /opt/jboss/wildfly/standalone/configuration
  • In this file you can modify all Wildfly's subsystem configurations
  • Drools KIE Server requires running Wildfly using full profile, so custom modifications should be done in standalone-full.xml configuration file

Users and roles

  • By default this image does not provide users and roles for Drools KIE Server

  • In order to use it, you must create a user with role kie-server

These are the steps to create your custom users and roles by using realm files in Widlfly:

1.- Create a realm properties file for users and deploy it in /opt/jboss/wildfly/standalone/configuration:

    kie-server-users.properties
    ---------------------
    kieserver=kieserver1!

2.- Create a realm properties file for roles and deploy it in /opt/jboss/wildfly/standalone/configuration:

    kie-server-roles.properties
    ---------------------
    kieserver=kie-server

3.- Modify your standalone-full.xml in order to:

3.1 - In the management section, modify default the security-realm for the ApplicationRealm as:

    <security-realm name="ApplicationRealm">
          <authentication>
            <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
            <properties path="kie-server-users.properties" relative-to="jboss.server.config.dir"/>
          </authentication>
          <authorization>
            <properties path="kie-server-roles.properties" relative-to="jboss.server.config.dir"/>
          </authorization>
      </security-realm>

3.2 - In the security subsystem, modify default the other security-domain for as:

    <security-domain name="other" cache-type="default">
      <authentication>
        <login-module code="UsersRoles" flag="required">
          <module-option name="usersProperties" value="${jboss.server.config.dir}/kie-server-users.properties"/>
          <module-option name="rolesProperties" value="${jboss.server.config.dir}/kie-server-roles.properties"/>
        </login-module>
      </authentication>
    </security-domain>

You can find an example by looking at the Dockerfile for jboss/kie-server-showcase:latest image.

Experimenting

To spin up a shell in one of the containers try:

docker run -t -i -P 8080:8080 jboss/kie-server:latest /bin/bash

You can then noodle around the container and run stuff & look at files etc.

Notes

  • The context path for Drools KIE Server application services is kie-server
  • Drools KIE Server version is 6.5.0.Final
  • Drools KIE Server requires running JBoss Wildfly using the full server profile
  • No users or roles are configured by default
  • No support for clustering
  • This image is not intended to be run on cloud environments such as RedHat OpenShift or Amazon EC2, as it does not meet all the requirements.
  • Please give us your feedback or report a issue at Drools Setup or Drools Usage Google groups.

Release notes

6.5.0.Final

  • Use Wildfly 10.0.0.Final
  • Upgrade app to version 6.5.0.Final
Docker Pull Command
Owner
jboss
Source Repository

Comments (0)