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