Settings

The Devprime platform provides several parameters for customizing the configurations and adapting to the various needs of the applications.

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.


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.

State

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.

Web

The web session gathers configurations, such as exposed endpoints, Swagger enablement, standard HTTP error codes, viewing HTTP request details, and handling invalid requests (BadRequest).

Stream

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.

Observability

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.

Security

The security adapter makes it easy to integrate with Keycloak, Auth0 and other identity providers, simplifying security adoption across APIs and web services.

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.

Custom

Use the custom parameter for custom configurations of the application as required by the project

Last modified January 10, 2024 (967dcac3)