Skip to main content

Capa do Projeto

DMG Diagnostic & Repair Agent

Agent Simulation

🚀 Instalação

Este pacote está publicado no PyPI (Python Package Index) e pode ser instalado facilmente usando pip.

pip install dmg-diagnostic-agent

💻 Como Usar

Após a instalação, você pode executar o agente de diagnóstico diretamente do seu terminal. O agente precisa de duas informações para funcionar: a URL do seu painel para onde ele enviará o diagnóstico e um token de autenticação.

dmg-diagnostic-agent --upload-url <URL_PARA_UPLOAD> --token <SEU_TOKEN_DE_API>

Argumentos:

  • --upload-url: A URL completa do endpoint no seu painel de controle que foi projetado para receber os dados do diagnóstico (Ex: https://seusite.com/api/diagnostic/upload).
  • --token: O token de API seguro para autenticar o agente no seu backend.

📌 Visão Geral

O DMG Diagnostic & Repair Agent é uma ferramenta poderosa que, integrada a um painel de controle, permite:

  • Diagnosticar: Executar uma análise completa no ambiente do servidor, identificando problemas de sistema, configuração, segurança e projeto.
  • Reportar: Enviar um relatório detalhado para uma plataforma centralizada.
  • Reparar (Novo!): Executar ações de correção de forma segura e controlada para resolver problemas comuns, com um sistema de rollback automático para garantir a integridade do sistema.

Este módulo não altera a arquitetura existente do seu painel, apenas adiciona novas rotas, lógica de negócio e interfaces para gerenciar diagnósticos e reparos.

⚙️ Novo: O Safe Repair Engine

A versão 2.0 introduz o Safe Repair Engine, um orquestrador robusto para aplicar correções automaticamente. Ele opera com um fluxo de trabalho que prioriza a segurança e a estabilidade:

  1. Validação de Ação (Whitelist): Antes de qualquer ação, o motor verifica se o reparo solicitado (restart_nginx, renew_ssl, etc.) está em uma lista de comandos permitidos. Ações não autorizadas são bloqueadas.
  2. Criação de Snapshot: Se a ação for permitida, o motor cria um snapshot do estado atual do sistema. A estratégia primária é usar git, criando um commit que serve como ponto de restauração atômico.
  3. Execução do Comando: O comando de reparo associado à ação é executado. Qualquer falha na execução é capturada imediatamente.
  4. Validação Pós-Reparo: Após a execução, um motor de validação verifica se o problema foi realmente resolvido (ex: nginx -t para validar a configuração do Nginx).
  5. Rollback Automático: Se a execução do comando ou a validação pós-reparo falharem, o motor aciona o Rollback Manager, que reverte o sistema para o snapshot criado no passo 2, garantindo que o ambiente retorne ao seu estado original e funcional.

Este ciclo garante que as tentativas de reparo ou sucedem e são validadas, ou falham e não deixam nenhum impacto negativo no sistema.

🏗️ Arquitetura

O fluxo é dividido em três camadas:

  1. Agente Python (externo)
  2. Backend (integração + processamento)
  3. Painéis (Cliente e Admin)

🔄 Fluxo Completo

  1. Cliente executa o agente no servidor.
  2. O agente envia um JSON estruturado para o backend.
  3. O backend valida, armazena e processa o diagnóstico.
  4. Opcionalmente, o backend pode solicitar uma ação de reparo ao agente.
  5. O cliente visualiza resumo no painel.
  6. Após pagamento, relatório completo é desbloqueado.
  7. Admin pode visualizar, gerenciar e iniciar reparos.

🧩 Endpoints Criados

POST /api/diagnostic/upload

Recebe o relatório do agente.

  • Ações: Processa, calcula health score, classifica e salva.

GET /api/diagnostic/my-reports

Lista relatórios do cliente autenticado.

GET /api/diagnostic/:id

Retorna relatório específico (resumo ou completo, dependendo do pagamento).

POST /api/repair/:id/initiate (Exemplo)

Inicia uma ação de reparo para um diagnóstico específico.

GET /api/admin/diagnostic/all

Lista todos os relatórios para o administrador.

🗄️ Estrutura do Banco

Tabela: diagnostics (sem alterações nesta versão)

Campo Tipo Descrição
id UUID Identificador único
user_id UUID Cliente
project_name string Nome do projeto
scan_type string basic/deep
health_score int 0–100
severity_level string low/medium/high/critical
summary_json JSON Resumo
full_report_json JSON Relatório completo
is_unlocked boolean Liberado após pagamento
payment_status string pending/paid
admin_notes text Observações internas
created_at timestamp Data

🔐 Segurança

  • Token obrigatório no upload.
  • Rate limit e limite de payload.
  • Logs de auditoria.
  • Relatórios armazenados com segurança.
  • Modificações no servidor do cliente são realizadas exclusivamente através do Safe Repair Engine, que opera com uma lista de permissões, snapshots e rollback automático para garantir a integridade do sistema.

📡 Estrutura do JSON Recebido

{
  "agent_version": "2.0.0",
  "scan_type": "deep",
  "system": {},
  "ssl": {},
  "nginx": {},
  "project": {},
  "build": {},
  "security": {},
  "errors_summary": [],
  "timestamp": ""
}

🎯 Resultado Final

O sistema passa a oferecer:

  • Diagnóstico automatizado.
  • Reparo Automatizado e Seguro.
  • Classificação inteligente de problemas.
  • Monetização integrada.
  • Gestão técnica centralizada.
  • Base sólida para um produto SaaS DevOps.

Metadata

Release files for dmg-diagnostic-agent 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dmg-diagnostic-agent 2.0.0
File Size Uploaded Provenance
dmg_diagnostic_agent-2.0.0.tar.gz 5.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dmg-diagnostic-agent 2.0.0
File Interpreter ABI Platform
dmg_diagnostic_agent-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / dmg_diagnostic_agent-2.0.0.tar.gz

Download URL dmg_diagnostic_agent-2.0.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
35d89cadbc85e49288f4ad58bc472d18a0248ec4dfb1ebed6e7bcaf7b9dcfd7d
BLAKE2b-256 checksum
How to use checksums
4c223a268ff5f94f133fd4ce150ab11f2c0c976a469bb4e068e822aa9b235edd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.10

Release files / dmg_diagnostic_agent-2.0.0-py3-none-any.whl

Download URL dmg_diagnostic_agent-2.0.0-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42068d16bcfe84b357b5e8cc6de75e84ba5605e5f2b111317bfa2e5d49f66a3a
BLAKE2b-256 checksum
How to use checksums
a73bdea60638303ebb042fcce214b6756051c7c302223657cbebb92033651813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.10

Security for dmg-diagnostic-agent 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page