Modules
Each Griffin package owns a focused integration. Install only the packages your application uses and register each integration explicitly.
Messaging
- Wolverine: durable messaging, PostgreSQL inbox/outbox, local queues, and RabbitMQ transport.
Core and Web
- Core: CQRS contracts, domain models, events, exceptions, and pagination.
- Web: minimal endpoints, API versioning, correlation IDs, and options helpers.
Persistence
- EF Core: PostgreSQL contexts, migrations, seeding, and transactions.
- MongoDB: contexts, repositories, and unit-of-work abstractions.
- EventStoreDB: event-sourced storage, projections, and subscriptions.
Pipeline Behaviors
- Caching: request caching and invalidation behaviors.
- Validation: FluentValidation pipeline behavior.
- Logging: request logging and slow-call warnings.
- Polly: synchronous retry helper.
Operations and Integrations
- JWT: bearer authentication and default policies.
- OpenAPI: OpenAPI, Swagger UI, and Scalar.
- OpenTelemetry: logs, metrics, and traces.
- Health Check: health endpoints and provider probes.
- Problem Details: RFC 7807 error responses.
- Mapster: mapping registration.
Utilities and Testing
- Utils: type discovery and synchronization helpers.
- TestBase: integration-test fixtures and Testcontainers.
Shared Conventions
Griffin targets .NET 10. Package versions are shared across each release. Configuration values belong in application configuration; use environment variables or a secret store for credentials.
Examples describe Griffin’s integration layer. Consult the linked upstream documentation for the full behavior of each underlying framework.