Skip to content

Publish the generated catalog at a stable raw JSON tap URL #19

@eric-tramel

Description

@eric-tramel

Parent epic: #15

Depends on: #17

Why

DataDesigner needs one default NVIDIA tap URL that users can consume without GitHub API auth. Since the generated catalog is checked in at catalog/plugins.json, the default should be the unauthenticated raw GitHub URL for that file.

Default NVIDIA tap URL:

https://raw.githubusercontent.com/NVIDIA-NeMo/DataDesignerPlugins/main/catalog/plugins.json

The tap contract is transport-generic: any HTTP(S) URL or local path that resolves to raw schema v2 JSON is a tap. Human docs should link to the raw JSON URL; they are not the machine-readable catalog delivery path.

Implementation

  • Add [tool.ddp.tap].catalog-url with the exact default URL above as part of Add repo-level tap metadata config for ddp tooling #21.
  • Keep catalog/plugins.json as the checked-in generated source of truth.
  • Do not add a docs/Pages publishing requirement for the machine-readable tap.
  • Document freshness semantics:
    • .../main/catalog/plugins.json tracks accepted main and is mutable.
    • tag-pinned raw URLs are immutable snapshots, for example https://raw.githubusercontent.com/NVIDIA-NeMo/DataDesignerPlugins/<tag-or-sha>/catalog/plugins.json.
    • release assets can be added later only if we need a separate snapshot distribution mechanism.
  • Add or preserve CI coverage through make check-catalog plus schema v2 tests from Generate schema v2 catalog fields from ddp sync catalog #17.
  • Update README/docs to identify the default URL and explain that external taps may use any unauthenticated raw JSON endpoint or local file path.

Acceptance criteria

  • The default NVIDIA tap URL is exactly documented as https://raw.githubusercontent.com/NVIDIA-NeMo/DataDesignerPlugins/main/catalog/plugins.json.
  • catalog/plugins.json remains generated and checked in.
  • CI validates the checked-in catalog shape and freshness through make check-catalog and schema v2 tests.
  • No issue, docs page, or generated workflow requires GitHub Pages to expose the machine-readable catalog.
  • DataDesigner can consume the URL without GitHub API authentication.

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestplugin tapPlugin catalog and tap ecosystem work

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions