diff --git a/.docker/intelmq-full-dev/Dockerfile b/.docker/intelmq-full-dev/Dockerfile index fad5430..fe0f83b 100644 --- a/.docker/intelmq-full-dev/Dockerfile +++ b/.docker/intelmq-full-dev/Dockerfile @@ -1,25 +1,18 @@ -FROM certat/intelmq-full:latest -ENV LANG C.UTF-8 +FROM certat/intelmq-full:1.0 -LABEL maintainer="Einar " -LABEL maintainer="Jeremias " -LABEL maintainer="Mateo " -RUN sudo apt-get update \ - && sudo apt-get install -y --no-install-recommends \ - git \ - vim \ - ssh \ - && sudo rm -rf /var/lib/apt/lists/* +ADD entrypoint_dev.sh /opt/dev/entrypoint_dev.sh +ADD update.sh /opt/dev/update.sh +ADD merge_BOTS.py /opt/dev/merge_BOTS.py -WORKDIR /opt -ADD entrypoint-dev.sh /opt/entrypoint-dev.sh -ADD install_reqs_and_deploy_bots /opt/install_reqs_and_deploy_bots.sh -RUN sudo chmod +x /opt/entrypoint-dev.sh \ - && sudo chown intelmq:intelmq /opt/entrypoint-dev.sh -RUN sudo chmod +x /opt/install_reqs_and_deploy_bots.sh \ - && sudo chown intelmq:intelmq /opt/install_reqs_and_deploy_bots.sh +# Merge bots for merge_BOTS.py +RUN sudo python3 -m pip install jsonmerge +USER intelmq:intelmq -USER intelmq +# Permission denied when installing new bots +RUN sudo chown -R intelmq:intelmq /opt/intelmq/intelmq.egg-info + +ENV PATH="/opt/intelmq/.local/bin:${PATH}" + +ENTRYPOINT ["/opt/dev/entrypoint_dev.sh"] -ENTRYPOINT [ "/opt/entrypoint-dev.sh" ] diff --git a/.docker/intelmq-full-dev/entrypoint-dev.sh b/.docker/intelmq-full-dev/entrypoint-dev.sh index 5c031a8..a4a2e79 100644 --- a/.docker/intelmq-full-dev/entrypoint-dev.sh +++ b/.docker/intelmq-full-dev/entrypoint-dev.sh @@ -27,4 +27,4 @@ then nosetests3 /opt/intelmq/intelmq/tests else cd /opt/intelmq-api && hug -m intelmq_api.serve -p8080 -fi \ No newline at end of file +fi diff --git a/.docker/intelmq-full/Dockerfile b/.docker/intelmq-full/Dockerfile index 7c67eec..90c4ef8 100644 --- a/.docker/intelmq-full/Dockerfile +++ b/.docker/intelmq-full/Dockerfile @@ -20,6 +20,7 @@ RUN apt-get update \ sudo \ gcc \ rsync \ + ssh \ python3-pika \ python3-nose \ python3-dev \ @@ -33,6 +34,8 @@ RUN apt-get update \ python3-cerberus \ python3-requests-mock \ python3-shodan \ + python3-elasticsearch \ + python3-pymongo \ libfuzzy-dev \ && rm -rf /var/lib/apt/lists/* diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 40f5a2c..038bad1 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -22,7 +22,7 @@ services: image: certunlp/intelmq3-full-dev:latest volumes: - ./example_config/intelmq/etc/:/opt/intelmq/etc/ - - ./example_config/intelmq-api/config.json:/etc/intelmq/api-config.json + - ./example_config/intelmq-api/config.json:/opt/intelmq/api-config.json - ./intelmq_logs:/opt/intelmq/var/log - ./intelmq_output:/opt/intelmq/var/lib/bots - ./my_bots:/my_bots diff --git a/test.sh b/test.sh index 60e80bf..7010ee1 100755 --- a/test.sh +++ b/test.sh @@ -1,11 +1,28 @@ #!/bin/bash +echo RUNNING TESTS WITH REDIS echo Setting up redis container redis_id=$(docker run --rm -d -p 6379:6379 -v ~/example_config/redis/redis.conf:/redis.conf redis:latest) +redis_ip=$(docker inspect -f '{{ range.NetworkSettings.Networks }}{{ .IPAddress }}{{ end }}' $redis_id) + +echo Setting up IntelMQ-Container +docker run --rm -v $(pwd)/example_config/intelmq/etc/:/etc/intelmq/etc/ \ + -v $(pwd)/example_config/intelmq-api:/etc/intelmq-api/config \ + -v $(pwd)/intelmq_logs:/etc/intelmq/var/log \ + -v $(pwd)/intelmq_output:/etc/intelmq/var/lib/bots \ + -v $(pwd)/example_config/intelmq/var/lib/bot:/etc/intelmq/var/lib/bot \ + -v $(pwd)/intelmq_persistence:/opt/intelmq_persistence \ + -e "INTELMQ_PIPELINE_DRIVER=\"redis\"" \ + -e "INTELMQ_PIPELINE_HOST=$redis_ip" \ + -e "INTELMQ_REDIS_CACHE_HOST=$redis_ip" \ + intelmq-full:latest selftest + +echo Removing redis container +docker container kill $redis_id + +echo RUNNING TESTS WITH AMQP echo Setting up AMQP container amq_id=$(docker run --rm -d -p 5672:5672 -p 15672:15672 rabbitmq:latest) - -redis_ip=$(docker inspect -f '{{ range.NetworkSettings.Networks }}{{ .IPAddress }}{{ end }}' $redis_id) amp_ip=$(docker inspect -f '{{ range.NetworkSettings.Networks}}{{ .IPAddress }}{{ end }}' $amq_id) echo Setting up IntelMQ-Container @@ -15,15 +32,10 @@ docker run --rm -v $(pwd)/example_config/intelmq/etc/:/etc/intelmq/etc/ \ -v $(pwd)/intelmq_output:/etc/intelmq/var/lib/bots \ -v $(pwd)/example_config/intelmq/var/lib/bot:/etc/intelmq/var/lib/bot \ -v $(pwd)/intelmq_persistence:/opt/intelmq_persistence \ - -e "INTELMQ_IS_DOCKER=\"true\"" \ - -e "INTELMQ_PIPELINE_DRIVER=\"redis\"" \ - -e "INTELMQ_PIPELINE_HOST=$redis_ip" \ - -e "INTELMQ_PIPELINE_AMQ_HOST=$amp_ip" \ + -e "INTELMQ_PIPELINE_DRIVER=\"amqp\"" \ + -e "INTELMQ_PIPELINE_HOST=$amq_id" \ -e "INTELMQ_REDIS_CACHE_HOST=$redis_ip" \ intelmq-full:latest selftest -echo Removing redis container -docker container kill $redis_id - echo Removing AMQP container docker container kill $amq_id