artisan-build/bfc-client
A Laravel/PHP client for the BFC API, offering a clean, configurable wrapper for making requests from your application. It fits Laravel conventions and provides a simple integration layer for connecting to BFC services without boilerplate.
This package is a Laravel/PHP client-only auth contract intended to standardize how a host authenticates against the Built for Cloud P6 wire. The v0.2.0 release is directionally useful for a TPM because it centralizes auth-client behavior: one canonical client-ID and contract-version header per request, case-variant header removal before send, byte-stable client identity, race-safe persisted identity, a local install-file utility, and a proof-of-life route. Architecturally, it fits Laravel hosts that already need a thin auth client and want to avoid bespoke header/identity logic.
Integration feasibility is moderate. It depends on artisan-build/built-for-cloud ^0.12.3, so hosts must align with that dependency and wire contract. The most important behavior change is removal of the cross-package dont-discover exclusion for the server provider. Co-installed hosts will now discover BuiltForCloudServiceProvider normally. That is a minor-version bump but a material behavior change for any host relying on the old discovery exclusion. Technical risk is therefore concentrated in provider discovery/order, not in the basic client contract.
Key questions: Which Laravel and PHP versions are supported? Where is persisted identity stored, and what permissions/concurrency guarantees apply? Does the proof-of-life route require auth or expose environment details? How are header conflicts resolved if a host already sets client-ID or contract-version variants? Is the identity byte-stability rule documented for proxies/WAFs? What is the rollback plan if provider discovery changes break co-installed hosts?
Stack fit is good for Laravel/PHP applications using Composer and service-provider discovery. The package should be treated as a small infrastructure dependency, not a domain feature. Integrate it behind configuration and tests rather than calling its internals directly.
Migration path: update to v0.2.0 in a non-production branch, run composer update with the built-for-cloud constraint resolved, clear config/package discovery caches, and verify BuiltForCloudServiceProvider registration in co-installed hosts. If the host previously depended on the dont-discover exclusion, explicitly test provider boot order, duplicate registration, and config merge behavior before rollout.
Compatibility: confirm the host’s artisan-build/built-for-cloud version satisfies ^0.12.3 and that the P6 wire contract version matches the package’s expected header value. Because this is pre-1.0, treat minor releases as potentially behavior-changing and pin versions in production.
Sequencing: 1) dependency and discovery audit; 2) non-production install and proof-of-life route verification; 3) auth header/identity tests with case-variant headers and concurrent requests; 4) co-installed server-provider discovery test; 5) staged production rollout with cache clears and rollback package pin.
Maintenance should be modest if the package remains a thin client, but it inherits upstream built-for-cloud risk. Support ownership needs clarity: application team owns host configuration and rollout; package maintainers own header/identity contract behavior. Scaling impact is likely low because the client is request-scoped, but persisted identity introduces local storage and race-safety concerns that must be monitored in multi-worker and multi-instance deployments.
Failure modes include missing or mismatched client ID/contract version, duplicate or case-variant headers, stale Laravel discovery caches, provider registration conflicts in co-installed hosts, identity file permission or corruption issues, and an exposed proof-of-life route. The discovery-exclusion removal is the main operational regression risk for existing co-installed hosts.
Ramp-up is small for a Laravel team familiar with Composer and service providers. The TPM should require a short integration spike, a documented provider-discovery check, and a rollback pin before broad adoption. Overall, v0.2.0 warrants an updated assessment and cautious adoption, especially for hosts that co-install the server provider.
How can I help you explore Laravel packages today?