Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions docs/content/concepts/apis/built-in.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# Built-in APIs
# Kubernetes API Endpoints used by kcp

kcp includes some, but not all, of the APIs you are likely familiar with from Kubernetes:
kcp includes some, but not all, of the Kubernetes APIs.

## (core) v1
kcp does not make us of Kubernetes API endpoints that are concerned with orchestrating clusters and their workloads. Clusters dedicated to workload orchestration have these resources but kcp does not.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this sounds bit of strange too.
I think we need to be more explicit:

kcp functions as a pure control plane, providing only a subset of the full Kubernetes API. It is not a complete Kubernetes distribution and intentionally excludes APIs related to running workloads.

Because kcp doesn't manage nodes or run containers, it lacks the necessary controllers and resource definitions for orchestration. Specifically, you will not find key resource types such as:

The apps API group (e.g., Deployments, StatefulSets, DaemonSets)
The core Pods resource
Networking resources like Services and Endpoints
You can find more details about the specific APIs kcp does support below.


## Kubernetes resources used by kcp

kcp makes use of these API Endpoints and resources to provide kcp features and indoing so leverages the Kubernetes Event Loop to manage non-cluster resources that can them be handles using conventions and tooling from the Kubernetes eco-system.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence sounds strange. Do we even need this if we detalized above?


### (core) v1
- Namespaces
- ConfigMaps
- Secrets
Expand All @@ -11,43 +17,40 @@ kcp includes some, but not all, of the APIs you are likely familiar with from Ku
- ResourceQuotas
- ServiceAccounts

## admissionregistration.k8s.io/v1
### admissionregistration.k8s.io/v1
- MutatingWebhookConfigurations
- ValidatingWebhookConfigurations
- ValidatingAdmissionPolicies
- ValidatingAdmissionPolicyBindings

## apiextensions.k8s.io/v1
### apiextensions.k8s.io/v1
- CustomResourceDefinitions

## authentication.k8s.io/v1
### authentication.k8s.io/v1
- TokenReviews

## authorization.k8s.io/v1
### authorization.k8s.io/v1
- LocalSubjectAccessReviews
- SelfSubjectAccessReviews
- SelfSubjectRulesReviews
- SubjectAccessReviews

## certificates.k8s.io/v1
### certificates.k8s.io/v1
- CertificateSigningRequests

## coordination.k8s.io/v1
### coordination.k8s.io/v1
- Leases

## events.k8s.io/v1
### events.k8s.io/v1
- Events

## flowcontrol.apiserver.k8s.io/v1beta1 (temporarily removed)
### flowcontrol.apiserver.k8s.io/v1beta1 (temporarily removed)
- FlowSchemas
- PriorityLevelConfigurations

## rbac.authorization.k8s.io/v1
### rbac.authorization.k8s.io/v1
- ClusterRoleBindings
- ClusterRoles
- RoleBindings
- Roles

Notably, workload-related APIs (Pods, ReplicaSets, Deployments, Jobs, CronJobs, StatefulSets), cluster-related APIs (
Nodes), storage-related APIs (PersistentVolumes, PersistentVolumeClaims) are all missing - kcp does not include these,
and it instead relies on workload clusters to provide this functionality.