> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Arquitetura e operações

> Siga os padrões de arquitetura, observabilidade e operação que todo plugin deve cumprir para interoperar com o Midaz e rodar em produção.

Plugins no ecossistema Lerian devem ser projetados com interoperabilidade, escalabilidade e resiliência em mente. Esta seção descreve os padrões arquiteturais e de infraestrutura que garantem que seu plugin se conecte ao Midaz através de suas interfaces padrão e funcione de forma confiável em produção.

Estes são **requisitos obrigatórios** para toda solução de parceiro publicada no Marketplace da Lerian.

## Linguagem de programação e arquitetura

***

Você é livre para escolher a linguagem de programação que melhor se adequa ao seu plugin, mas lembre-se de que a stack da Lerian é construída principalmente em **Golang**, e sua solução deve interoperar com ela através de suas interfaces padrão.

**Recomendamos:**

* Design container-first usando **Docker**.
* **Domain-Driven Design (DDD)** para modularidade limpa.
* **Isolamento** de responsabilidades e práticas compatíveis com microsserviços.

## Requisitos do modelo MSP

***

Todos os plugins devem ser projetados para rodar sob o modelo **Managed Service Provider (MSP)**, com:

* **Infrastructure as Code (IaC)** documentada, preferencialmente em Terraform.
* **Helm Charts** para deployments em Kubernetes.
* Deploy declarativo com **GitOps**.

<Danger>
  GitOps é obrigatório para garantir deployments em produção rastreáveis e previsíveis entre ambientes.
</Danger>

## Observabilidade

***

Plugins devem ser **observáveis por design**, incluindo:

* Logs estruturados
* Métricas específicas do domínio
* Rastreamento distribuído

Todos os dados de observabilidade devem se integrar com **OpenTelemetry (OTel)** e suportar exportação **OTLP**.

<Tip>
  Destinos comuns incluem Datadog, Prometheus e outras ferramentas de APM.
</Tip>

## Auditabilidade e rastreabilidade

***

Se seu plugin lida com transações, ele deve se integrar com **Trillian** ou uma solução equivalente para:

* Logs de auditoria imutáveis e verificáveis
* Verificação de integridade (compatível com off-chain)

<Warning>
  Plugins que impactam dados financeiros sem auditabilidade não passarão na homologação.
</Warning>

## Autenticação e autorização

***

Todo plugin deve se integrar com o Access Manager da Lerian, nosso plugin de identidade e controle de acesso.

<Note>
  Isso garante uma experiência de autenticação unificada para os clientes. Para mais informações, consulte o [Guia do Access Manager](/pt/platform/access-manager/access-manager).
</Note>
