App
The App session brings together the main configurations of the application, including the license key, the Debug modes with detailed logs, configurations for multi-tenant SaaS environments, and Idempotency.
When starting the development of a new microservice using the Devprime CLI, you will be offered a modern software architecture project with an evolutionary approach. The components will have intelligent behaviors and parameters for customizing the behavior of the application and the Adapters.
Opening Settings from Visual Studio Code
code src/App/appsettings.json
Item | — |
---|---|
App | The App session brings together the main configurations of the application, including the license key, the Debug modes with detailed logs, configurations for multi-tenant SaaS environments and the Idempotency. |
Web | The web session gathers configurations such as exposed endpoints, Swagger activation, default HTTP error codes, displaying HTTP request details, and handling invalid requests (BadRequest). |
State | The State section brings together the database, cache, and storage configurations with the access credentials, as well as timeout, retry, and circuit-break configurations. This is because the Devprime platform offers these features automatically to the configured services. For example, you can configure one item with MongoDB and another with Redis, because Devprime takes a polyglot persistence approach. |
Stream | The Stream section gathers the settings and credentials for accessing the Stream platform, as well as timeout, retry, and circuit-break settings, since the Devprime platform offers these features automatically to the configured services. You can, for example, configure one item with RabbitMQ and another with Kafka in the same application, as Devprime offers a multi-stream approach. |
Services | The Services section gathers the settings and credentials for accessing external APIs, whether public or private, that require authentication. In addition, it encompasses timeout, retry, and circuit-break settings. This is because the Devprime platform offers these features automatically to the configured services. For example, when enabling access to an external API, if slowdowns occur, the retry mechanism kicks in; If the problem persists, the circuit-break will go into operation. |
Observability | The Observability section gathers the settings for displaying the Logs, including the microservice name, date, time, details, and distributed trace. This section also allows you to export using OpenTelemetry and metrics. |
Security | The Security section gathers the security settings used in the project, such as the protection of public API endpoints or web pages, through an identity provider using OAuth 2.0 / OIDC. This integration makes it simple to connect to services such as Keycloak, Auth0, Azure AD, AWS Cognito, Google Security, and others. |
Custom | The Custom section gathers the custom settings, allowing the developer’s parameters to be customized for the application. This makes it possible for all additional configurations required for the business to be grouped and standardized in one place, making it simple to maintain these extra parameters. |
In the production environment, these parameters must be passed as environment variables to the containers.
We recommend using vaults available from cloud providers such as Microsoft Azure, Amazon AWS, Google Cloud, or external providers such as HashiCorp Vault.
The App session brings together the main configurations of the application, including the license key, the Debug modes with detailed logs, configurations for multi-tenant SaaS environments, and Idempotency.
The State Adapter is responsible for database persistence, caching, and storage on the Devprime platform. The Adapter State can be customized with a variety of options, including MongoDB, SQL Server, MySQL, PostgreSQL, ElasticSearch, Oracle, Redis, and other storage parameters such as Azure Store, AWS S3, Google Cloud Storage, and many others.
The web session gathers configurations, such as exposed endpoints, Swagger enablement, standard HTTP error codes, viewing HTTP request details, and handling invalid requests (BadRequest).
The Stream Adapter offers native connectivity with the main Stream services on the market, allowing you to use platforms such as RabbitMQ, Kafka and many other services just by exchanging the information in the configuration, enabling a rich experience in the development of microservices.
The Observability adapter offers Automatic Logging, Distributed Tracing in the OpenTemetry standard, and Metrics. In the settings it is possible to disable, configure Log settings in the local development environment.
The security adapter makes it easy to integrate with Keycloak, Auth0 and other identity providers, simplifying security adoption across APIs and web services.
The services adapter facilitates integration with external services HTTP, gRPC, GraphQL, as well as integration with secure API’s and support for Retry and CircuitBreak features.
Use the custom parameter for custom configurations of the application as required by the project