From 2e0ff57d345f41550e738d3d2cdba4dfa1df0501 Mon Sep 17 00:00:00 2001 From: Coysh Date: Wed, 21 Oct 2026 14:49:02 +0100 Subject: [PATCH] docs: lead the connector's scheduling section with the single cron entry Connector 1.16.0 added manager-connector/run, one cron entry that runs the heartbeat and jobs every time and each other report when it is due. The connector's own documentation was updated with it, but /docs is built from this repository, and its connector page still told people to schedule six commands and to "schedule all six". The Scheduling section now leads with the one line and the webTrigger setting that goes with it, and keeps the per-task lines as the alternative, with the warning that a site should use one or the other. The command table gains run, and the system and logins commands it was missing. --- CHANGELOG.md | 18 ++++++++++++++++++ docs/craft-plugin.md | 34 +++++++++++++++++++++++++++++++--- docs/getting-started.md | 4 ++-- docs/rollback.md | 4 ++-- docs/upgrade.md | 6 +++--- 5 files changed, 56 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ac8564..d435faa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,24 @@ Entries are written for somebody about to upgrade a running installation. Anythi action is under **Before you upgrade** - that section is the one to read, and `docs/upgrade.md` points here for exactly that reason. +## 1.9.1 — 2026-10-21 + +Documentation only. No code, no migrations, no configuration, nothing to do on upgrade. + +### The connector page still described six cron lines + +Connector 1.16.0 added `php craft manager-connector/run`, one cron entry every five minutes that sends +the heartbeat and collects work every time and runs each of the other reports when it is due. The +connector's own documentation was updated with it, but that is not the documentation this site +publishes: `/docs` is built from this repository, and its connector page still told people to schedule +six separate commands and to "schedule all six". + +The **Scheduling** section of the connector page now leads with the single line and the `webTrigger` +setting that goes with it, and keeps the six per-task lines as the alternative, with the warning that +one site should use one approach or the other, since the per-task commands do not share `run`'s claims +and the two together would send some reports twice. The console commands table gains `run`, and the +`system` and `logins` commands it was missing. + ## 1.9.0 — 2026-10-21 You can now say how many days before a TLS certificate expires it becomes a finding, an acknowledged diff --git a/docs/craft-plugin.md b/docs/craft-plugin.md index 9b93e2c..c0f10e2 100644 --- a/docs/craft-plugin.md +++ b/docs/craft-plugin.md @@ -168,7 +168,32 @@ its interval has elapsed, so a quiet site reports late and a site with no visito report until morning. With cron the timing is exact and independent of traffic, which is worth having if you care that a heartbeat is genuinely every five minutes rather than roughly. -If you want that, turn off `webTrigger` and add: +If you want that, one line runs everything: + +```cron +*/5 * * * * cd /path/to/site && php craft manager-connector/run +``` + +Every run sends the heartbeat and collects any work Manager has queued. The other reports go out when +each is due, on the schedule in the table above, so one entry every five minutes is the whole setup. +Then turn off `webTrigger` in `config/manager-connector.php`, so the schedule comes from one place: + +```php +return [ + 'webTrigger' => false, +]; +``` + +Leaving it on is harmless. Cron and web traffic share one set of claims, so they cannot both fire a +task in the same interval. A task for a capability you have not granted is skipped rather than +failed, and starts working as soon as you grant it. `php craft manager-connector/run --force` runs +everything now, whatever is due. + +### One schedule per task + +If you would rather set each schedule yourself, the per-task commands still work. Schedule all six, +even for capabilities you have not granted: each one checks before it sends anything, so an ungranted +task is a no-op. ```cron */5 * * * * cd /path/to/site && php craft manager-connector/heartbeat @@ -179,8 +204,8 @@ If you want that, turn off `webTrigger` and add: 0 3 * * * cd /path/to/site && php craft manager-connector/updates ``` -Schedule all six even for capabilities you have not granted. Each one checks before it sends -anything, so an ungranted task is a no-op - and when you do grant it later, it just starts working. +Use one or the other on a site, not both: the per-task commands do not share `run`'s claims, so the +two together would send some reports twice. ## Backups @@ -213,8 +238,11 @@ different responses, which is why the message names it. | `manager-connector/preview` | Print what would be sent, without sending it | | `manager-connector/pair ` | Pair with Manager for Craft | | `manager-connector/disconnect` | Stop reporting and forget the keypair | +| `manager-connector/run` | Run everything that is due. The one cron entry | | `manager-connector/heartbeat` | Send a heartbeat now | | `manager-connector/report` | Send inventory now | +| `manager-connector/system` | Send the runtime report now | +| `manager-connector/logins` | Send sign-in counts now | | `manager-connector/updates` | Check for updates now | | `manager-connector/jobs` | Ask Manager for Craft whether there is anything to do | diff --git a/docs/getting-started.md b/docs/getting-started.md index a0bb302..16dc94c 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -25,7 +25,7 @@ Get the source and start the stack. Every command in this section runs from `dep where the compose file lives - there is none at the top of the repository. ```bash -git clone --branch v1.9.0 https://github.com/Coysh-Digital/manager.git manager +git clone --branch v1.9.1 https://github.com/Coysh-Digital/manager.git manager cd manager/deploy/docker cp ../../.env.example .env ``` @@ -38,7 +38,7 @@ Open `.env` and set at minimum: ```dotenv APP_URL=https://manager.example.com DB_PASSWORD= # something long and random -MANAGER_VERSION=1.9.0 # which release this is; the interface says "unreleased build" without it +MANAGER_VERSION=1.9.1 # which release this is; the interface says "unreleased build" without it ``` The container will refuse to start if `APP_KEY` is empty, if `APP_DEBUG` is on, if `DB_PASSWORD` is diff --git a/docs/rollback.md b/docs/rollback.md index 46fe766..c3731d5 100644 --- a/docs/rollback.md +++ b/docs/rollback.md @@ -8,11 +8,11 @@ the current one, which is the rollback almost everybody is actually doing: ```bash cd /path/to/manager -git checkout v1.8.2 +git checkout v1.9.0 cd deploy/docker # Put MANAGER_VERSION back too, or the interface keeps reporting the version you rolled away from. -sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.8.2/' .env +sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.0/' .env docker compose up -d --build docker compose exec app php artisan manager:doctor diff --git a/docs/upgrade.md b/docs/upgrade.md index a1eff46..3c95501 100644 --- a/docs/upgrade.md +++ b/docs/upgrade.md @@ -14,17 +14,17 @@ under **Before you upgrade**. ## Upgrade -Replace `v1.9.0` below with the version you are moving to. +Replace `v1.9.1` below with the version you are moving to. ```bash cd /path/to/manager git fetch --tags -git checkout v1.9.0 +git checkout v1.9.1 cd deploy/docker # Record which release this is, so the interface can say so rather than "unreleased build". -sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.0/' .env +sed -i 's/^MANAGER_VERSION=.*/MANAGER_VERSION=1.9.1/' .env docker compose up -d --build