- Can I use ice/janusclient-bundle in a Laravel application?
- Not out of the box. The package is a Symfony bundle, so it ships Symfony dependency-injection extension classes and service definitions rather than a Laravel ServiceProvider, publishable config, or facade. Laravel will not auto-discover or boot it. You can still consume the underlying client manually inside a Laravel service provider, but treat the Symfony bundle layer as unused and plan a thin adapter.
- Does this package support Laravel 10 or 11 and PHP 8.2+?
- There is no documented Laravel or PHP support matrix in the overview, so verify before committing. Because it brings Symfony components, its minor version pins can collide with the Symfony packages Laravel already depends on, such as symfony/console, symfony/process, and symfony/http-foundation. Run composer why-not against your target Laravel and PHP versions in a scratch project as the first gate. Zero stars and zero dependents mean those constraints have likely not been stress-tested by the community.
- How do I install ice/janusclient-bundle with Composer?
- Install it with composer require ice/janusclient-bundle in a throwaway project first. In a Laravel app, do not attempt to register the Symfony bundle; instead confirm that the underlying client class can be instantiated without the bundle wiring. Check the package composer.json for required PHP extensions and PSR implementations before adding it to a real application.
- What is the ICE Janus API, and do I need it for my project?
- The package is a client for the ICE Janus API, an institution-specific service associated with Cambridge University, so its value depends on your organisation actually running Janus. It is not a general-purpose Laravel WebRTC or identity library. If you are not a Janus consumer, the addressable use case is close to zero. Confirm your Janus relationship before spending time on integration.
- Is there a Laravel ServiceProvider or facade included in this package?
- No. The package is described as a Symfony bundle that adds configuration and services through Symfony dependency injection. You will not find a Laravel ServiceProvider, a config/janus.php publishable file, or a facade. Build your own provider, config file, and optional facade around the underlying client if you decide to proceed.
- Which HTTP client does ice/janusclient-bundle require: Guzzle, Symfony HttpClient, or PSR-18?
- The overview does not state which HTTP abstraction it targets, so inspect composer.json before adopting it. A hard dependency on symfony/http-client would pull a parallel HTTP stack into a Laravel app that already standardizes on Guzzle through Illuminate\Support\Facades\Http. A PSR-18 or Guzzle-based client is easier to bind into Laravel. Treat this as a compatibility question to resolve before writing any adapter code.
- How do I configure Janus base URL and credentials in Laravel?
- Do not rely on the Symfony bundle configuration. Create a Laravel config file for the Janus base URL, credentials, timeout, and retry settings, then bind the underlying client as a singleton in a service provider. Keep secrets in environment variables and avoid committing them. Wrap calls in a small service class so you can add caching, typed exceptions, and token refresh later.
- Is ice/janusclient-bundle actively maintained and safe for production?
- The health signals are weak: zero stars, zero dependents, and a score of zero, which points to a single-organisation upstream with little community validation. Expect a slow or absent release cadence, no visible security disclosure process, and unknown test coverage. Treat it as fork-and-own rather than adopt-and-consume. Pin a commit, mirror it privately if the licence allows, and add your own tests before production use.
- What are the alternatives to ice/janusclient-bundle for Laravel?
- If you only need a few Janus REST calls, price a hand-rolled client first; group membership and lookup checks are often a small number of requests. A custom Laravel client with Guzzle, your own auth, retry, and caching is frequently cheaper than inheriting an unmaintained dependency. If a sibling Symfony application already uses this bundle, extract the transport and DTO layer into a shared library and bind it natively in both frameworks. For generic WebRTC needs, evaluate the Janus gateway directly rather than this institution-specific client.
- How should I test a Janus client integration without live credentials?
- Use contract tests pinned to a Janus staging instance once, then record fixtures so CI does not depend on live IAM. Mock the underlying PSR-18 or Guzzle client in unit tests and cover token refresh, retries, timeouts, and error responses. Keep a separate smoke test against staging for release checks. Document any endpoint gaps between the package and your actual access-control requirements.