Skip to content

Use files to communicate with analyzer/responder #176

@To-om

Description

@To-om

Request Type

Feature Request

Problem Description

Analyzers/responders reads input from stdin and write the result to stdout. With this behavior, the result of an analyzer can't include file (#120). Moreover, if an error occurs while the analyzer/responder has already started to write its output, it is not possible to report the error and the output becomes invalid (json format is incorrect).

Instead of using stdin/stdout, analyzers/responders will use files. A job will be stored in a folder with the following structure:

job_folder
  \_ input
        \_ input.json    <- input data, equivalent to stdin with Cortex 2.x
        |_ attachment    <- optional extra file when analysis concerns a file
  \_ output
        \_ output.json   <- report of the analysis (generated by analyzer)
        |_ extra_file(s) <- optional extra files linked to report (generated by analyzer)

Job folder is provided to analyzer/responder as argument. Currently, only one job is acceptable but in future release, analyzer/responder will accept several job at a time (bulk mode) in order to increase performance.

This change doesn't require any rewrite of analyzer/responder, however they must use the new version of cortexutils (2.0.0).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions