An example Minimal Api application with OpenAPI, Swashbuckle, and API versioning using clean architecture.
It also include the following:
- KeyCloak IDP
- .NET Aspire
- .NET 8 ExceptionHandlers
- Redis OutputCaching
- CorrelationId handling using HeaderPropagation
- OpenTelemetry with custom metrics
- Integration tests using TestContainers
- Pub Sub using MassTransit
- API versioning
- Auditing using Audit.Net
This template was initially based on Jason Tyler's Template, but changed as I implement and review new .NET features
- Git Clone the repo to your device
- Open command prompt and set the current folder to the root of the repo
- Execute 'dotnet new install .' command in the command prompt
- While in command prompt create a folder in the location you want the template code to be created
- Execute 'dotnet new ca-template -o "New Micro Service Name here"' command in the command prompt
- If you need to uninstall the template
- Open command prompt and set the current folder to the root of the repo
- Execute 'dotnet new uninstall .' command in the command prompt
KeyCloak is setup as IDP with some defaults:
Groups
- Admin
- Standard
Roles
- standard-user-role
- Can Create, Update and View
- admin-user-role
- Can Delete
Users (Password is password)
- AdminUser
- StandardUser