Service is based on ClamAV
anti-virus software.
The workflow is:
- Object is created in
import-bucket
. - S3 sends bucket notification to the SQS
av-queue
. - AV Service pulls the message from the SQS.
- AV Service pulls the file from
import-bucket
. - AV Service puts
IN_PROGRESS
tag on pulled s3 object. - AV Service performs anti-virus scan on pulled file.
- AV Service puts the proper tag on s3 object based on scan results and copies file to
safe-bucket
if file is not infected. - AV service deletes the file from host.
- AV service deletes processed message from SQS.
Just install the dependencies in for avService by running npm install
inside ./avService
, then run docker-compose up
from root.
Seeder
container will provision all required AWS infrastructure inside localstack with terraform.
You can triggers the service by calling ./test.sh cp_file
. Check the script for more handy commands.