Skip to content

kcp-dev/generic-controlplane

Repository files navigation

Generic Control Plane

IMPORTANT:

Generic Control Plane is a new project under KCP umbrella and is not yet ready for production use. We are actively working on the project and welcome contributions from the community. If you are interested in contributing, please see our contributing guide.

Overview

Generic Control plane is a Kubernetes based control plane focusing on:

  • A control plane for Kubernetes-native APIs that can be used without Kubernetes
  • Enabling API service providers to offer APIs centrally

gcp can be a building block for SaaS service providers who need a robust API base platform out-of-the-box. The goal is to be useful to cloud providers as well as enterprise IT departments offering APIs within their company.

Documentation

To get started with generic control plane:

# Clone the repository
git clone https://github.com/kcp-dev/generic-controlplane.git

# Build the project
cd generic-controlplane && make build

# Start standalone gcp
./bin/gcp start

# Access the gcp API
export KUBECONFIG=.gcp/admin.kubeconfig

# Check resources in the gcp API
kubectl api-resources

Batteries

Example server contains a simple implementation of batteries that can be used to extend the gcp API.

Batteries:

  • leases - a Kubernetes lease resources from coordination.k8s.io
  • authentication - Kubernetes native authentication using authentication.k8s.io
  • authorization - Kubernetes native authorization using authorization.k8s.io
  • admission - Kubernetes native admission using admissionregistration.k8s.io
  • flowcontrol - Kubernetes native flow control using flowcontrol.apiserver.k8s.io

When starting server without any flags, in-memory storage will be used and batteries will be disabled by default.

Important: In the long run, we plan to move existing apis into batteries on its own, and make default server to be a simple server without any resources.

To start the server with batteries enabled, use the following flags:

./bin/gcp start --batteries=lease,authentication,authorization,admission,flowcontrol

Contributing

We ❤️ our contributors! If you're interested in helping us out, please check out contributing to Generic Control Plane.

This community has a Code of Conduct. Please make sure to follow it.

Getting in touch

There are several ways to communicate with us:

License

FOSSA Status