Skip to content

Roadmap: cloud-native, composable data products #1

Open
94 of 100 issues completed
Open

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

  • The maintainer wants to turn the completed data-product thesis into a new cloud-native portfolio product that can provision or integrate data sources, expose useful query APIs, compose products into larger products, and participate in data spaces.
  • The archived thesis proved a schema-driven product with inputs, outputs, REST, GraphQL, ownership, telemetry, catalog integration, and a dashboard, but packaged those capabilities as one coupled application.
  • The Open Data Mesh Data Product Descriptor Specification provides a technology-neutral descriptor intended for discovery, access, deployment, and composition.
  • W3C DCAT 3 standardizes catalogs, datasets, distributions, and data services. OpenAPI and AsyncAPI provide machine-readable contracts for request/response and event-driven interfaces.
  • The Eclipse Dataspace Protocol provides an interoperability path for catalog publication, usage-policy negotiation, and governed data transfer between autonomous participants.

Audience and problem

Data owners need a repeatable way to turn a new or existing source into a self-describing, operable data product. Data consumers need to discover, query, and compose those products without adopting the producer's implementation or central UI. Platform operators need declarative lifecycle and health signals without storing application data in the Kubernetes API.

Hypothesis

A Kubernetes controller with a small DataProduct API, standard interface descriptors and composable product references will let teams publish independently deployed data products that other products and applications can consume through their published APIs. Consumers own their UIs and transport; public metadata does not grant data access. Any client library is optional, and no product UI runtime is required for integration.

The maintainer chose API-only integration on 2026-10-14. #390 tracks the migration, beginning with the registry workspace in #391 and PR #393, followed by versioned contract/runtime retirement in #392 and Platform adoption. Legacy embedding work is historical delivery; its rollout acceptance is not a prerequisite for the new direction.

Success signal

Within 30 days of the foundation release:

  • one product backed by a platform-provisioned source and one product integrating an existing source are both discoverable through the public registry;
  • a third product composes at least one interface from each without copying their data or product-specific UI code;
  • the catalog discovers all three, and a consumer-owned application combines their published interfaces without importing publisher UI code;
  • an independent client consumes the same named output and standard API contract without a required proprietary library;
  • every product reports actionable readiness, interface, ownership, and dependency status while credentials remain in Kubernetes Secrets rather than CR fields.

Guardrails: no application data or credentials are stored in Kubernetes CRs; the registry does not execute publisher code or query product data; interfaces are allow-listed and machine-described; cross-product dependencies are explicit; and no data-space publication bypasses authentication, policy, or usage-control decisions. Legacy compatibility controls remain enforced until their coordinated retirement; source merge, release publication and installed acceptance remain separate evidence.

Smallest useful change

Ship and host a v1alpha1 foundation containing the DataProduct CRD, composition-aware readiness, a descriptor/registry API, a default-off descriptor-driven UI, one independently described demo product, an OCI image and Helm chart, and a production Platform deployment with public smoke tests.

Roadmap

  1. Bootstrap and host the v1alpha1 controller/API/UI foundation.
  2. Provision new data sources through pluggable Kubernetes resource references.
  3. Integrate existing sources and expose standard query contracts.
  4. Compose products with dependency, schema, and lineage status.
  5. Complete API-only integration, retire legacy UI declarations/runtime and verify independent consumer use (Make data product integration API-only #390).
  6. Add DCAT and Dataspace Protocol interoperability with policy-aware exchange.

Acceptance criteria

  • The roadmap is decomposed into first-class sub-issues with independent acceptance criteria.
  • The v1alpha1 API, compatibility guarantees, composition model, and UI trust boundary are documented under docs/adr/.
  • Controller, API, UI, image, and chart have automated tests and supply-chain checks.
  • The initial product is reachable on the Platform and verified through its real public user path.
  • At least one independent client consumes a named output through its standard API contract without adopting a product UI runtime or importing controller-specific code.
  • Success is measured after release and the roadmap is revised from evidence.

Rough size: XL, delivered as independently releasable children.

Activity

  1. added theissue type on Aug 29, 2026
  2. self-assigned this
    on Aug 29, 2026
  3. moved this to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Aug 29, 2026
  4. 77 remaining items

  5. devantler commented on Oct 17, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer (interactive Claude Code session)

    Strategy review, 2026-10-17

    Where KHoist is

    The foundation is broad and carefully tested. It covers composition, four source engines with real-database acceptance, DCAT and DSP catalogues, discovery, lineage, publisher preflight, signed releases and a user documentation site. The direction is settled on API-only integration (#390), and the KHoist rename is under way (#399).

    Production does not yet use any of the core promise. The Platform's deployment guide (docs/data-products.md, read today) keeps provisioning, engine providers, source exports, composition and DCAT switched off, and the trial has no database. The two live products serve sample data and public release data. This epic's success signal is therefore unmet: a product over a provisioned source, a product over an existing source, and a third product composing both. Two of its acceptance criteria are also open.

    Meanwhile the code carries thirteen environment switches, and twelve rollout issues wait to retire them. The oldest, #41, has waited since 2026-09-05. Features are arriving faster than they are adopted.

    Structure

    This epic has reached GitHub's limit of 100 sub-issues (94 closed), so new themes are top-level roadmap epics:

    Theme Issue Next step
    Adoption: real, composed products on the Platform #445 Spike #446: choose the source pair and the activation order. Spike #447: decide each release gate's lifecycle. Both are reading-only and ready to start.
    Stay inside upstream support windows #448 Chore #449: Kubernetes 1.34 reaches end of support on 2026-10-27, and the provider tests still run on kindest/node:v1.34.0.
    API-only integration #390 Continue #392's children. Draft PRs #442 and #444 are being finished by other runs.
    KHoist rename #399 Five open children across monorepo, platform, business-site and .github.
    DCAT and Dataspace Protocol #7 #126 → #389 → Spike #440, then #441.

    Upstream release review

    Direction

    Adoption before breadth. Order of work: #449 (fixed date), then #446, then #392's children, then #447.

    Decisions for the maintainer

    1. No new release gates while Run the first real, composed data products on the Platform #445 is open? I propose that no new switched-off release gate enters this repository until the first real product runs on the Platform, defects and security fixes excepted. This changes how new work is accepted, so it is your call.
    2. A persistent database on the Platform. The provisioned-source product needs a database volume, plus storage and backup capacity the trial does not have today. Decide the first real source pair and activation order for the Platform trial #446 will set out the options; the spend is your decision.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Epic.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions