Skip to content

Commit 38241f6

Browse files
authored
docs: update readme (#12)
1 parent e411def commit 38241f6

File tree

1 file changed

+120
-8
lines changed

1 file changed

+120
-8
lines changed

README.md

Lines changed: 120 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,141 @@
66

77
The Platform Service Gateway is responsible for enabling the [Gateway API](https://gateway-api.sigs.k8s.io/) on openMCP backend clusters, allowing webhooks from MCP resources to reach services in the platform or workload clusters.
88

9-
### Architecture
9+
### 📏 Architecture
1010

1111
![Architecture of the Platform Service Gateway in the context of openMCP](docs/architecture.excalidraw.svg)
1212

1313
### Dependencies
1414

1515
This platform service uses [Envoy Gateway](https://gateway.envoyproxy.io/) as the Gateway API implementation and [cert-manager](https://cert-manager.io/) to provision TLS certificates.
1616

17-
## Requirements and Setup
17+
## 🏗️ Installation of the Platform Service Gateway
1818

19-
*Insert a short description what is required to get your project running...*
19+
### Local Development
2020

21-
## Support, Feedback, Contributing
21+
To run the platform-service-gateway locally, you need to first bootstrap an openMCP environment by using [openmcp-operator](https://github.com/openmcp-project/openmcp-operator) and [cluster-provider-kind](https://github.com/openmcp-project/cluster-provider-kind). A comprehensive guide will follow soon.
22+
23+
For current testing reasons, the platform-service-gateway needs to run in the cluster. To run the latest version of your changes in your local environment, you need to run:
24+
25+
```bash
26+
task build:img:build
27+
```
28+
29+
This will build the image of the platform-service-gateway locally and puts it into your local Docker registry.
30+
31+
```bash
32+
docker images ghcr.io/openmcp-project/images/platform-service-gateway
33+
```
34+
35+
You can then apply the `PlatformService` resource to your openMCP Platform cluster:
36+
37+
```yaml
38+
apiVersion: openmcp.cloud/v1alpha1
39+
kind: PlatformService
40+
metadata:
41+
name: gateway
42+
spec:
43+
image: ghcr.io/openmcp-project/images/platform-service-gateway:... # latest local docker image build
44+
```
45+
46+
### OpenMCP Landscape
47+
48+
When you already have an openMCP environment set up, you can deploy the platform-service-gateway by applying the following manifest:
49+
50+
```yaml
51+
apiVersion: openmcp.cloud/v1alpha1
52+
kind: PlatformService
53+
metadata:
54+
name: gateway
55+
spec:
56+
image: ghcr.io/openmcp-project/images/platform-service-gateway:<latest-version> # latest upstream version
57+
```
58+
59+
## 📖 Usage
60+
61+
### Configure a `ProviderConfig`
62+
63+
A `ProviderConfig` is an API where you can configure the platform-service-gateway.
64+
The `ProviderConfig` is stored in the Platform cluster and therefore in the responsibility realm of the platform owner.
65+
66+
```yaml
67+
apiVersion: gateway.openmcp.cloud/v1alpha1
68+
kind: ProviderConfig
69+
metadata:
70+
name: default
71+
spec:
72+
envoyGateway:
73+
images:
74+
proxy: "ghcr.io/openmcp-project/components/github.com/openmcp-project/openmcp/images/envoy-proxy:distroless-v1.36.2"
75+
gateway: "ghcr.io/openmcp-project/components/github.com/openmcp-project/openmcp/images/envoy-gateway:v1.5.4"
76+
rateLimit: "ghcr.io/openmcp-project/components/github.com/openmcp-project/openmcp/images/envoy-ratelimit:99d85510"
77+
chart:
78+
url: "oci://ghcr.io/openmcp-project/components/github.com/openmcp-project/openmcp/charts/envoy-gateway"
79+
tag: "1.5.4"
80+
81+
clusters:
82+
- selector:
83+
matchPurpose:
84+
- platform
85+
- selector:
86+
matchPurpose:
87+
- workload
88+
89+
dns:
90+
baseDomain: dev.openmcp.example.com
91+
92+
```
93+
94+
## 📚 Documentation
95+
96+
More documentation for the platform-service-gateway can be found in the [docs](./docs) folder.
97+
98+
## 🧑‍💻 Development
99+
100+
### Building the binary locally
101+
102+
To build the binary locally, you can use the following command:
103+
104+
```bash
105+
task build
106+
```
107+
108+
### Build the image locally
109+
110+
To build the image locally, you can use the following command:
111+
112+
```bash
113+
task build:img:build
114+
```
115+
116+
### Run unit tests locally
117+
118+
To run the unit tests locally, you can use the following command:
119+
120+
```bash
121+
task test
122+
```
123+
124+
### Generating the CRDs, DeepCopy functions etc.
125+
126+
To generate the CRDs, DeepCopy functions, and other boilerplate code, you can use the following command:
127+
128+
```bash
129+
task generate
130+
```
131+
132+
## ❤️ Support, Feedback, Contributing
22133

23134
This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/openmcp-project/platform-service-gateway/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).
24135

25-
## Security / Disclosure
136+
## 🔐 Security / Disclosure
137+
26138
If you find any bug that may be a security problem, please follow our instructions at [in our security policy](https://github.com/openmcp-project/platform-service-gateway/security/policy) on how to report it. Please do not create GitHub issues for security-related doubts or problems.
27139

28-
## Code of Conduct
140+
## 🤝 Code of Conduct
29141

30-
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md) at all times.
142+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/openmcp-project/.github/blob/main/CODE_OF_CONDUCT.md) at all times.
31143

32-
## Licensing
144+
## 📋 Licensing
33145

34146
Copyright 2025 SAP SE or an SAP affiliate company and platform-service-gateway contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/openmcp-project/platform-service-gateway).

0 commit comments

Comments
 (0)