-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Home | Overview | Architecture | Idempotencia-e-Replay | API | Operations | Validation-Guide
Laboratório de telemetria OT/IT em Django, feito para ser lido, executado e validado rápido. Esta wiki aprofunda o que não cabe no README sem poluí-lo — decisões de design, limites reais do sistema e roteiros de validação.
fonte OT → ingestão → regras de qualidade → PostgreSQL → API JSON → dashboard
-
Overview — o que é o projeto e por que existe
- Capacidades principais e posicionamento público
- O problema que ele torna visível: a forma do dado na origem
- O que está deliberadamente fora de escopo
-
Architecture — estrutura de runtime e fronteiras
- Componentes e o que cada um pode ou não conhecer
- A ABC
TelemetrySourcee os três adapters - Modelo de dados e intenção de design
-
Idempotencia-e-Replay — a garantia central, e seus limites
- Por que a deduplicação vive no banco e não na aplicação
- O teste negativo que sustenta a garantia
- O que não é garantido, explicitamente
-
API — contrato público JSON
- Endpoints, formato de payload e campo de lineage
- O que não faz parte do contrato
-
Operations — setup e comandos do dia a dia
- Docker e execução local
- Geração de telemetria por fonte
- Checagens rápidas de sanidade
-
Validation-Guide — validação end-to-end
- Roteiro em terminais paralelos
- Critérios objetivos de sucesso
- Validação opcional de tracing
| Área | Estado atual |
|---|---|
| Runtime | Django 5.2 / Python 3.12 |
| Persistência | PostgreSQL 16 via Docker Compose; SQLite como fallback |
| Interface | Dashboard server-rendered com HTMX e Chart.js |
| Fontes de telemetria | Simulador determinístico, Modbus TCP, OPC-UA |
| Idempotência |
UniqueConstraint(sensor, timestamp) + bulk_create(ignore_conflicts=True)
|
| Observabilidade | OpenTelemetry com Jaeger 2, opt-in via OTEL_ENABLED
|
| Validação | 85 testes automatizados, cobertura 89% + manual end-to-end |
Cobre exclusivamente o projeto público. Planejamento interno, histórico de sessão e notas privadas ficam fora.
A wiki é um repositório git próprio, separado do repositório de código:
git clone https://github.com/Roberton003/labtelemetry.wiki.git /tmp/labtelemetry-wiki
cd /tmp/labtelemetry-wiki
# editar as páginas .md
git add -A && git commit -m "docs: atualiza wiki" && git pushNo repositório de código, as páginas-fonte vivem em docs/wiki-seed/ e são publicadas por scripts/publish_wiki.sh — edite lá para manter as duas cópias em sincronia.