Connect platform tenant creation to tenant-engine
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s

This commit is contained in:
tegwick 2026-08-09 01:34:36 +02:00
parent 6589294ae7
commit c0da589dbe
2 changed files with 56 additions and 8 deletions

View file

@ -22,11 +22,11 @@ class HTTPTenantManagementAdapter:
correlation_id: str,
) -> TenantProvisioningResult:
request = Request(
self.base_url + "/v1/tenants",
self.base_url + "/tenants",
data=json.dumps({
"tenant": tenant, "display_name": display_name,
"idempotency_key": idempotency_key,
"correlation_id": correlation_id,
"tenant_id": tenant,
"identifier": tenant,
"actor": "tenant-engine",
}).encode(),
headers={
"Authorization": f"Bearer {self.bearer_token}",
@ -41,12 +41,16 @@ class HTTPTenantManagementAdapter:
result = json.loads(response.read())
except HTTPError as exc:
exc.read(4096)
if exc.code == 409:
return TenantProvisioningResult(
tenant=tenant, status="existing", resumed=True, external_ref=tenant,
)
raise RuntimeError(f"tenant authority failed ({exc.code})") from exc
except URLError as exc:
raise RuntimeError("tenant authority unavailable") from exc
return TenantProvisioningResult(
tenant=str(result.get("tenant") or tenant),
status=str(result["status"]),
resumed=bool(result.get("resumed", False)),
external_ref=str(result["external_ref"]) if result.get("external_ref") else None,
tenant=str(result.get("identifier") or tenant),
status="created",
resumed=False,
external_ref=str(result.get("tenant_id") or tenant),
)