Pubsub
Nemesis utilizes the Dapr Publish & subscribe building block for its internal queueing system. Currently, Nemesis utilizes RabbitMQ for the queue, but this can easily be easily swapped for alternative systems like Kafka or Redis Streams by ensuring the provider is stood up in the docker-compose.yml, modifying the pubsub.yaml file with an alternative provider, and ensuring the connection string is passed through via an environment variable as in the current pubsub.yaml example.
Workflows
Dapr Workflows enable developers to build reliable, long-running business processes as code. They provide a way to orchestrate microservices with built-in state management, error handling, and retry logic for complex distributed applications.
Secrets
Nemesis uses the Dapr Secrets management building block to protect secrets internally (like Postgres connection strings). Currently the Local environment variables component is used. These secrets are also refereced within some Dapr files such as pubsub.yaml. This reason for using this abstraction is so alternative secret management systems like Vault or Kubernetes secrets can be used in the future:
POSTGRES_CONNECTION_STRING string.