No description
This repository has been archived on 2026-04-20. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Python 96.3%
  • Shell 3.1%
  • Dockerfile 0.6%
Find a file
Carla Gouws e7dd99d81b
Some checks failed
build / build (push) Has been cancelled
build / release (production) (push) Has been cancelled
build / release (staging) (push) Has been cancelled
Merge pull request #24 from binkhq/add_copy_to_dockerfile
add copy to dockerfile
2024-04-16 11:28:24 +01:00
.github/workflows RET-2598 Plutus git and deployment improvements (#22) 2024-04-15 10:14:17 +01:00
app fix: 🐛 Squaremeal request not appearing in DW (#20) 2024-03-21 14:37:07 +00:00
scripts scripts 2024-02-22 13:02:08 +00:00
tests revert git weirdness 2024-02-26 11:21:53 +00:00
.env.example add example env 2023-02-10 11:20:48 +00:00
.gitignore revert git weirdness 2024-02-26 11:21:53 +00:00
Dockerfile move WORKDIR 2024-04-16 11:26:48 +01:00
poetry.lock RET-2598 Plutus git and deployment improvements (#22) 2024-04-15 10:14:17 +01:00
pyproject.toml RET-2598 Plutus git and deployment improvements (#22) 2024-04-15 10:14:17 +01:00
README.md refactor 2023-02-17 16:02:34 +00:00
settings.py Fix RABBITMQ_DSN environment variable 2023-07-20 19:13:05 +01:00
tox.ini add tox.ini for flake8 2023-02-15 11:46:31 +00:00

Plutus

Plutus is a service for facilitating communication between Harmonia and our data warehouse. Reads Harmonia's audit logs from a message queue, translates the data to a format required by the data warehouse and puts it onto another queue.

Pre-requisites

Configuration

Project configuration is done through environment variables. A convenient way to set these is via the .env file in the project root. See settings.py for configuration options that can be set in this file.

Your code editor should support loading environment variables from the .env file either out of the box or with a plugin. For shell usages, you can have poetry automatically load these environment variables by using poetry-dotenv-plugin, or use a tool like direnv.

Running the Project

python message_consumer.py
python dead_letter_consumer.py

The consumer modules can be found in the project's root directory. Dead letter consumer is necessary for retries.

Deployment

There is a Dockerfile provided in the project root. Build an image from this to get a deployment-ready version of the project.

Unit Tests

pytest tests

Tests will be autodiscovered.