feat(observability): define gateway-to-exporter extension contract
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Área
- observability
Línea de trabajo
No se nombran archivos de implementación, pruebas ni puntos de entrada. Empieza revisando la documentación de arquitectura y los issues relacionados #1055, #2745 y #2762; terminado significa contar con un contrato gateway-to-exporter acordado y documentado que cubra registros, brechas, aislamiento, instalación, configuración y comprobaciones de salud.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
User Story
As an OpenShell operator, I want a simple, supported way to send observability data to my existing tools without assembling separate collectors.
Problem Statement
The observability work under #1055 needs a shared boundary between OpenShell producing authoritative records and an exporter processing them for customer destinations.
Impact / Why This Matters
Destination-specific formats, credentials, storage, queues, and retries add work and dependencies to the gateway. An external exporter can handle that work and scale independently. The gateway still carries collection and relay costs.
Proposed Design
Supervisor → Gateway → External exporter → Customer tools
- Supervisor: emit structured signals and source-health information through its existing authenticated gateway connection. No additional exporter connection or heavy export processing.
- Gateway: expose an authenticated, read-only, scoped source that preserves native records, authoritative identity and context, and reports known gaps and recovery limits. Keep telemetry resource use bounded.
- Exporter: handle destination-specific transformations, additional redaction, buffering, retries, and delivery outside the gateway.
Make this a first-class integration with one documented installation, configuration, and health-check workflow. Operators should not need to assemble multiple collectors.
Operational delivery and optional evidence processing can be functions within the same exporter deployment. Ordinary observability must not require evidence infrastructure; detailed evidence behavior remains in #2745.
This proposal defines the shared integration boundary for work such as #2762. Transport and storage choices remain open.
Acceptance Criteria
- Structured records reach a configured destination without parsing human-readable shorthand.
- Recovery limits and known gaps are visible.
- Slow exporters or destinations do not block gateway control operations or sandbox enforcement.
- Installation, configuration, and health checks follow one supported workflow.
Alternatives Considered
Gateway-owned destination integrations reduce deployment components but expand gateway responsibilities. Independent collectors leave operators assembling the integration themselves.
Checklist
- I've reviewed existing issues and the architecture docs
- This is a design proposal, not a "please build this" request
- Lenguaje dominante
- Rust
- Estrellas
- 8.7k
- Forks
- 1.3k
- Merge medio
- 2 d 6 h
- PR fusionados (30 d)
- 297
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/OpenShell
-
area:docs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
state:triage-needed
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
area:cli state:validated
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
state:triage-needed
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
area:build spike state:review-ready state:stale
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
Todos los issues de NVIDIA/OpenShell
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
state:needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
zed-industries/zed#64680 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
RustPython/RustPython#8802 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
TheLarkInn/aipm#2390 ·