Skip to content

Commit 751dec8

Browse files
rebecca bausingerchewbeccy
authored andcommitted
implement-osb-guide
1 parent e6092da commit 751dec8

File tree

3 files changed

+227
-15
lines changed

3 files changed

+227
-15
lines changed

docs/new-concept-osb-services.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,14 @@ If the above options do not work for your use case, you can also consider extrac
6767
<<<<<<< HEAD
6868
using the [meshObject API](pathname:///api/).
6969

70-
<!--
7170
## Related Resources
72-
- [meshStack Marketplace Documentation](marketplace.index.md)
71+
72+
### Concepts
73+
74+
- [Marketplace](new-concept-marketplace.md)
7375
- [Building Block Concept](new-concept-buildingblock.md)
74-
- [meshStack Service Broker Documentation](administration.service-brokers.md)
75-
=======
76-
using the [meshObject API](/api/).
77-
<<<<<<< HEAD
7876

79-
<!--
80-
## Related Resources
81-
- [meshStack Marketplace Documentation](../marketplace.index.md)
82-
- [Building Block Concept](./new-concept-buildingblock.md)
83-
- [meshStack Service Broker Documentation](../administration.service-brokers.md)
84-
>>>>>>> c3f7ac3f (maintenance-message)
85-
-->
86-
=======
87-
>>>>>>> c3370b4b (corrected-links)
77+
### Guides
78+
79+
- [How to Manage OSB Services](new-guide-how-to-manage-osb.md)
80+
- [How to Implement an OSB Service Broker](new-guide-how-to-implement-osb.md)
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
id: meshstack.meshmarketplace.broker-tutorial
3+
title: Tutorial: Implement a Broker
4+
---
5+
6+
:::note What is this guide about?
7+
This tutorial walks you through setting up a service broker that deploys services using CI/CD tools you already know. You'll learn about the Open Service Broker API, available libraries, and practical recommendations for implementation and testing.
8+
:::
9+
10+
## Prerequisites
11+
12+
- Familiarity with cloud-native platforms and basic service provisioning concepts.
13+
- Access to a CI/CD pipeline and a supported programming language (Java, Go, .NET, or Python).
14+
- Understanding of your organization's requirements for service lifecycle management.
15+
16+
## Step by Step Guide
17+
18+
### 1. Understand the Open Service Broker API
19+
20+
The [Open Service Broker API](https://www.openservicebrokerapi.org/) enables software vendors and developers to provide backing services to workloads running on cloud-native platforms. It defines a set of RESTful endpoints for provisioning, binding, and managing service offerings.
21+
22+
- One broker can host multiple services.
23+
- The API supports synchronous and asynchronous provisioning.
24+
- Service brokers can add features like billing and backup/restore.
25+
26+
### 2. Choose an Implementation Approach
27+
28+
You can start with an existing project or library, or build your own broker from scratch.
29+
30+
#### Quickstarts
31+
32+
- **[Unipipe Service Broker](https://github.com/meshcloud/unipipe-service-broker):**
33+
Example implementation that connects to a Git repository for catalog and instance management. Integrates with CI/CD pipelines.
34+
- **[Spring Boot & Groovy OSB API](https://github.com/openservicebrokerapi/servicebroker):**
35+
For Java/Spring developers.
36+
- **[osb-service-broker-example](https://github.com/evoila/osb-example):**
37+
Cloud Foundry-focused, requires custom logic for your service.
38+
- **[osb-starter-pack](https://github.com/pmorie/osb-starter-pack):**
39+
Go-based starter for rapid prototyping.
40+
41+
#### Libraries
42+
43+
- **Java:**
44+
[Spring Cloud Open Service Broker](https://spring.io/projects/spring-cloud-open-service-broker)
45+
[spring-cloud-app-broker](https://github.com/spring-cloud/spring-cloud-app-broker)
46+
- **Go:**
47+
[brokerapi](https://github.com/pivotal-cf/brokerapi)
48+
[osb-broker-lib](https://github.com/pmorie/osb-broker-lib)
49+
[Cloud service broker](https://github.com/pivotal/cloud-service-broker/)
50+
- **.NET:**
51+
[Open Service Broker API for .NET](https://github.com/AXOOM/OpenServiceBroker)
52+
- **Python:**
53+
[openbrokerapi](https://pypi.org/project/openbrokerapi/)
54+
55+
### 3. Implement the Required Endpoints
56+
57+
Each service broker must implement the OSBAPI endpoints:
58+
59+
- **Catalog:** Returns the list of services and plans.
60+
- **Provision:** Creates a new service instance.
61+
- **Bind/Unbind:** Connects/disconnects applications to service instances.
62+
- **Deprovision:** Deletes a service instance.
63+
64+
Follow the [OSBAPI specification](https://github.com/openservicebrokerapi/servicebroker/blob/master/spec.md) closely for request/response formats and error handling.
65+
66+
### 4. Test Your Service Broker
67+
68+
- Use the [API Swagger documentation](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/openservicebrokerapi/servicebroker/v2.16/openapi.yaml#/) to understand and test endpoints.
69+
- Try the [eden CLI](https://starkandwayne.com/blog/welcome-to-eden-a-cli-for-every-open-service-broker-api/) for local development and testing.
70+
- Consider the [osb-checker tool](https://github.com/openservicebrokerapi/osb-checker) for compliance checks.
71+
72+
### 5. Integrate with meshStack and CI/CD
73+
74+
- If using Unipipe, connect your broker to a Git repository and configure your CI/CD pipeline to manage service instances.
75+
- For other implementations, ensure your broker is reachable by meshStack and supports the required endpoints.
76+
77+
### 6. Maintain and Evolve Your Broker
78+
79+
- Use consistent IDs for services and plans.
80+
- Implement proper error handling and support both synchronous and asynchronous operations.
81+
- Plan for deprecation and removal of services or plans.
82+
- Support multiple bindings per instance and create separate credentials for each binding.
83+
- Provide admin endpoints for handling error states and orphaned resources.
84+
85+
:::tip
86+
Check out the [OSB API Compliant Service Brokers](https://www.openservicebrokerapi.org/compliant-service-brokers) catalog for inspiration and reference implementations.
87+
:::
88+
89+
## Related Resources
90+
91+
### Concepts
92+
93+
- [OSB Services](new-concept-osb-services.md)
94+
- [Marketplace](new-concept-marketplace.md)
95+
96+
### Guides
97+
98+
- [How to Manage OSB Services](new-guide-how-to-manage-osb.md)
99+
- [How to Manage a Project](new-guide-how-to-manage-a-project.md)
100+
- [How to Manage a Workspace](new-guide-how-to-manage-a-workspace.md)

docs/new-guide-how-to-manage-osb.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
id: new-guide-how-to-manage-osb
3+
title: How to Manage OSB Services
4+
---
5+
6+
:::note What is this guide about?
7+
This guide shows you how to manage OSB (Open Service Broker) services in meshStack. You'll learn how to discover, provision, update, and maintain OSB services for your projects and workspaces.
8+
:::
9+
10+
:::warning
11+
Please make sure OSBs are enabled for your meshStack. If you are not sure reach out to [email protected]
12+
:::
13+
14+
## Discover Available OSB Services
15+
16+
### Prerequisites
17+
18+
- You have access to meshPanel as a workspace or project manager.
19+
- Your platform team has enabled OSB services in your meshStack environment.
20+
21+
### Step by Step Guide
22+
23+
1. Go to the **Marketplace** section in meshPanel.
24+
2. Browse the list of available OSB services.
25+
3. Use filters or search to find the service you need.
26+
27+
## Provision a New OSB Service
28+
29+
### Prerequisites
30+
31+
- You have identified the OSB service you want to provision.
32+
- You have the necessary permissions to provision services in your workspace or project.
33+
34+
### Step by Step Guide
35+
36+
1. Select the desired OSB service from the Marketplace.
37+
2. Click **Provision** or **Create Instance**.
38+
3. Fill out the required configuration fields (such as service plan, parameters, and target project or workspace).
39+
4. Submit the form to start provisioning.
40+
5. meshStack will handle the request and show you the status.
41+
42+
## View and Manage Existing OSB Service Instances
43+
44+
### Prerequisites
45+
46+
- You have provisioned OSB services in your project or workspace.
47+
48+
### Step by Step Guide
49+
50+
1. Navigate to your project or workspace in meshPanel.
51+
2. Open the **Service Instances** tab.
52+
3. Review all provisioned OSB services.
53+
4. Click on a service instance to view details, usage, and status.
54+
55+
## Update an OSB Service Instance
56+
57+
### Prerequisites
58+
59+
- You have an existing OSB service instance that supports updates.
60+
- You have permissions to modify service instances.
61+
62+
### Step by Step Guide
63+
64+
1. Select the service instance you want to update.
65+
2. Choose **Edit** or **Update**.
66+
3. Change the configuration as needed.
67+
4. Save your changes. meshStack will apply the update and show the new status.
68+
69+
## Delete an OSB Service Instance
70+
71+
### Prerequisites
72+
73+
- You have an OSB service instance you want to remove.
74+
- You have permissions to delete service instances.
75+
76+
### Step by Step Guide
77+
78+
1. Select the service instance you want to delete.
79+
2. Choose **Delete**.
80+
3. Confirm the deletion.
81+
4. meshStack will deprovision the service and update the status.
82+
83+
## Monitor Service Health and Usage
84+
85+
### Prerequisites
86+
87+
- You have provisioned OSB services in your workspace or project.
88+
89+
### Step by Step Guide
90+
91+
1. Use the monitoring and logging features in meshPanel to track the health and consumption of your OSB services.
92+
2. If you encounter issues, check the logs or contact your platform team for support.
93+
94+
## Approve a Service Broker
95+
96+
When a user publishes a service broker, an admin needs to approve it before its services become available in the marketplace catalog.
97+
98+
### Prerequisites
99+
100+
- You have admin permissions in meshPanel.
101+
- A user has published a new service broker that requires approval.
102+
103+
### Step by Step Guide
104+
105+
1. Open meshPanel and navigate to the **Marketplace** > **Service Broker** section.
106+
2. Locate the service broker awaiting approval.
107+
3. Click the check button next to the broker to approve it.
108+
4. After approval, the broker’s services will be available to all users in the marketplace.
109+
110+
## Related Resources
111+
112+
### Concepts
113+
114+
- [Marketplace](new-concept-marketplace.md)
115+
- [OSB Services](new-concept-osb-services.md)
116+
117+
### Guides
118+
119+
- [How to Implement an OSB Service Broker](new-guide-how-to-implement-osb.md)

0 commit comments

Comments
 (0)