Skip to content

Evaluate CloudAPI control mechanisms

Context and Problem Statement

This ADR is about finding the right architecture for the CloudAPI control layer to be robust, easy maintainable and self-healing.

Glossary

  • kcp: lorem ipsum
  • CloudAPI: lorem ipsum

Considered Options

Classic Kubernetes Operators

Pros

...

Cons

...

Combining a small Kubernetes controller with FluxCD

TBD

Flavor A

...

Flavor B

Same as Flavor A except the ...

Technology

...

Architecture Diagram

Overview Diagram

TBD

API Concept Diagram

---
config:
  layout: elk
---
flowchart LR
 subgraph subGraph0["Declarative Layer"]
        Onboarding["Onboarding (User Input)"]
        Spec["spec:<br>- id<br>status:<br>- clusterUrl<br>- kubeConfigSecret"]
  end
 subgraph subGraph1["kcp Root"]
        Workspace["Workspace-<id><br>(Minimal Params)"]
  end
  subgraph subGraph2["kcp Workspace Cluster"]
        Cluster["logicalCluster"]
  end
 subgraph Configuration["Configuration & Secrets"]
        Config["Config"]
        RootSecret["Kubeconfig (kcp Root)"]
        WorkspaceSecret@{ shape: procs, label: "Workspace Secrets (e.g. kubeConfigs)"}
  end
    Onboarding -- contains --> Spec
    Spec -- generates --> Workspace
    Spec -- references --> WorkspaceSecret
    Workspace -- creates --> Cluster
Hold "Alt" / "Option" to enable pan & zoom

The solution shows ...

Pros

...

Cons

...

Decision Outcome

Chosen Option: Solution A.

Because ...