Configuring RoboServer in Headless Mode

Kapow Katalyst application is shipped with several utilities to configure your RoboServer from a command line. The utilities are located in the bin subfolder of the Kapow Katalyst installation folder. Note that the configuration files are user-dependent and stored in the user folder. For more information see Important Folders in Kapow Katalyst.

For help on usage, run utilities with an -h option.

To create a user user1 with Password1 password and all permissions type the next command:

ConfigureRSUser user1 Password1 -a

To enable authentication of API requests, you must open rsusers.xml and change the enabled attribute to true, as shown in the following example:

<?xml version="1.0" encoding="UTF-8"?>

<userConfiguration enabled="true">
  <users>
    <user username="user1" password_hash="d226d077a864683c45998a66fbb0157c681020c7628c31534b8718a1da00435505e4262e3f4dc305">
      <startRobot/>
      <stopRobot/>
      <shutdownRoboServer/>
    </user>
  </users>
</userConfiguration>

Example of the rsusers.xml configuration file


The following are examples of the RoboServer configuration files:

# Settings file for RoboServer. Some configurations contains encrypted passwords and should not be edited by hand, 
# these should be modified using dedicated commandline tools.


# The directory of use on RoboServer when the API used the DefaultRoboLibrary. 
# On windows \ must be escaped like this c:\\\\users\\AppData\\Local\\KapowKatalyst\\...
defaultProject = C:\\Users\\KapowUser\\Documents\\My Robots\\9.4.0

# Should RoboServer be allowed to access the fileSystem, or call commands/scripts. Values: true/false
sec_allow_file_system_access = false

# Will RoboServer accept JDBC drivers sent from the Management Console. Values: true/false
sec_accept_jdbc_drivers = true

# Should RoboServer log all loaded URLs to the log4j audit log. Values true/false
sec_log_http_traffic = false

# If enabled RoboServer will check credentials for API requests. Values: true/false
sec_authenticate_api_requests = false

# If enabled RoboServer generate an error when accessing a https site without a valid certificate. Values: true/false
cert_verify_https_certificates = false

# If enabled, RoboServer will only allow SSL connections from trusted client. Values true/false
cert_verify_api_certificates = false

# If enabled, input for robots is exposed through JMX. Values: true/false 
jmx_show_inputs = true

# Enables authentication for JMX requests. Values: true/false
jmx_enable_authentication = false

# The user-name used for JMX authentication
jmx_username =

# The password used for JMX authentication. This should be created using the ConfigureRS command line tool.
jmx_password =

# Heartbeat notification interval, in seconds
jmx_heartbeat_interval = 0

Example of the roboserver.settings configuration file


# Settings file for Management Console. Passwords should not be edited by hand, but using the 'ConfigureMC' command line utility.


# Should the MC web-server start a HTTP listener. Values true/false
mc_http = true

# Configures the port of the http listener.
mc_http_port = 50080

# Should the MC web-server start a HTTPs listener. Values true/false
mc_https = false

# Configures the port of the HTTPS listener.
mc_https_port = 50443

# Password for the certificate used by the HTTPs listener. This should be created using the ConfigureMC command line tool.
mc_https_cert_password = 3W2MTrL/b2k=

# Enables MC internal user management, to support multi user scenarios. Values: true/false
mc_enable_usermanagement = true

# The user-name of the MC super user.
mc_admin_user =admin

# The passwordHash of the MC super user. This is a salted SHA-256 hash.
mc_admin_password =7800451255702ef8ae5f5fa0337833059d80b81d5af5872bdeafed230bab479896b6df4f63b25a24

# Configures which hosts are allowed to upload JDBC jar files to MC. Values: NONE, LOCALHOST, ANY_HOST
mc_allow_jdbc_upload = LOCALHOST

Example of the mc.settings configuration file