#-------------------------------------------------------------------------------
#
# CONFIGURATION FILE FOR MENTAT-CONTROLLER.PY MODULE
#
#-------------------------------------------------------------------------------

{
    #---------------------------------------------------------------------------
    # Custom script configurations
    #---------------------------------------------------------------------------

    #
    # CONFIGURATIONS OF DESIRED REAL-TIME MESSAGE PROCESSING MODULES
    #
    # Since the order matters, the best practice is to launch modules from top
    # to bottom, so that there is already a consumer waiting for processed messages.
    #
    "modules": [

        #
        # [CHAIN A|FINAL]: Module for storing messages into database.
        #
        {
            "exec": "mentat-storage.py",
            # Enable multiple instances working the same queue directory
            #"paralel": true,
            # In case of paralel mode, you MUST set the required number of instances
            #"count": 3,
            "args": [
                # Enable debug information before daemonization
                #"--debug"
                # Force logging level ['debug', 'info', 'warning', 'error', 'critical']
                #"--log-level=debug"
            ]
        },

        #
        # [CHAIN A]: Message enrichment module.
        #
        {
            "exec": "mentat-enricher.py",
            # Enable multiple instances working the same queue directory
            #"paralel": true,
            # In case of paralel mode, you MUST set the required number of instances
            #"count": 3,
            "args": [
                # Enable debug information before daemonization
                #"--debug"
                # Force logging level ['debug', 'info', 'warning', 'error', 'critical']
                #"--log-level=debug"
            ]
        },

        #
        # [CHAIN A|ENTRY]: Message inspection module - event classifications and validations
        #
        {
            "exec": "mentat-inspector.py",
            # Enable multiple instances working the same queue directory
            #"paralel": true,
            # In case of paralel mode, you MUST set the required number of instances
            #"count": 3,
            "args": [
                # Enable debug information before daemonization
                #"--debug"
                # Force logging level ['debug', 'info', 'warning', 'error', 'critical']
                #"--log-level=debug"
            ]
        }

        #
        # [CHAIN B|ENTRY|FINAL]: Additional message inspection module
        #
        #{
        #    "name": "mentat-inspector-c.py",
        #    "exec": "mentat-inspector.py",
        #    # Enable multiple instances working the same queue directory
        #    #"paralel": true,
        #    # In case of paralel mode, you MUST set the required number of instances
        #    #"count": 3,
        #    "args": [
        #        # Enable debug information before daemonization
        #        #"--debug"
        #        # Force logging level ['debug', 'info', 'warning', 'error', 'critical']
        #        #"--log-level=debug"
        #    ]
        #}
    ],

    #
    # CONFIGURATIONS OF DESIRED MESSAGE POST-PROCESSING MODULES
    #
    "cronjobs": [

        # Utility for producing periodical backups of selected parts of the system.
        { "name": "mentat-backup-py" },

        # Utility for producing periodical cleanups of selected parts of the system.
        { "name": "mentat-cleanup-py" },

        # Provide periodical informational report emails about overall performance of Mentat system.
        { "name": "mentat-informant-py" },

        # Perform pre-caching of various data for Mentat system.
        { "name": "mentat-precache-py" },

        # Provide periodical event report emails directly to target abuse groups.
        { "name": "mentat-reporter-py" },

        # Calculate periodical statistics about overall performance of Mentat system.
        { "name": "mentat-statistician-py" },

        # Check database of Mentat system for various anomalies.
        { "name": "mentat-watchdog-events-py" }
    ],

    #---------------------------------------------------------------------------
    # Common application configurations
    #---------------------------------------------------------------------------

    #"quiet": false,
    #"verbosity": 0,
    #"log_file": "/var/mentat/log/mentat-controller.py.log",
    #"log_level": "info",
    #"runlog_dir": "/var/mentat/run/mentat-controller.py",
    #"runlog_dump": false,
    #"runlog_log": false,
    #"pstate_file": "/var/mentat/run/mentat-controller.py.pstate",
    #"pstate_dump": false,
    #"pstate_log": false,
    #"action": null,
    #"user": "root",
    #"group": "root",

    # This is a dummy last configuration so that the user does not have to fix
    # the commas in the whole configuration file after each change.
    "_dummy_": "_dummy_"
}