Rule Deployment

There are 3 types of rules:

1. Core-Rules
  • Created by Indeni developers. 
  • Embedded into the indeni source code.
  • Cannot be changed on the client environment.
2. Stable-Template-Base-Rules
  • Created by IKEs.
  • Inherits from templates.
  • Must be with extension *.scala.
  •  The rules are packaged through Jenkins into template-based-rules.jar.
  • The file is located on /usr/share/indeni-knowledge/stable/rules/templatebased/ 
  • The Jar file should not be changed on the client environment
3. Overwrite-Template-Base-Rules
  • Created by IKEs
  • Inherits from templates.
  • Can be with extension *.scala or *.rule but should be *.scala for consistency
  • The files should be added to /usr/share/indeni-knowledge/overwrite/rules/templatebased/<vendor> 
  • The file should be in the same path as the package definition. For example a rule class in package com.indeni.server.rules.library.templatebased.checkpoint should be in .../templatebased/checkpoint
  • In case of collision with core-rules, the core-rules will be used.
  • In case of collision with  stable-template-base-rulesoverwrite-template-base-rules  will be used
  • After placing your rule in overwrite, run "sudo service indeni-server restart" to reload the rules
Important: 
  • There is a log file  /usr/share/indeni-server/logs/rules/general.log
  • general.log shows the loading/failing of each rule.
  • The IKEs should use the file for debugging.