Skip to content

Commit a6ddd4e

Browse files
committed
docs(serviceprovider): rephrasing/wording
On-behalf-of: @SAP [email protected] Signed-off-by: Christopher Junk <[email protected]>
1 parent 508c9f5 commit a6ddd4e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

docs/about/design/service-provider-design.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Note that `provider-kubernetes` depends on a running Crossplane installation to
3636

3737
The following subsections describe the objects that a `ServiceProvider` introduces.
3838

39-
### End User Objects
39+
### API
4040

4141
A `ServiceProvider` defines a `ServiceProviderAPI` to allow end users to request managed service. It is important to distinguish between `ServiceProviderAPI` and `DomainServiceAPI`.
4242

@@ -52,7 +52,7 @@ graph LR
5252
While both are end user facing, they serve different purposes:
5353

5454
- The `ServiceProviderAPI` allows end users to request a `DomainService` and gain access to its `DomainServiceAPI`.
55-
- The `DomainServiceAPI` delivers direct value to end users by providing the functionality a `DomainService`.
55+
- The `DomainServiceAPI` delivers direct value to end users by providing the functionality of a `DomainService`.
5656

5757
```mermaid
5858
sequenceDiagram
@@ -67,7 +67,7 @@ sequenceDiagram
6767
usr->>ds: uses domain service through DomainServiceAPI
6868
```
6969

70-
### Platform Operator Objects
70+
### Config
7171

7272
A `ServiceProvider` defines a `ServiceProviderConfig` that enables platform operators to specify different offerings of a managed `DomainService`. For example, tenant 1 can consume the `ServiceProviderAPI` for `Crossplane` through a `CrossplaneProviderConfig` `A`, which allows the installation of Crossplane versions `v1` and `v2`. In contrast, tenant 2 is restricted to consuming only `Crossplane` version `v1` through `CrossplaneProviderConfig` `B`.
7373

@@ -76,12 +76,14 @@ graph LR
7676
%% Operator
7777
OP[Operator]
7878
SP[ServiceProvider]
79+
SPA[ServiceProviderAPI]
7980
SPC[ServiceProviderConfig]
8081
OP -->|manages instances|SP
8182
OP -->|manages instances|SPC
83+
OP -. installs .-> SPA
8284
```
8385

84-
Management of `ServiceProvider` and `ServiceProviderConfig` instances may be partially or fully automated.
86+
All operator tasks may be partially or fully automated.
8587

8688
:::info
8789
The `ServiceProvider` object itself is a higher level platform concept that is described in the corresponding `PlatformService`, [openmcp-operator](https://github.com/openmcp-project/openmcp-operator).
@@ -95,8 +97,6 @@ A) The available service offerings are made visible by installing the `ServicePr
9597

9698
B) Valid input values are communicated through `ServiceProviderConfig` objects created on the `OnboardingCluster`. A user from a tenant without an associated `ServiceProviderConfig` can technically still access a `ServiceProviderAPI`, but any attempt to deploy a `DomainService` will be denied. It is important to note that `ServiceProviderConfigs` are owned and managed by the platform operator but are exposed to end users for consumption.
9799

98-
Both objects are managed by the platform operator and not the `ServiceProvider` itself (see [platform operator objects](#platform-operator-objects)).
99-
100100
### Deployment Model
101101

102102
A `ServiceProvider` runs on the `PlatformCluster` and reconcile its `ServiceProviderAPI` on the `OnboardingCluster`. It deploys a `DomainService` on either a `WorkloadCluster` or `MCPCluster`, which then reconciles the `DomainServiceAPI`.

0 commit comments

Comments
 (0)