Ir para o conteúdo

Configuração e ambiente

Os dois binários leem um arquivo YAML (--config, padrão /etc/peart/config.yaml), e cada um lê só as suas próprias seções. O config.example.yaml distribuído é a referência autoritativa e comentada, e não roda como está (o token de render dele é um placeholder que o validador rejeita). Esta página é o resumo dos campos; ver Primeira execução e configuração para o passo a passo.

Caminhos

Campo Significado
db_path O arquivo do banco SQLite.
master_key_path A chave mestra. Nunca pode ser igual a nem ficar dentro de uma raiz de dados; o boot recusa isso. Criada no primeiro boot se ausente.
evidence_root Evidências cifradas.
rendition_root, report_root Renditions e relatórios gerados, client-facing.
logo_root, avatar_root, installation_root Logos de cliente, avatares de conta, assets da instalação.

Todo caminho tem que existir e ser gravável pelo usuário que roda, exceto o pai de master_key_path, onde o PEART escreve a chave no primeiro boot.

Superfícies

Campo Significado
internal.listen_addr Endereço de escuta da superfície interna (ex.: :8080).
portal.listen_addr Endereço de escuta do portal (ex.: :8081).
internal.public_url, portal.public_url A URL base externa de cada superfície (esquema + host), de onde os links de inscrição e outros absolutos são montados. Opcional, normalizada (sem barra final), e quando setada tem que ser absoluta; https é exigido com tls: true.

TLS e sessões

Campo Significado
tls true significa que um proxy reverso termina TLS na frente; liga o HSTS.
accept_insecure_http Tem que ser true para tls: false subir.
session.inactivity_timeout, session.absolute_timeout Política de sessão compartilhada; padrão 1h / 12h. A inatividade não pode passar de um máximo fixo (4h).

Sidecar de renderização

Campo Significado
render.base_url Como o processo alcança o sidecar (http://127.0.0.1:8090 no systemd, http://peart-render:8090 no compose).
render.token Segredo compartilhado conferido em toda requisição de render; PEART_RENDER_TOKEN no ambiente o sobrepõe.
render.work_root O diretório de trabalho compartilhado dos jobs de render preparados.
render.timeout Timeout por render.

Notificações e o webhook de saída

Campo Significado
notification.severities Quais severidades de achado criam uma linha de notificação ao publicar. Omitir o bloco cai em critical e high; valor fora de critical, high, medium, low, info é erro de boot, então um erro de digitação falha alto em vez de nunca casar.
webhook.url Para onde o evento assinado é postado. Nenhuma url significa nenhum disparo e nenhum erro de boot, que é a forma documentada de deixá-lo desligado.
webhook.secret Chave HMAC-SHA256 compartilhada com que o corpo de toda requisição é assinado, no cabeçalho X-Peart-Signature. Uma url sem secret recusa subir.
webhook.timeout Timeout por requisição; omitido, cai em 5s.

O PEART nunca envia e-mail. O que ele emite é um evento só de identificadores, depois de um achado ser publicado numa severidade que a lista nomeia, ou de um relatório ser liberado ao portal, e o operador encaminha esse sinal único para onde ele precisa chegar (uma ponte de chat, um mailer, uma fila interna). O payload leva identificadores e classificação, nunca conteúdo de achado, pela mesma razão que a trilha de auditoria não copia conteúdo: o corpo de um webhook é o lugar menos controlado do deploy.

Ambiente

O PEART_RENDER_TOKEN é o único segredo que o processo interno e o sidecar precisam compartilhar; quando setado é preferido ao render.token, então um deploy por compose o mantém numa única entrada de .env que os dois containers leem. As units de systemd leem seu EnvironmentFile por serviço sob /etc/peart (peart.env, portal.env, render.env).