Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modular CAPI providers support #919

Open
DinaBelova opened this issue Jan 17, 2025 · 0 comments · May be fixed by #944
Open

Modular CAPI providers support #919

DinaBelova opened this issue Jan 17, 2025 · 0 comments · May be fixed by #944
Assignees
Labels
epic Large body of work, can be broken down into individual issues

Comments

@DinaBelova
Copy link
Collaborator

Goals
This epic focuses on enabling organizations to create and integrate custom cluster templates and Cluster API (CAPI) providers into k0rdent without modifying the core codebase. By providing an extension mechanism, integration framework, and comprehensive documentation, this solution will allow enterprises with custom infrastructure, compliance, or security requirements to meet their specific needs while maintaining the security and stability of the k0rdent platform.

  • Enable customization: Allow organizations to create and integrate custom cluster templates and providers without modifying k0rdent’s core codebase.
  • Support custom infrastructure: Provide a framework for custom CAPI provider integration that adheres to CAPI specifications.
  • Simplify adoption: Deliver documentation, examples, and tools to make template and provider creation straightforward.
  • Preserve security: Ensure custom templates and providers comply with the k0rdent security model.

Major deliverables
Extension Mechanism for Custom Templates

  • Enable integration of organisation-specific cluster templates without modifying k0rdent.
  • Provide validation and testing tools to ensure template compatibility and security.
  • Document best practices for template creation and integration.

Integration Framework for Custom CAPI Providers

  • Provide an interface to integrate custom providers that follow CAPI specifications.
  • Offer support for direct integration of proprietary systems where required.
  • Include testing tools to validate custom provider compatibility with k0rdent.

Documentation and Examples

  • Comprehensive documentation for custom cluster template creation, provider integration, and verification processes.
  • Runbooks covering:
    • Template creation and testing.
    • Provider integration workflows.
    • Verification and validation steps.

Who it benefits
Enterprises with Custom Infrastructure:

  • Integrate proprietary cloud platforms and comply with organisation-specific requirements.

Organisations with Compliance and Security Needs:

  • Build custom solutions that align with stringent security and regulatory standards.

Platform Teams:

  • Extend cluster templates and configurations to meet specialised needs.

Mirantis:

  • Reduce support overhead by enabling customers to independently manage templates and providers.

Acceptance criteria
Custom Template Integration

  • Organisations can create and integrate custom cluster templates into k0rdent without modifying the core codebase.
  • Validation and testing tools ensure templates are secure and compatible with k0rdent.
  • Templates can extend existing configurations with organisation-specific requirements.

Custom CAPI Provider Integration

  • Organisations can create and integrate custom providers following CAPI specifications.
  • Integration framework supports proprietary systems without compromising k0rdent security.
  • Custom providers can be validated and tested using provided tools.

Documentation and Tools

  • Documentation covers all aspects of template and provider integration, including examples.
  • Runbooks are available for template creation, provider integration, and testing processes.

Assumptions

  • Organizations have technical expertise to create custom templates and providers using provided interfaces.
  • CAPI specifications provide sufficient flexibility to accommodate custom provider implementations.
  • Security controls for custom components are defined and enforced within k0rdent’s framework.

Limitations

  • Direct support for non-CAPI providers is limited to integration through proprietary system interfaces.
  • UI or API enhancements specific to template or provider integration are out of scope.

Out of scope

  • Development of proprietary providers or templates for individual organizations.
  • Modifications to the k0rdent core to accommodate specific customizations.

User stories

  • As a Platform Lead, I want to be able to define custom infrastructure provider configurations so that I can deploy clusters on different cloud platforms.
  • As a Platform Engineer, I need a way to specify provider-specific settings when deploying a cluster so that it is provisioned correctly on the target infrastructure.
  • As a Platform Engineer, I want to be able to upgrade my Kubernetes clusters created from a template in a consistent manner.
  • As a Platform Engineer, I want to be able to select when my Kubernetes upgrade happens.
  • As a Platform Lead, I want to be able to pin my Kubernetes clusters to specific Kubernetes versions.
  • As a Platform Engineer, I want to be able to verify that a cluster upgrade won't break any dependencies.
  • As a Platform Engineer, I want to see the status of an upgrade in one place and be able to troubleshoot why a deployment has failed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Large body of work, can be broken down into individual issues
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

2 participants