Simod HTTP is a collection of services to run Simod in a distributed environment ready for deployment using Docker. It extends Simod with an HTTP API and task management using Celery (RabbitMQ and Redis).
The managed instance of Simod HTTP is most likely running (no uptime guarantees 🫣) at http://simod.cloud.ut.ee/api/v1/.
Check the API documentation at http://simod.cloud.ut.ee/api/v1/docs or http://simod.cloud.ut.ee/api/v1/redoc for more information.
To start using it, submit a discovery job with an event log file:
curl -X POST "http://simod.cloud.ut.ee/api/v1/discoveries/" -H "content-type: multipart/form-data" -F event_log=@<event_log_file>
This will run the default discovery configuration. To provide your own configuration, add a configuration file to the request too:
curl -X POST "http://simod.cloud.ut.ee/api/v1/discoveries/" -H "content-type: multipart/form-data" -F event_log=@<event_log_file> -F configuration=@<configuration_file>
docker compose up --build
After the services are up and running, you can access the following services:
- The HTTP API is available at http://localhost:8000/v1/ with the specification at http://localhost:8000/docs and http://localhost:8000/redoc.
- The Celery Flower dashboard is available at http://localhost:5555.
To fetch discoveries, run:
curl -X GET "http://localhost:8000/api/v1/discoveries"
To create a discovery, submit at least an event log file:
curl -X POST "http://localhost:8000/api/v1/discoveries/" -H "content-type: multipart/form-data" -F event_log=@./tests/assets/AcademicCredentials_train.csv
To provide your own configuration, add a configuration file to the request too:
curl -X POST "http://localhost:8000/api/v1/discoveries/" -H "content-type: multipart/form-data" -F event_log=@./tests/assets/AcademicCredentials_train.csv -F configuration=@./tests/assets/sample.yaml
To install the project locally, run:
# with poetry
pip install poetry
poetry install
# or without poetry
pip install -r requirements.txt
pip install .
See Configuration management with Ansible.
Single-button deployment can be triggered from the GitHub Actions workflow. Celery Flower dashboard is accessible at https://simod.cloud.ut.ee/flower.