From 137e76a997d618be7ac3a7b7fdbeaf6a8fa3a463 Mon Sep 17 00:00:00 2001 From: Valentin Gerlach Date: Thu, 3 Jul 2025 15:23:41 +0200 Subject: [PATCH 1/4] docs: copy project information from org README --- docs/about/project.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/about/project.md b/docs/about/project.md index 542ab18..7044570 100644 --- a/docs/about/project.md +++ b/docs/about/project.md @@ -3,3 +3,29 @@ slug: / --- # About this Project + +πŸ‘‹ Welcome to the documentation of openMCP. We are part of [ApeiroRA](https://apeirora.eu/content/projects/) which is an Important Project of Common European Interest - Next Generation Cloud Infrastructures and Services (IPCEI-CIS). + +## 🌐 ApeiroRA? + +ApeiroRA is a reference blueprint for an open, flexible, secure, and compliant next-generation cloud-edge continuum and therefore a key contribution to IPCEI-CIS. At a high level, the projects of ApeiroRA allow users to provider-agnostically fetch, request and consume services, and for service providers to describe, offer and provision their services. + +By being open source, ApeiroRA provides a cross-border spillover effect, solidifying the foundation and future of the project. + +Learn more about ApeiroRA by checking out the official website at [https://apeirora.eu/](https://apeirora.eu/). + +## 🀝 openMCP and ApeiroRA + +The Open Managed Control Plane (openMCP) enables extensible Infrastructure- and Configuration-as-Data capabilities as a Service. Based on the Kubernetes Resource Model, all resources in the cloud-edge continuum with ApeiroRA are accessible and managed via a declarative API and corresponding controllers and operators. Together with the controller which understand OCM and declarative deployment orchestrators, consumers can subscribe to a product release-train of software producers and implement an automated, GitOps-driven deployment workflow at the edges. + +## πŸ‘₯ Get Involved + +We welcome contributions of all kinds, from code to documentation, testing, and design. If you're interested in getting involved, check out our [open issues](https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Aopenmcp-project+archived%3Afalse+). + +## 🌈 Code of Conduct + +To facilitate a nice environment for all, check out [our Code of Conduct](https://github.com/openmcp-project/.github/blob/main/CODE_OF_CONDUCT.md). + +## πŸͺ™ Funding + +![Bundesministerium fΓΌr Wirtschaft und Energie (BMWE)-EU funding logo](https://apeirora.eu/assets/img/BMWK-EU.png) From f6923c3bbd5d9d9ba8ae29babe766dee0b8c8144 Mon Sep 17 00:00:00 2001 From: Valentin Gerlach Date: Tue, 8 Jul 2025 11:37:47 +0200 Subject: [PATCH 2/4] docs: introduce concepts and ecosystem --- docs/about/concepts/_category_.yml | 1 + docs/about/concepts/cluster-provider.md | 3 ++ docs/about/concepts/managed-control-plane.md | 3 ++ docs/about/concepts/platform-service.md | 3 ++ docs/about/concepts/service-provider.md | 3 ++ docs/about/ecosystem.md | 39 ++++++++++++++++++++ docs/about/project.md | 1 + 7 files changed, 53 insertions(+) create mode 100644 docs/about/concepts/_category_.yml create mode 100644 docs/about/concepts/cluster-provider.md create mode 100644 docs/about/concepts/managed-control-plane.md create mode 100644 docs/about/concepts/platform-service.md create mode 100644 docs/about/concepts/service-provider.md create mode 100644 docs/about/ecosystem.md diff --git a/docs/about/concepts/_category_.yml b/docs/about/concepts/_category_.yml new file mode 100644 index 0000000..0e1d7c2 --- /dev/null +++ b/docs/about/concepts/_category_.yml @@ -0,0 +1 @@ +label: Concepts diff --git a/docs/about/concepts/cluster-provider.md b/docs/about/concepts/cluster-provider.md new file mode 100644 index 0000000..eb36fdc --- /dev/null +++ b/docs/about/concepts/cluster-provider.md @@ -0,0 +1,3 @@ +# Cluster Providers + +Cluster providers are responsible for the dynamic creation, modification, and deletion of Kubernetes clusters in an openMCP environment. They conceal certain cluster technologies (e.g., Gardener and Kubernetes-in-Docker) behind a homogeneous interface. This allows operators to install an openMCP system in different environments and on various infrastructure providers without having to adjust the other components of the system accordingly. diff --git a/docs/about/concepts/managed-control-plane.md b/docs/about/concepts/managed-control-plane.md new file mode 100644 index 0000000..e58c9f3 --- /dev/null +++ b/docs/about/concepts/managed-control-plane.md @@ -0,0 +1,3 @@ +# Managed Control Planes (MCPs) + +Managed Control Planes (MCPs) are at the heart of openMCP. Simply put, they are lightweight Kubernetes clusters that store the desired state and current status of various resources. All resources follow the Kubernetes Resource Model (KRM), allowing infrastructure resources, deployments, etc., to be managed with common Kubernetes tools like kubectl, kustomize, Helm, Flux, ArgoCD, and so on. diff --git a/docs/about/concepts/platform-service.md b/docs/about/concepts/platform-service.md new file mode 100644 index 0000000..aea5020 --- /dev/null +++ b/docs/about/concepts/platform-service.md @@ -0,0 +1,3 @@ +# Platform Services + +Platform services add functionality to an openMCP environment (not MCPs). Examples include network services (Gateway API, Ingress), audit logs, billing, grouping of MCPs, and system-wide policies. They are installed and configured by the platform operator and apply to the entire system. diff --git a/docs/about/concepts/service-provider.md b/docs/about/concepts/service-provider.md new file mode 100644 index 0000000..5bfcf14 --- /dev/null +++ b/docs/about/concepts/service-provider.md @@ -0,0 +1,3 @@ +# Service Providers + +Without service providers, MCPs are of little use. They add functionality such as cloud provider APIs, GitOps, policies, or backup and restore to MCPs. The operators of an openMCP environment decide which service providers are available to end users. The end users can then activate them for their MCPs. diff --git a/docs/about/ecosystem.md b/docs/about/ecosystem.md new file mode 100644 index 0000000..3b4f87b --- /dev/null +++ b/docs/about/ecosystem.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 2 +--- + +# Ecosystem + +openMCP is a platform built on top of amazing open-source projects. The major ones are listed below. + +## Kubernetes + +[Kubernetes](https://kubernetes.io/), also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications. openMCP not only runs on Kubernetes but also uses the Kubernetes API as the central interface for all human users as well as integrations and automations. In doing so, the components of openMCP extend the Kubernetes API through [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/), thereby enabling the use of Kubernetes for configuring more than just compute, storage, and networking resources. + +## Gardener + +[Gardener](https://gardener.cloud/) can deliver fully-managed Kubernetes clusters at scale on any kind of infrastructure. Examples include AWS, Azure, and GCP but also OpenStack, [IronCore](https://github.com/ironcore-dev/gardener-extension-provider-ironcore), and [Hetzner Cloud](https://github.com/23technologies/gardener-extension-provider-hcloud). Like openMCP, Gardener is a Kubernetes extension and adheres to the same principles for resiliency, manageability, observability and high automation by design. openMCP can use Gardener as a [cluster provider](concepts/cluster-provider.md). + +## Open Component Model + +TODO + +## Crossplane + +TODO + +## Flux + +TODO + +## Kyverno + +TODO + +## External Secrets + +TODO + +## Landscaper + +TODO diff --git a/docs/about/project.md b/docs/about/project.md index 7044570..8fa1fd5 100644 --- a/docs/about/project.md +++ b/docs/about/project.md @@ -1,5 +1,6 @@ --- slug: / +sidebar_position: 1 --- # About this Project From efbb8f85da970750656d414f9a173ff4c047af91 Mon Sep 17 00:00:00 2001 From: Valentin Gerlach Date: Mon, 14 Jul 2025 13:13:03 +0200 Subject: [PATCH 3/4] Improve ecosystem and project pages --- docs/about/ecosystem.md | 25 +++++++++++++++++-------- docs/about/project.md | 2 +- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/docs/about/ecosystem.md b/docs/about/ecosystem.md index 3b4f87b..d2b53a6 100644 --- a/docs/about/ecosystem.md +++ b/docs/about/ecosystem.md @@ -8,32 +8,41 @@ openMCP is a platform built on top of amazing open-source projects. The major on ## Kubernetes -[Kubernetes](https://kubernetes.io/), also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications. openMCP not only runs on Kubernetes but also uses the Kubernetes API as the central interface for all human users as well as integrations and automations. In doing so, the components of openMCP extend the Kubernetes API through [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/), thereby enabling the use of Kubernetes for configuring more than just compute, storage, and networking resources. +"[Kubernetes](https://kubernetes.io/), also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications."[^kubernetes] openMCP not only runs on Kubernetes but also uses the Kubernetes API as the central interface for all human users as well as integrations and automations. The components of openMCP extend the Kubernetes API through [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/), enabling the use of Kubernetes for configuring more than just compute, storage, and networking resources. ## Gardener -[Gardener](https://gardener.cloud/) can deliver fully-managed Kubernetes clusters at scale on any kind of infrastructure. Examples include AWS, Azure, and GCP but also OpenStack, [IronCore](https://github.com/ironcore-dev/gardener-extension-provider-ironcore), and [Hetzner Cloud](https://github.com/23technologies/gardener-extension-provider-hcloud). Like openMCP, Gardener is a Kubernetes extension and adheres to the same principles for resiliency, manageability, observability and high automation by design. openMCP can use Gardener as a [cluster provider](concepts/cluster-provider.md). +[Gardener](https://gardener.cloud/) delivers "fully-managed clusters at scale everywhere with your own Gardener installation".[^gardener] Supported infrastructure includes AWS, Azure, and GCP but also OpenStack, [IronCore](https://github.com/ironcore-dev/gardener-extension-provider-ironcore), [Hetzner Cloud](https://github.com/23technologies/gardener-extension-provider-hcloud), and others. Like openMCP, Gardener is a Kubernetes extension and "adheres to the same principles for resiliency, manageability, observability and high automation by design".[^gardener] openMCP can use Gardener as a [cluster provider](concepts/cluster-provider.md). ## Open Component Model -TODO +"The [Open Component Model (OCM)](https://ocm.software/) is an open standard that enables teams to describe software artifacts and their lifecycle metadata in a consistent, technology-agnostic way."[^ocm] openMCP uses the OCM to package components and their dependencies, ensuring a reliable delivery to any (even air-gapped) environment. ## Crossplane -TODO +"[Crossplane](https://www.crossplane.io/) is an open source, CNCF project built on the foundation of Kubernetes to orchestrate anything."[^crossplane] It makes use of providers to connect to various cloud APIs – a concept that is known from Terraform/OpenTofu. Enabling Crossplane as a [service provider](concepts/service-provider.md) in openMCP allows end-users to make use of the rich ecosystem of Crossplane providers. ## Flux -TODO +"[Flux](https://fluxcd.io/) is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible."[^fluxcd] When enabled in an openMCP environment, users can benefit from [GitOps](https://www.cncf.io/blog/2025/06/09/gitops-in-2025-from-old-school-updates-to-the-modern-way/) features as part of their [MCPs](concepts/managed-control-plane.md). ## Kyverno -TODO +"The [Kyverno](https://kyverno.io/) project provides a comprehensive set of tools to manage the complete Policy-as-Code (PaC) lifecycle for Kubernetes and other cloud native environments."[^kyverno] With Kyverno, both team-internal and organization-wide policies can be defined to establish minimum security standards for managed cloud resources or to represent other corporate standards. ## External Secrets -TODO +"External Secrets Operator is a Kubernetes operator that integrates external secret management systems like AWS Secrets Manager, HashiCorp Vault, [...] and many more. The operator reads information from external APIs and automatically injects the values into a Kubernetes Secret."[^externalsecrets] In conjunction with other services like Crossplane and Flux, users can define their landscapes as templates and deploy them without code duplication. The External Secrets Operator can not only import secrets into an MCP but also push secrets generated in the MCP to other systems. ## Landscaper -TODO +"Landscaper provides the means to describe, install and maintain cloud-native landscapes. It allows you to express an order of building blocks, connect output with input data and ultimately, bring your landscape to live."[^landscaper] Operators can activate Landscaper as a service provider in their openMCP environment to ease the rollout of more complex software products for their users. + +[^kubernetes]: https://kubernetes.io/ +[^gardener]: https://gardener.cloud/ +[^ocm]: https://ocm.software/docs/overview/about/ +[^crossplane]: https://www.crossplane.io/ +[^fluxcd]: https://fluxcd.io/ +[^kyverno]: https://kyverno.io/ +[^externalsecrets]: https://external-secrets.io/latest/ +[^landscaper]: https://github.com/gardener/landscaper/blob/master/README.md diff --git a/docs/about/project.md b/docs/about/project.md index 8fa1fd5..03fa6f5 100644 --- a/docs/about/project.md +++ b/docs/about/project.md @@ -3,7 +3,7 @@ slug: / sidebar_position: 1 --- -# About this Project +# About openMCP πŸ‘‹ Welcome to the documentation of openMCP. We are part of [ApeiroRA](https://apeirora.eu/content/projects/) which is an Important Project of Common European Interest - Next Generation Cloud Infrastructures and Services (IPCEI-CIS). From 5ab45d9d51de9ef617a445099b03dc0f44c29153 Mon Sep 17 00:00:00 2001 From: Valentin Gerlach Date: Mon, 14 Jul 2025 13:13:37 +0200 Subject: [PATCH 4/4] Add links to Gardener and kind --- docs/about/concepts/cluster-provider.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about/concepts/cluster-provider.md b/docs/about/concepts/cluster-provider.md index eb36fdc..73c72bb 100644 --- a/docs/about/concepts/cluster-provider.md +++ b/docs/about/concepts/cluster-provider.md @@ -1,3 +1,3 @@ # Cluster Providers -Cluster providers are responsible for the dynamic creation, modification, and deletion of Kubernetes clusters in an openMCP environment. They conceal certain cluster technologies (e.g., Gardener and Kubernetes-in-Docker) behind a homogeneous interface. This allows operators to install an openMCP system in different environments and on various infrastructure providers without having to adjust the other components of the system accordingly. +Cluster providers are responsible for the dynamic creation, modification, and deletion of Kubernetes clusters in an openMCP environment. They conceal certain cluster technologies (e.g., [Gardener](https://gardener.cloud/) and [Kubernetes-in-Docker](https://kind.sigs.k8s.io/)) behind a homogeneous interface. This allows operators to install an openMCP system in different environments and on various infrastructure providers without having to adjust the other components of the system accordingly.