1pilotapp/symfony-client
1Pilot Symfony Client integrates your Symfony app with the 1Pilot dashboard for centralized monitoring and management. Track uptime and SSL, detect config and server changes, manage Composer packages, and receive alerts via email, Slack, or Discord.
Architecture fit
The 1pilotapp/symfony-client package is designed for Symfony applications, not Laravel natively. However, Laravel can leverage it indirectly via:
symfony/http-client or symfony/process components (used in Laravel 10+ for HTTP requests and process management).Integration feasibility
symfony/http-client for API calls), integrating this package is feasible with minimal changes.symfony/process). Use composer why symfony/process to audit.Technical risk
ArrayObject → array) may cause runtime errors if the package’s internal logic assumes Symfony 6 behavior.Process).ONE_PILOT_PRIVATE_KEY must be stored securely (e.g., Laravel’s .env or Vault). Avoid hardcoding.mail_from_address aligns with Laravel’s MAIL_FROM_ADDRESS./ prefixed routes (e.g., one_pilot:). Ensure no overlap with Laravel’s routes.HttpClientInterface).Key questions
HttpClient, Process, EventDispatcher).ONE_PILOT_PRIVATE_KEY? (e.g., secrets management, rotation policy).swiftmailer vs. symfony/mailer).Stack fit
symfony/http-client for API calls).spatie/laravel-monitoring).Migration path
composer show symfony/*
symfony/http-client or symfony/process, proceed with direct integration.composer require 1pilotapp/symfony-client:^2.0
/ prefix in routes/web.php to avoid conflicts:
Route::get('/1pilot/{path}', [OnePilotController::class, 'handle'])->name('onepilot');
$this->app->bind(
\Symfony\Contracts\HttpClient\HttpClientInterface::class,
fn() => new \Symfony\Contracts\HttpClient\HttpClient()
);
.env:
ONE_PILOT_PRIVATE_KEY=your_key_from_1pilot_dashboard
ONE_PILOT_MAIL_FROM_ADDRESS=your_laravel_mail_from_address
.env or use secrets management./1pilot/* routes don’t conflict with Laravel’s routes.Process, test in a queue worker.Compatibility
Process, ensure Laravel’s queue system (e.g., Redis, database) supports it.Mailer; ensure Laravel’s MAIL_MAILER (e.g., smtp, log) is compatible.composer why symfony/process to detect clashes. Resolve with:
"conflict-resolution": {
"prefer-lowest": "*",
"owner/group": {
"symfony/*": "only-highest"
}
}
Sequencing
docker-compose.yml:
services:
laravel:
# ... existing config ...
symfony-client:
image: symfony/cli
volumes:
- ./:/app
environment:
- ONE_PILOT_PRIVATE_KEY=${ONE_PILOT_PRIVATE_KEY}
command: php /app/vendor/bin/onepilot-client
APP_ENV=staging.config('one_pilot_client.enabled_features') to toggle features.^2.0.3 and remove routes/services.Maintenance
composer outdated symfony/*
composer require symfony/http-client:^7.0 symfony/process:^7.0
Support
MAIL_FROM_ADDRESS.symfony/var-dumper for debugging:
composer require symfony/var-dumper
How can I help you explore Laravel packages today?