Configuration library for devon4net webapi template
$ dotnet add package Devon4Net.Infrastructure.AWS.Commondevon4net is a real Clean Architecture designed templates to build cloud native solutions (AWS Serverless/Lambda), microservices, WebAPI applications and protobuf applications.
It is build to simplify and standarize the development life-cycle by means of the Microsoft's .Net stack.
All functionalities are built to work as individual and configurable components (well-defined json settings). So, that means you can use them separately or even use all of them in a single application.
Some key-features are:
Included features:
Cloud Native AWS : - Serverless API project and Lambda Project with multifunction support able to manage secrets as configuration settings, S3, CDK...
Logging: - Text File - Sqlite database support - Serilog Seq Server support - Graylog integration ready through TCP/UDP/HTTP protocols - API Call params interception (simple and compose objects) - API error exception management
Swagger: - Swagger autogenerating client from comments and annotations on controller classes - Full swagger client customization (Version, Title, Description, Terms, License, Json end point definition) - Easy configuration with just one configuration node in your settings file
JWT: - Issuer, audience, token expiration customization by external file configuration - Token generation via certificate - MVC inherited classes to access JWT user properties - API method security access based on JWT Claims
CORS: - Simple CORS definition ready - Multiple CORS domain origin definition with specific headers and verbs
Headers: - Automatic header injection with middleware. - Supported header definitions: AccessControlExposeHeader, StrictTransportSecurityHeader, XFrameOptionsHeader, XssProtectionHeader, XContentTypeOptionsHeader, ContentSecurityPolicyHeader, PermittedCrossDomainPoliciesHeader, ReferrerPolicyHeader
Reporting server: - Partial implementation of reporting server based on My-FyiReporting (now runs on linux container)
Testing: - Integration test template with sqlite support - Unit test template - Moq, xunit frameworks integrated
Circuit breaker: - Integrated with HttpClient factory - Client Certificate customization - Number of retries customizables
LiteDb: - Support for LiteDB - Provided basic repository for CRUD operations
RabbitMq: - Use of EasyQNet library to perform CQRS main functions between different microservices - Send commands / Subscribe queues with one C# sentence - Events management: Handled received commands to subscribed messages - Automatic messaging backup when sent and handled (Internal database via LiteDB and database backup via Entity Framework)
MediatR: - Use of MediatR library to perform CQRS main functions in memory - Send commands / Subscribe queues with one C# sentence - Events management: Handled received commands to subscribed messages - Automatic messaging backup when sent and handled (Internal database via LiteDB and database backup via Entity Framework)
SmaxHcm: - Component to manage Microfocus SMAX for cloud infrastructure services management
CyberArk: - Manage safe credentials with CyberArk
AnsibleTower: - Ansible automates the cloud infrastructure. devon4net integrates with Ansible Tower via API consumption endpoints
gRPC+Protobuf: - Added Client + Server basic templates sample gRPC with Google's Protobuf protocol using devon4net
Kafka: - Added Apache Kafka support for deliver/consume messages and create/delete topics as well