Skip to content

Epic: kcp-aware service provider runtime #689

Description

@n3rdc4ptn

Understand the Epic

Our service-providers should be made kcp compatible. For that some changes in the opencontrolplane-runtime are needed.

Following things are ...:

  • service providers need to have a field in their ProviderConfig for the kcp access
    • workspace name / path
    • workspace secret for accessing it and creating APIExports, reconciling APIExportEndpointSlices, etc
  • ProviderConfig CRD will still be created by the service provider in the platform cluster
  • Service API CRD should be created by the opencontrolplane-runtime in the Onboarding cluster and in the kcp workspace as an APIExport
    • currently this is handled by the service providers individually in the init job.
    • or: opencontrolplane-runtime registers the Service API in the kcp workspace as an APIExport at runtime when the ProviderConfig contains the "kcp" access information. So this needs to be done when reconciling the ProviderConfig.
  • Reconciling of Service API
    • implement a kcp reconciler for the APIExports and the ServiceAPI inside a consumer workspace so the service-provider does not need massive changes and can reuse its reconciling (CreateOrUpdate / Delete) code for kcp as well. The runtime should just inform the service provider about a new "ordering" event.
  • workerless
    • the runtime should help service-providers in ordering workload clusters easily and be workerless as it is a requirement for kcp support.

Context / Background

Based on this ADR: openmcp-project/docs#204

User Stories or tasks

How to solve this for e2e tests. Testing solution written by @ntnn https://github.com/ntnn/kcp-testcontainer

What is required to accept the Epic as finished.

  • having a runtime which lets service-providers support being ordered via kcp
  • prototype implementation of it in one service-providers

Dependencies of this Epic

No response

Risks of this Epic

No response

Known Stakeholders of this Epic

No response

Milestone Definitions for this Epic.

No response

Metrics Definition for this Epic.

No response

Any further valuable resources.

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

kind/epicEpic covers multiple issues/taskssig/extensibilityAll topics related to special interests group openMCP extensibility

Type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions