Skip to content

Implement Crossplane Service Provider #26

@In-Ko

Description

@In-Ko

Understand the Task

Description
Implement a new service provider for Crossplane, based on the MCP Architecture V2.
The Crossplane Service Provider (CSP) should be able to make Crossplane and the usage of arbitrary Crossplane providers available to the MCP users.

https://github.com/openmcp-project/service-provider-crossplane

To accomplish this, a part of the Crossplane Package Manager has to be reimplemented to configure the provider operators to manage the MCP when running on external clusters. This custom package manager ("crossplane-pkg") will have it's own github repository.

Any further valuable resources.

Repositories for both operators (service-provider-crossplane and crossplane-pkg) are still on the internal GH instance.

What is required to accept the Task as done.

Implementation

  • The service-provider-crossplane manages a new "Crossplane" instance resource
  • It creates a new namespace in its worker cluster
  • Installs Crossplane (core and rbac-manager) in the new namespace with the native package manager disabled, and configured to see the MCP instead of the local cluster
  • Installs the custom crossplane-pkg controller that is configured to install the provider deployments in the local cluster and configures them to see the MCP instead of the local cluster
  • Create a repository for crossplane-pkg
  • Configure RBAC for crossplane-pkg and define RBAC needed by service-provider-crossplane itself
  • crossplane-pkg removes the provider deployments and other resources on deletion
  • Configure webhooks for the providers
  • Initialize Pipeline
  • Write tests

Done Criteria

  • Finish implementation
  • Code has been reviewed by other team members
  • Internal technical Documentation created/updated
  • New / changed code is documented
  • Unit Tests created for new code or existing Unit Tests updated
  • Integration Test Suite updated
  • Enduser Documentation updated (if applicable)
  • Successful demonstration in Review

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/open-mcpAll ManagedControlPlane related issueskind/taskGeneral task that needs to be done.

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions