NVIDIA / NVIDIA/OpenShell

feat(observability): define gateway-to-exporter extension contract

Aperta
#3,224 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

state:triage-needed
Lingua principale
Rust
Stelle
8.7k
Fork
1.3k
Merge medio
2g 7h
PR unite (30g)
243

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Non sono indicati file di implementazione, test o punti di ingresso. Inizia esaminando la documentazione dell’architettura e le issue correlate #1055, #2745 e #2762; completato significa avere un contratto gateway-to-exporter concordato e documentato che copra record, lacune, isolamento, installazione, configurazione e controlli di integrità.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
observability
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Attiva
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.