Search by

deck / cloud

tormjens

The Deck Cloud agent: streams job-execution observability, worker snapshots, and remote command handling to Deck Cloud. Database-free; install alone for a slim agent or with deck/deck for the full dashboard.

1.0.2 2026-09-05 20:16 UTC

This package is auto-updated.

Last update: 2026-09-05 20:16:32 UTC


README

The slim, database-free Deck agent that streams queue observability to Deck Cloud.

deck/cloud turns any Laravel app or worker into a Deck Cloud agent: it records job executions and ships them to Deck Cloud over HTTP, reports queue worker snapshots, and pulls and applies remote commands — without a local database or dashboard. Install it on worker boxes where you want observability and remote control but not the self-hosted UI.

For the full self-hosted experience (local database + Livewire dashboard), install deck/deck instead — it already includes this agent.

What you get

  • Live execution streaming — the HTTP sink subscribes to the kernel's JobExecutionRecorded event and batches executions to the Deck Cloud ingest API.
  • Worker reportingdeck:report-workers reports Horizon (or plain queue) worker snapshots.
  • Remote commandsdeck:poll-commands pulls and applies commands from Deck Cloud: cancel, force-cancel, cancel-pending, block / unblock a job class, cancel-all-running-for-class, retry, and pause / resume a queue. Every command is applied through cache/queue primitives using context carried on the command payload, so it works with no local database.
  • Queue pausepause_queue sets a cache flag for connection:queue; every worker serving that queue (plain queue:work or a Horizon process) idles at the top of its loop until resume_queue clears it. Jobs stay queued, nothing is released or retried, and worker snapshots report the queue as paused.

Requirements

PHP 8.3+ · Laravel 11–13 · Redis (queues + cancel/block flags) · a Deck Cloud API key. Horizon 5.x recommended for richer worker snapshots and failed-job retry.

Installation

composer require deck/cloud

deck/cloud pulls in deck/core automatically. Configure the agent with the standard Deck environment variables:

DECK_API_KEY=your-agent-token
DECK_PROJECT=billing-api
DECK_ENVIRONMENT=production

The agent is opt-in: with no DECK_API_KEY set it stays completely inert. The service provider (Deck\Cloud\DeckCloudServiceProvider) is auto-discovered and schedules worker reporting and command polling when Cloud is enabled.

Configuration

All settings live under the shared deck.cloud.* config namespace (see config/deck.php); the DECK_CLOUD_* env variables are identical whether you run the slim agent or the full deck/deck app.

Development

composer test
composer analyse

License

MIT © Tor Morten Jensen. See LICENSE.md.