Skip to content

Task: Add logic for Template Instance Reconciliation #274

@n3rdc4ptn

Description

@n3rdc4ptn

Understand the Task

Description
This task implements the reconciliation logic for the dynamically generated Custom Resources (the "template instances"). For each instance of a generated CRD (e.g., DevSandboxManagedControlPlane):

  • The reconciler will validate the instance's input parameters against the underlying ManagedControlPlaneTemplate's policies (e.g., checking user emails against allow/deny lists, ensuring Crossplane versions are within permitted ranges).
  • It will then orchestrate the creation of the actual ManagedControlPlane resource, applying the configured naming prefix/suffix.
  • It will apply the appropriate IAM configurations to the new MCP based on the template's defaultUsers and any allowed additionalUsers from the instance.
  • It will manage the installation and configuration of the specified ServiceProviders (like crossplane, external-secrets-operator, velero, kyverno) within the newly provisioned MCP.

Any further valuable resources.

No response

What is required to accept the Task as done.

Done Criteria

  • A working reconciler for a dynamically generated Custom Resource (template instance).
  • Successful provisioning of a ManagedControlPlane resource (with correct naming), IAM configuration, and all specified Service Providers (including their versions and removability/changeability rules) based on a template instance.
  • Robust validation of instance input parameters against the template's policies, with appropriate error reporting.
  • End-to-end testing of a sample template definition leading to a fully configured MCP.
  • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/taskGeneral task that needs to be done.needs/validationVerify Issue and Prio with PO

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions