This project is a simple scheduler that injects messages into the console with a regular interval.
The project also doubles as a data initializer, such that this project is able to initialize a PostGres database for use with MassTransit communication.
For development purposes, the project can start without any connection strings, but it will not use a database for persisting the quartz state and not communicate with a message bus.
This service is currently self-contained and does not accept any external commands, but still exposes a web server. This web server interface should not be exposed.
Variable | Description |
---|---|
ENVIRONMENT__REDIRECTURL | URL used to redict requests to the root |
DATABASE__ADMINCONNECTIONSTRING | Connectionstring for updating the schema used by Quartz |
DATABASE__CONNECTIONSTRING | Connectionstring for persisting the state used by Quartz |
MESSAGING__ADMINCONNECTIONSTRING | Connectionstring for updating the schema for the messaging bus |
MESSAGING__CONNECTIONSTRING | Connectionstring for communicating over the message bus |
SERILOG__SOURCETOKEN | The token used to log data from serilog |
SERILOG__ENDPOINT | The serilog endpoint to send logs to |
SECURITY__MAXREQUESTSPERSECONDPERIP | The maximum number of request from a single IP per second before throttling it |
SECURITY__FILTERPATTERNS | Boolean toggling filtering of scanning patterns |
SECURITY__RATELIMITENABLED | Boolean toggling if IP rate limiting is enabled |
It is recommeded that you configure variables by creating a local.environmentvariables.json
file in the project folder. This file is excluded from Git and Docker, making it less likely that you accidentally leak test variables.