("müscheli" is swiss german for a small sea shell or clam)
small service that connects to a ClamAV daemon through tcp
use the docker-compose.yml
$ docker-compose up --build
or
build ClamAV image and run
$ docker build -t clamav clamav
$ docker run -p 3310:3310 clamav
run the webservice (requires a go installation with dep)
$ dep ensure
$ go run main.go
run a test
$ curl -v -u muescheli:muescheli -X POST -H "Content-Type: multipart/form-data" -F "file1=@test/eicar.com" -F "file2=@test/test.txt" http://localhost:8091/scan
or
$ curl -v -u muescheli:muescheli -X PUT --data-binary @test/eicar.com http://localhost:8091/scan
or
$ curl -u muescheli:muescheli -v http://localhost:8091/scan?url=https://tech.ebu.ch/docs/tech/tech3285.pdf
if you have the monostream helm chart repo installed
$ helm install monostream/muescheli
or manually deploy
$ kubectl create -f k8s/deployment.yml
this will start a pod with 2 containers (clamav and muescheli)
muescheli service exposed through random NodePort port