docs: add settable properties tables to plugin docs

Renames the existing `## Internal properties` umbrella section to `## Properties` across all plugin docs and adds a new `### Settable properties` subsection enumerating every property accepted by each plugin's `:set` command. Each row lists scope, default, the actual `:report` flag shapes that surface the value, and a one-line description. The buildpacks plugin is included even though it uses `:set-property`, with a note in the subsection clarifying the legacy command name. Property lists, scopes, and report flags were verified against plugin source and the live dokku binary.
This commit is contained in:
Jose Diaz-Gonzalez
2026-05-23 22:45:20 -04:00
parent 3d3c95545c
commit 8742f688e3
31 changed files with 466 additions and 97 deletions

View File

@@ -464,14 +464,28 @@ The default value (`true`) may be restored by passing an empty value:
dokku ps:set node-js-app restore
```
## Internal properties
## Properties
The following properties surface in `ps:report` but are not managed by `ps:set` - they are derived from the running process state:
### Settable properties
| Property | Kind | Description | Source |
|---|---|---|---|
| `--ps-can-scale` | read-only | `false` when the app's procfile or builder forbids horizontal scaling | derived from procfile parse |
| `--deployed` | read-only | `true` after the first successful deploy | `common.IsDeployed(appName)` checks the app's deploy marker |
| `--running` | read-only | `true` while any container for the app is running | `getRunningState(appName)` inspects running containers |
| `--processes` | read-only | Total scaled process count across all proctypes | `getProcessCount(appName)` reads the per-proctype scale formation |
| `--status-<proctype>` | read-only | Container status and ID for each running proctype (one entry per Procfile process type) | `plugins/ps/report.go::addStatusFlags` inspects running containers |
| Property | Scope | Default | Report flags | Description |
|---|---|---|---|---|
| `dockerfile-start-cmd` | app only | none | (not in report) | Override `CMD` for Dockerfile-based apps |
| `procfile-path` | app + global | `Procfile` | `--ps-procfile-path`, `--ps-global-procfile-path`, `--ps-computed-procfile-path` | Path to the app's Procfile, relative to the build root |
| `restart-policy` | app only | `on-failure:10` | `--ps-restart-policy` | Docker restart policy applied to deployed containers (`no`, `always`, `unless-stopped`, `on-failure[:max-retries]`) |
| `restore` | app only | `true` | `--restore` | When `true`, the app is restarted automatically by `ps:retire` after a host reboot |
| `skip-deploy` | app + global | `false` | (not in report) | When `true`, skips the deploy phase after a successful build |
| `start-cmd` | app only | none | (not in report) | Override start command for buildpack apps |
| `stop-timeout-seconds` | app + global | `30` | `--stop-timeout-seconds`, `--global-stop-timeout-seconds`, `--computed-stop-timeout-seconds` | Seconds Docker waits before SIGKILLing a container on stop |
### Read-only flags
The following flags surface in `ps:report` but are not managed by `ps:set` - they are derived from the running process state:
| Flag | Description |
|---|---|
| `--ps-can-scale` | `false` when the app's procfile or builder forbids horizontal scaling |
| `--deployed` | `true` after the first successful deploy |
| `--running` | `true` while any container for the app is running |
| `--processes` | Total scaled process count across all proctypes |
| `--status-<proctype>` | Container status and ID for each running proctype (one entry per Procfile process type) |

View File

@@ -295,3 +295,14 @@ SHELL=/bin/bash
### PLACE ALL CRON TASKS ABOVE, DO NOT REMOVE THE WHITESPACE AFTER THIS LINE
```
## Properties
### Settable properties
| Property | Scope | Default | Report flags | Description |
|---|---|---|---|---|
| `mailfrom` | app + global | none | `--cron-mailfrom` | `From:` address used in cron failure emails |
| `mailto` | app + global | none | `--cron-mailto` | Recipient address for cron failure emails; empty disables email |
| `maintenance` | app + global | `false` | `--cron-maintenance`, `--cron-global-maintenance`, `--cron-computed-maintenance` | When `true`, suspends all cron tasks for the app (or globally) |
| `maintenance.<cron-id>` | app only | `false` | `--cron-maintenance-<cron-id>` (dynamic per task) | Suspends an individual cron task by its computed ID (one row per task); written by `cron:suspend`/`cron:resume` |