NVIDIA / NVIDIA/OpenShell

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

Open
#3,224 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

state:triage-needed
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files, tests, or entry points are named. Start by reviewing the architecture docs and related issues #1055, #2745, and #2762; done means an agreed, documented gateway-to-exporter contract covering records, gaps, isolation, installation, configuration, and health checks.

Written by the indexing model from the issue text.

Assessment

Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.