Anwendung Laufzeit Broker
Der Application Runtime Broker ist BaseHarbors pro Applikations-Laufzeitkontrolloberfläche.
Verwaltete Geheimnisse durch OpenBao sind die ersten über den Broker implementierten Produktionslaufzeiten. Laufzeitressourcen und asynchrone Operationen verwenden die gleiche architektonische Grenze.
application
|
| mTLS + app-scoped runtime identity
v
Application Runtime Broker
|
+-- /runtime/v1/secrets
+-- /runtime/v1/resources
+-- /runtime/v1/operations/{id}
+-- /runtime/v1/capabilities
|
v
capability/provider execution
Ein Broker pro Anwendung
Der Broker ist an eine Anwendungs-/Umweltidentität gebunden:
spiffe://baseharbor/apps/<app>/<environment>
Bestehende App-qualifizierte geheime Routen bleiben Kompatibilitäts-Aliasen. Canonische gebundene Routen wiederholen den Anwendungsnamen nicht, da mTLS bereits die Anwendungsidentität behebt.
Geheimnisse sind ein Laufzeitmodul
Anwendungen, die dynamische verwaltete Geheimnisse verwenden, erfordern den Broker bereits heute.
Kanonische Geheimrouten:
POST /runtime/v1/secrets
POST /runtime/v1/secrets/resolve
PUT /runtime/v1/secrets/resolve
DELETE /runtime/v1/secrets/resolve
OpenBao bleibt hinter dem Broker und seine Anmeldeinformationen bleiben app-scoped.
Laufzeitressourcen und -operationen
Der gleiche Brokernamespace wird für die Ressourcen der Applikationszeit verwendet:
POST /runtime/v1/resources
GET /runtime/v1/resources/{resourceId}
DELETE /runtime/v1/resources/{resourceId}
GET /runtime/v1/resources/{resourceId}/binding
GET /runtime/v1/operations/{operationId}
GET /runtime/v1/capabilities
Eine Fähigkeit wird nur dann als unterstützt beworben, wenn ein autorisierter Provider-Ausführungspfad existiert. Source-Code-Erkennung gewährt niemals Laufzeitberechtigung.
Für object-storage.s3/v1, der Broker delegiert Anbietermutation zu einem geteilten Runtime Provider Executor. Der Executor authentifiziert den Broker durch die bestehende BaseHarbor Workload SPIFFE Identität, besitzt die Provider-globale administrative Grenze und führt Bucket/IAM Mutationen gegen den ausgewählten S3-Anbieter durch.
Entwicklungs-Swagger / OpenAPI
Wenn der Broker in einer Dev- oder Entwicklungsumgebung benötigt wird, ermöglicht BaseHarbor standardmäßig eine interaktive Laufzeit-API-Dokumentation.
Der docs listener ist von der mTLS Runtime API getrennt und wird nur auf Host-Loopback veröffentlicht:
https://127.0.0.1:<allocated-port>/
Der Port wird einmal pro Anwendung zugewiesen und im owner-only BaseHarbor Zustand gespeichert. baha app app app app app up and baha app status report the URL.
Der kanonische Vertrag bleibt spec/runtime-api/v1/openapi.yaml. Swagger UI-Assets sind in das BaseHarbor Laufzeitbild eingebettet, so dass die Entwickler-Doks kein öffentliches CDN benötigen.
Umgebung Interaktive docs | --- | --- | dev / development enabled by default enabled Test / Staging ist standardmäßig deaktiviert Prod / Produktion ist standardmäßig deaktiviert
Operatoren können die Bereitstellungsrichtlinie mit BASEHARBOR_RUNTIME_DOCS_ENABLED=true oder false explizit überschreiben. Diese Einstellung ist keine portable Anwendungsabsicht und gehört nicht in baseharbor.yaml.
Sicherheitsgrenze
Der Broker läuft weiterhin ohne Docker/Podman-Socket und ohne Provider-globale Administrator-Anmeldeinformationen. Der Runtime Provider Executor hat auch keinen Docker/Podman-Socket, hat keinen Host-veröffentlichten Port und ist nur über Broker-Container über die interne baseharbor-runtime-control Netz.
Für Laufzeit-only-Anwendungen besitzt der Pro-App-Broker das deterministische Backend-Netzwerk, das von autorisierten Workload-Diensten genutzt wird, um baseharbor-runtime. Wenn die App bereits PostgreSQL/Valkey Runtime Services verwaltet hat, bleibt das vorhandene Backend-Netzwerk maßgeblich. Runtime S3 Provider-Netzwerk-Anhänge ist servicespezifisch: Nur Dienste, die explizit in der Laufzeitberechtigung aufgeführt sind, erhalten sie.
Der Entwickler docs listener verwendet TLS auf Host-Loopback und wird durch eine echte HTTPS-Anfrage als Teil der Laufzeitbereitschaft überprüft. Es stellt nur Dokumentation aus. Es umgeht nicht die authentifizierte Laufzeit-API und zeigt keine Anwendungsanmeldeinformationen, OpenBao-Anmeldeinformationen, Laufzeitträger-Token oder sichere Bindungen auf.