Skip to content

Commit 69086e5

Browse files
docs(user): add first draft guide for getting started
1 parent 6b0cfcc commit 69086e5

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

docs/users/00-getting-started.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,97 @@
11
# Getting Started
2+
3+
> This is a quick guide on how to get started with the openMCP platform. This guide is not complete and will be extended in the future.
4+
5+
## Setup
6+
7+
### 1. Create a `Project`
8+
A `Project` is the starting point to our Manged Control Plane (MCP) journey. It is a logical grouping of `Workspaces` and `ManagedControlPlanes`. A `Project` can be used to represent an organization, department, team or any other logical grouping of resources.
9+
```yaml
10+
apiVersion: core.openmcp.cloud/v1alpha1
11+
kind: Project
12+
metadata:
13+
name: platform-team
14+
annotations:
15+
openmcp.cloud/display-name: Platform Team
16+
spec:
17+
members:
18+
- kind: User
19+
20+
roles:
21+
- admin
22+
- kind: User
23+
24+
roles:
25+
- view
26+
```
27+
28+
### 2. Create a `Workspace` in the `Project`
29+
30+
A `Workspace` is a logical grouping of `ManagedControlPlanes`. A `Workspace` can be used to represent an environment (e.g. dev, staging, prod) or again an organization, department, team or any other logical grouping of resources.
31+
32+
```yaml
33+
apiVersion: core.openmcp.cloud/v1alpha1
34+
kind: Workspace
35+
metadata:
36+
name: dev
37+
namespace: project-platform-team
38+
annotations:
39+
openmcp.cloud/display-name: Platform Team - Dev
40+
spec:
41+
members:
42+
- kind: User
43+
44+
roles:
45+
- admin
46+
- kind: User
47+
48+
roles:
49+
- view
50+
```
51+
52+
### 3. Create a `ManagedControlPlane` in the `Workspace`
53+
54+
The `ManagedControlPlane` resource is the heart of the openMCP platform. A Managed Control Plane (MCP) is a representation of a Kubernetes API. With the `ManagedControlPlane` you specify the Users that get access via ClusterRoles or Roles to the Kubernetes API of the MCP.
55+
56+
```yaml
57+
apiVersion: core.openmcp.cloud/v2alpha1
58+
kind: ManagedControlPlaneV2
59+
metadata:
60+
name: mcp-01
61+
namespace: project-platform-team--ws-dev
62+
spec:
63+
iam:
64+
roleBindings:
65+
- subjects:
66+
- kind: User
67+
68+
- kind: User
69+
70+
roleRefs:
71+
- kind: ClusterRole
72+
name: cluster-admin
73+
```
74+
75+
### 4. Install managed services in your Managed Control Plane (MCP)
76+
77+
You can install managed services in your Managed Control Plane (MCP) to extend its functionality. Currently, the following managed services are available:
78+
- Crossplane via the [service-provider-crossplane](https://github.com/openmcp-project/service-provider-crossplane)
79+
80+
#### Managed Service: Crossplane
81+
82+
Crossplane is an open source project that enables you to manage cloud infrastructure and services using Kubernetes-style declarative configuration. It allows you to define and manage cloud resources such as databases, storage, and networking using Kubernetes manifests.
83+
84+
To install Crossplane in your MCP, you need to create a `Crossplane` resource in the same namespace as your `ManagedControlPlane`. The following example installs Crossplane version `v1.20.0` with the `provider-kubernetes` provider version `v0.16.0`.
85+
86+
```yaml
87+
apiVersion: crossplane.services.openmcp.cloud/v1alpha1
88+
kind: Crossplane
89+
metadata:
90+
name: mcp-01 # Same name as your ManagedControlPlane
91+
namespace: project-platform-team--ws-dev # Same namespace as your ManagedControlPlane
92+
spec:
93+
version: v1.20.0
94+
providers:
95+
- name: provider-kubernetes
96+
version: v0.16.0
97+
```

0 commit comments

Comments
 (0)