Ein production-ready Open Service Broker fΓΌr Cloud-Native Plattformen
Built with β€οΈ by cyrano.janus@gmail.com β absoluter Cloud Foundry Fan & Cloud-Native Enthusiast
Stell dir vor, du betreibst eine Cloud-Plattform (Cloud Foundry, Kubernetes, eigene PaaS) und deine Entwickler brauchen stΓ€ndig neue Services:
- ποΈ Datenbanken (PostgreSQL, MySQL, MongoDB)
- π¨ Message Queues (RabbitMQ, Kafka)
- π Secret Stores, Key-Management
- π Monitoring, Logging, Tracing
- π External APIs (Payment, Email, SMS)
Ohne OSB: Jeder Service braucht eigene CLI-Tools, eigene APIs, eigene Credentials, eigene Dokumentation. Chaos pur.
Mit OSB: Einheitliche API fΓΌr alle Services. Plattformen kΓΆnnen Services on-demand provisionieren, binden, verwalten β voll automatisiert.
"Ein Entwickler tippt
cf create-service postgresql free my-dbβ und bekommt sofort eine funktionierende Datenbank. Ohne Tickets, ohne Warten, ohne manuelle Konfiguration."
Das ist die Macht von Open Service Broker (OSB) β der Standard fΓΌr Service-Provisioning in Cloud-Plattformen.
Dieser Referenzbroker implementiert die vollstοΏ½Σ¨ndige OSB-API 2.17-Spezifikation und besteht alle 21 Conformance-Tests des offiziellen OSB-Checkers.
| Kategorie | Tests | Status |
|---|---|---|
| Catalog | Katalog existiert, valides JSON, Service/Plan-Felder | β 4/4 |
| Provision | 201 Created, idempotent, Validierung (service_id, plan_id, invalid service) | β 4/4 |
| Bind | 201 Created, Credentials, idempotent, Validierung | β 4/4 |
| Update | Instance Update (200 OK), Validierung | β 2/2 |
| Retrieval | Get Instance, Get Binding, Last Operation | β 3/3 |
| Deprovision | Cleanup, Validierung | β 4/4 |
- Java 25 LTS β Latest & Greatest
- Spring Boot 4.1 β Modernstes Spring
- OSB 2.17 β VollstοΏ½Σ¨ndige Spec-Abdeckung
- Async Operations β
accepts_incompleteSupport - Idempotenz β Mehrfachaufrufe sicher
- In-Memory Store β Perfekt fοΏ½ΓΒ₯r Demos & Tests
- Health Endpoints β
/health,/ready,/live - Checker-Proven β Alle 21 OSB-Tests bestanden β
java -version # Java 25 LTS
mvn -version # Maven 3.9+# Build
mvn clean package
# Start
java -jar target/osb-broker-reference-0.0.1-SNAPSHOT.jar# Katalog abrufen
curl -H "X-Broker-API-Version: 2.17" \
http://localhost:8080/v2/catalog
# Health Check
curl http://localhost:8080/health-
Platform (z. B. Cloud Foundry, Kubernetes)
Die Cloud-Umgebung, in der Apps laufen. -
Broker (dieser hier!)
Vermittler zwischen Platform und Service. -
Service (z. B. PostgreSQL, RabbitMQ)
Die eigentliche Ressource.
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Platform βββββββΆβ Broker βββββββΆβ Service β
β (Cloud) ββββββββ (Dieser) ββββββββ (Postgres) β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β β β
β 1. create-service β 2. provision() β 3. DB erstellen
βββββββββββββββββββββββββββββββββββββββββββββββ
β β β
β 4. bind-service β 5. bind() β 6. Credentials
βββββββββββββββββββββββββββββββββββββββββββββββ
β β β
β 7. App nutzt DB β 8. delete-service β 9. Cleanup
| FοΏ½ΓΒ₯r Entwickler | FοΏ½ΓΒ₯r Operatoren | FοΏ½ΓΒ₯r Unternehmen |
|---|---|---|
| Self-Service | Automatisierung | Kosteneffizienz |
| Keine manuellen Tickets | Einheitliche API | Bessere Governance |
| Sofortige Provisionierung | Monitoring & Auditing | Skalierbarkeit |
| Standardisierte Credentials | Multi-Cloud Ready | Innovation beschleunigen |
Dieser Broker wurde mit dem offiziellen OSB Conformance Checker getestet:
go run main.go -f config.yaml -v
========================================
OSB Checker Test Results (Spec 2.17)
========================================
Total Tests: 21
Passed: 21 β
Failed: 0
Skipped: 0
========================================
π All tests passed!- Katalog-Struktur β Valides JSON, required Fields
- Provision/Deprovision β Korrekte HTTP-Statuscodes, Idempotenz
- Bind/Unbind β Credentials, Re-Use bei wiederholtem Bind
- Instance/Binding Retrieval β Get-Endpoints
- Last Operation β Async-Operation Status
- Validierung β Fehlerhafte Requests (400/404)
Registriere diesen Broker im Cloud Foundry Marketplace:
cf create-service-broker demo-broker http://broker.example.com
cf enable-service-access demo-service
cf create-service demo-service free my-dbMit dem Service Binding Operator:
apiVersion: servicebinding.io/v1beta1
kind: ServiceBinding
metadata:
name: my-app-db
spec:
service:
apiVersion: osb.example.com/v1
kind: ServiceInstance
name: my-db
app:
apiVersion: apps/v1
kind: Deployment
name: my-appIntegriere OSB in deine eigene Plattform β vollstοΏ½Σ¨ndige Kontrolle οΏ½ΓΒ₯ber Service-Provisioning.
Dieser Broker ist nicht nur Code, sondern ein Lernprojekt:
- OSB-API verstehen β Alle Endpoints, Request/Response-Strukturen
- Spring Boot 4.1 β Moderne REST-APIs bauen
- Java 25 β Latest Features nutzen
- Conformance Testing β Mit dem OSB-Checker testen
- Cloud-Native Patterns β Service-Provisioning, Binding, Lifecycle
osb-broker-reference/
ββ pom.xml # Maven Build
ββ application.yml # Konfiguration
ββ README.md # Diese Datei
ββ src/
ββ main/
ββ java/
β ββ com/example/osbbroker/
β ββ OsbBrokerApplication.java
β ββ config/
β β ββ BrokerConfig.java
β ββ controller/
β β ββ CatalogController.java
β β ββ HealthController.java
β β ββ OsbController.java
β ββ model/
β ββ Catalog.java
β ββ Service.java
β ββ Plan.java
ββ resources/
ββ application.yml
Fehler gefunden? Feature wοΏ½ΓΒ₯nschen? Pull Requests sind willkommen!
# Clone
git clone https://github.com/cyrano/osb-broker-reference.git
cd osb-broker-reference
# Build
mvn clean package
# Test mit OSB Checker
go run main.go -f config.yaml -vDies ist ein Referenzprojekt ohne spezifische Lizenz. Du kannst es als Vorlage fοΏ½ΓΒ₯r eigene Broker verwenden und entsprechend lizenzieren.
cyrano.janus@gmail.com
π Cloud-Native Enthusiast & absoluter Cloud Foundry Fan
π‘ Building the future of cloud infrastructure, one service at a time.
"Cloud Foundry hat die Art, wie wir Software bereitstellen, revolutioniert. OSB ist das fehlende Puzzleteil fοΏ½ΓΒ₯r Service-Provisioning."
Cloud Foundry hat es verdient, weiterzuleben. π
Diese Plattform war ein Game-Changer β sie hat uns gezeigt, wie moderne App-Entwicklung und Deployment aussehen kοΏ½ΓΒ₯nnen. Aber eine Plattform lebt nur durch ihre Community und ihre Services.
Schreibe OSB-Broker! So viele wie mοΏ½ΓΒ₯glich. FοΏ½ΓΒ₯r jede Datenbank, jeden Message Queue, jeden Secret Store, jede API.
- ποΈ PostgreSQL, MySQL, MongoDB, Redis
- π¨ RabbitMQ, Kafka, NATS
- π Vault, AWS Secrets Manager
- π Prometheus, Grafana, ELK Stack
- π Stripe, Twilio, SendGrid, Slack
Jeder Broker zοΏ½Σ¨hlt. Jeder Broker macht Cloud Foundry wertvoller. Jeder Broker gibt Entwicklern mehr Power.
| Grund | ErklοΏ½ΓΒ₯rung |
|---|---|
| Community stοΏ½Σ¨rken | Mehr Services = mehr Nutzer = mehr Innovation |
| Lernen | OSB ist ein tolles Lernprojekt fοΏ½ΓΒ₯r Cloud-Native Patterns |
| Sichtbarkeit | Dein Broker wird von Tausenden genutzt |
| Impact | Du gestaltest die Zukunft von Cloud Foundry aktiv mit |
| SpaοΏ½ΓΒ₯ | Es macht einfach Bock, coole Services zu bauen! |
- Diesen Broker als Vorlage nehmen
- Einen Service aussuchen, den du liebst
- Broker implementieren (dieses Repo hilft dir!)
- Im Cloud Foundry Marketplace verοΏ½ΓΒ₯ffentlichen
- Andere inspirieren, dasselbe zu tun
"Eine Plattform ist nur so stark wie ihre Community. Lasst uns Cloud Foundry zusammen stark machen!" πͺ
- Broker starten β
java -jar target/osb-broker-reference-0.0.1-SNAPSHOT.jar - Catalog testen β
curl http://localhost:8080/v2/catalog - OSB Checker laufen lassen β Alle 21 Tests bestehen β
- Erweitern β Persistenz, Security, echte Services
- Eigenen Broker bauen β FοΏ½ΓΒ₯r deinen Lieblings-Service!
Viel SpaοΏ½ΓΒ₯ beim Bauen! π
Built with β€οΈ by cyrano.janus@gmail.com
π Cloud Foundry Fan | βοΈ Cloud-Native Enthusiast | π§ OSB Contributor
π Schreib Broker. Teile sie. Mach Cloud Foundry stark.