Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ krews:
token: "{{ .Env.KREW_GITHUB_TOKEN }}"
homepage: "https://kcp.io/"
description: |
KCP cli plugin for kubectl. Enables you to work with KCP.
short_description: "KCP cli plugin for kubectl."
kcp cli plugin for kubectl. Enables you to work with kcp.
short_description: "kcp cli plugin for kubectl."
skip_upload: auto
- name: ws
ids:
Expand All @@ -132,8 +132,8 @@ krews:
token: "{{ .Env.KREW_GITHUB_TOKEN }}"
homepage: "https://kcp.io/"
description: |
KCP workspace cli plugin for kubectl. Enables you to manage your KCP workspaces.
short_description: "KCP workspace cli plugin for kubectl."
kcp workspace cli plugin for kubectl. Enables you to manage your kcp workspaces.
short_description: "kcp workspace cli plugin for kubectl."
skip_upload: auto
- name: create-workspace
ids:
Expand All @@ -144,6 +144,6 @@ krews:
token: "{{ .Env.KREW_GITHUB_TOKEN }}"
homepage: "https://kcp.io/"
description: |
KCP create workspace cli plugin for kubectl. Enables you to create KCP workspaces.
short_description: "KCP create workspace cli plugin for kubectl."
kcp create workspace cli plugin for kubectl. Enables you to create kcp workspaces.
short_description: "kcp create workspace cli plugin for kubectl."
skip_upload: auto
2 changes: 1 addition & 1 deletion ADOPTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Listed below are organizations that have adopted kcp in one way or another. We a
| Kubermatic | Kubermatic is building Kubermatic Developer Platform (KDP), an internal developer platform (IdP) product that uses kcp as its global API control plane. | Development | [Product Website](https://www.kubermatic.com/products/kubermatic-developer-platform/) |
| Faros.sh | Faros is building a control-plane-as-a-service to access & manage multiple Kubernetes clusters across public and private deployments. | Development | - |
| SAP | SAP is developing an open reference architecture (ApeiroRA) with a Platform Mesh that leverages kcp as its foundation, enabling service providers to seamlessly connect and interact through unified KRM-based APIs in a cloud-edge continuum. | Development | [Website](https://apeirora.eu/) |
| Upbound | We use KCP within our Cloud Managed Control Planes product to provide multi-tenant access to the underlying hostcluster. | Production | - |
| Upbound | We use kcp within our Cloud Managed Control Planes product to provide multi-tenant access to the underlying hostcluster. | Production | - |
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ We're thrilled that you're interested in contributing to kcp! Please visit our
[full contributing guide](https://docs.kcp.io/kcp/main/contributing) on our documentation site.

Beside that, what coverns the project and all contributions to it must follow
the [KCP Project Governance](./GOVERNANCE.md).
the [kcp Project Governance](./GOVERNANCE.md).

From the KCP Project Governance, the following manifesto should guide the technical
From the kcp Project Governance, the following manifesto should guide the technical
decisions through-out all contributions:

> kcp maintainers strive to be good citizens in the Kubernetes project.
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1.4

# Copyright 2022 The KCP Authors.
# Copyright 2022 The kcp Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
6 changes: 4 additions & 2 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@ kcp is a highly-multi-tenant Kubernetes control-plane, built for SaaS service-pr

Check out our [concepts](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md) document and feel free to open an issue if something is not covered.


## If kcp is a Kubernetes API server without pod-like APIs, how do resources like Deployments get scheduled?

kcp has a concept called [syncer](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#syncer) which is installed on each [SyncTarget](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#workload-cluster). The [syncer](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#syncer) negotiates, with kcp, a set of APIs to make accessible in the workspace. This may include things like [Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) or other resources you may explicitly configure the syncer to synchronize to kcp. Once these APIs are made available in your [Workspace](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#workspace) you may then create resources of that type. From there, the [Location and Placement](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#location) APIs help determine which [Location](https://github.com/kcp-dev/kcp/blob/main/docs/concepts.md#location) your deployable resource lands on.

## Will KCP be able to pass the K8S conformance tests in [CNCF Conformance Suites](https://www.cncf.io/certification/software-conformance/)?
## Will kcp be able to pass the K8S conformance tests in [CNCF Conformance Suites](https://www.cncf.io/certification/software-conformance/)?

No, the Kubernetes conformance suites require that all Kubernetes APIs are supported and kcp does not support all APIs out of the box (for instance, Pods).

Expand Down Expand Up @@ -69,3 +68,6 @@ Shards in kcp represent a single apiserver and etcd/db instance. This is how kc

You're in the right place. Clone this repo and run `make install WHAT=./staging/src/github.com/kcp-dev/cli/cmd/kubectl-kcp`.

## What does kcp stand for / how to spell it?

`kcp` stands for "Kubernetes-like control planes" and should always be written in lowercase letters.
4 changes: 2 additions & 2 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# KCP Project Governance
# kcp Project Governance

The kcp project is dedicated to democratizing Control Planes beyond container
orchestration. This governance explains how the project is run.
Expand Down Expand Up @@ -177,7 +177,7 @@ mailing list and put on hold until the necessary majority has been reached.

Any Maintainer may submit a [vote](#voting) to create a new subproject under the
kcp-dev GitHub organization. Subprojects are governed by all Maintainers, but may
take on additional Subproject Maintainers that are only responsible for the
take on additional Subproject Maintainers that are only responsible for the
specific subproject.

It is the combined responsibility of Maintainers and Subproject Maintainers
Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The table below lists all current maintainers for the kcp project as defined by
| Sebastian Scheele | [@scheeles](https://github.com/scheeles) | Governance | Kubermatic |
| Dr. Stefan Schimanski | [@sttts](https://github.com/sttts) | Governance, kcp core | NVIDIA |
| Marko Mudrinić | [@xmudrii](https://github.com/xmudrii) | kcp core | Kubermatic |
| Christoph Mewes | [@xrstf](https://github.com/xrstf) | kcp core, API Syncagent kcp-operator, infrastructure | Kubermatic |
| Christoph Mewes | [@xrstf](https://github.com/xrstf) | kcp core, API Syncagent, kcp-operator, infrastructure | Kubermatic |

## Emeritus Maintainers

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 The KCP Authors.
# Copyright 2021 The kcp Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down
4 changes: 2 additions & 2 deletions cmd/cache-server/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -51,7 +51,7 @@ func main() {
serverOptions := options.NewOptions(*rootDir)
cmd := &cobra.Command{
Use: "cache-server",
Short: "Runs the cache server for KCP",
Short: "Runs the cache server for kcp",
Long: help.Doc(`
Starts a server that hosts data/resources that are required by shards.
It serves as a cache helping to reduce the storage that would have to
Expand Down
2 changes: 1 addition & 1 deletion cmd/compat/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2021 The KCP Authors.
Copyright 2021 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/crd-puller/pull-crds.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2021 The KCP Authors.
Copyright 2021 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/kcp-front-proxy/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
4 changes: 2 additions & 2 deletions cmd/kcp-front-proxy/options/options.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -48,7 +48,7 @@ func (o *Options) AddFlags(fss *cliflag.NamedFlagSets) {
logsapiv1.AddFlags(o.Logs, fss.FlagSet("logging"))

// add flags that are filtered out from upstream, but overridden here with our own version
fss.FlagSet("KCP").Var(kcpfeatures.NewFlagValue(), "feature-gates", ""+
fss.FlagSet("kcp").Var(kcpfeatures.NewFlagValue(), "feature-gates", ""+
"A set of key=value pairs that describe feature gates for alpha/experimental features. "+
"Options are:\n"+strings.Join(kcpfeatures.KnownFeatures(), "\n")) // hide kube-only gates
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/kcp/help.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
28 changes: 16 additions & 12 deletions cmd/kcp/kcp.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2021 The KCP Authors.
Copyright 2021 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -48,18 +48,22 @@ import (
func main() {
cmd := &cobra.Command{
Use: "kcp",
Short: "Kube for Control Plane (KCP)",
Short: "Kubernetes-like Control Planes (kcp)",
Long: help.Doc(`
KCP is the easiest way to manage Kubernetes applications against one or
more clusters, by giving you a personal control plane that schedules your
workloads onto one or many clusters, and making it simple to pick up and
move. It supports advanced use cases such as spreading your apps across
clusters for resiliency, scheduling batch workloads onto clusters with
free capacity, and enabling collaboration for individual teams without
having access to the underlying clusters.

To get started, launch a new cluster with 'kcp start', which will
initialize your personal control plane and write an admin kubeconfig file
kcp is a Kubernetes-like control plane focusing on

* being a control plane for many independent, isolated "clusters"
known as workspaces,
* enabling API service providers to offer APIs centrally
using multi-tenant operators and
* easy API consumption for users in their workspaces.

kcp can be a building block for SaaS service providers who need a
massively multi-tenant platform to offer services to a large number of
fully isolated tenants using Kubernetes-native APIs.

To get started, launch a new instance with 'kcp start', which will
initialize your personal shard and write an admin kubeconfig file
to disk.
`),
SilenceUsage: true,
Expand Down
16 changes: 8 additions & 8 deletions cmd/kcp/options/flags.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2023 The KCP Authors.
Copyright 2023 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -29,12 +29,12 @@ var (
"misc",
"secure serving",
"traces",
"KCP Authentication",
"KCP Authorization",
"KCP Virtual Workspaces",
"KCP Controllers",
"KCP Home Workspaces",
"KCP Cache Server",
"KCP",
"kcp Authentication",
"kcp Authorization",
"kcp Virtual Workspaces",
"kcp Controllers",
"kcp Home Workspaces",
"kcp Cache Server",
"kcp",
}
)
2 changes: 1 addition & 1 deletion cmd/kcp/options/flags_test.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2023 The KCP Authors.
Copyright 2023 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
6 changes: 3 additions & 3 deletions cmd/kcp/options/generic.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2023 The KCP Authors.
Copyright 2023 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -38,7 +38,7 @@ func NewGeneric(rootDir string) *GenericOptions {
}

func (o *GenericOptions) AddFlags(fss *cliflag.NamedFlagSets) {
fs := fss.FlagSet("KCP")
fs := fss.FlagSet("kcp")
fs.StringVar(&o.RootDirectory, "root-directory", o.RootDirectory, "Root directory. Set to \"\" to disable file (e.g. certificates) generation in a root directory.")
fs.StringVar(&o.MappingFile, "miniproxy-mapping-file", o.MappingFile, "DEVELOPMENT ONLY. Path to additional mapping file to be used by mini-front-proxy. This should not be used in production. For production usecase use front-proxy component instead.")
}
Expand Down Expand Up @@ -75,7 +75,7 @@ func (o *GenericOptions) Validate() []error {
return nil
}

// mkdirRoot creates the root configuration directory for the KCP
// mkdirRoot creates the root configuration directory for the kcp
// server. This has to be done early before we start bringing up server
// components to ensure that we set the initial permissions correctly,
// since otherwise components will create it as a side-effect.
Expand Down
2 changes: 1 addition & 1 deletion cmd/kcp/options/options.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2023 The KCP Authors.
Copyright 2023 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/cache.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/doc.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/frontproxy.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/shard.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/shard_test.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/sharded-test-server/virtual.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/test-server/helpers/writer.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/test-server/kcp/shard.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/test-server/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/virtual-workspaces/command/cmd.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2021 The KCP Authors.
Copyright 2021 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cmd/virtual-workspaces/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2021 The KCP Authors.
Copyright 2021 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
4 changes: 2 additions & 2 deletions cmd/virtual-workspaces/options/options.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2022 The KCP Authors.
Copyright 2022 The kcp Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -97,7 +97,7 @@ func (o *Options) AddFlags(flags *pflag.FlagSet) {
flags.MarkHidden("shard-external-url") //nolint:errcheck

flags.StringVar(&o.KubeconfigFile, "kubeconfig", o.KubeconfigFile,
"The kubeconfig file of the KCP instance that hosts workspaces.")
"The kubeconfig file of the kcp instance that hosts workspaces.")
_ = cobra.MarkFlagRequired(flags, "kubeconfig")

flags.StringVar(&o.Context, "context", o.Context, "Name of the context in the kubeconfig file to use")
Expand Down
Loading