Athena is a file processor service, that consumes files stored in the files.com API and runs a series of reports over the downloaded artifacts and subsequently it talks with the Salesforce API for performing actions (currently, only comments are supported)
There are 3 software components in athena:
-
Athena-monitor: Monitor changes in several directories across a file.com account and if new files are found those are sent to the processor for background processing.
-
Nats: Nats is a light messaging daemon that allows a pubsub system to be implemented on top, its used to dispatch messages from athena-monitor to a athena-processor
-
Athena-processor: Subscribes to messages from monitor and routes the reports that have to be run over a given detected file, subsequently it will perform an action on salesforce (such as posting a comment, etc)
The basic flowchart of interaction is as follows
Everything needed to stand up a development environment is contained under a makefile, docker, docker-compose and golang >= 1.14 are required.
Clone this repository and run the following command to build:
make common-build
For running a docker based installation locally
make devel