-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Nick Hamze edited this page Aug 31, 2026
·
6 revisions
- PHP 7.4 or newer
zip-
shellcheckfor the shell-script check - A WordPress 6.5+ HTTPS site with OpenStation for manual hub testing
- A separate public HTTPS WordPress site for end-to-end connection testing
The plugin has no Composer, npm, JavaScript, custom database, or hosted-service dependency.
fleet-for-openstation.php
includes/class-fleet-for-openstation.php
uninstall.php
readme.txt
tests/smoke.php
bin/build.sh
-
fleet-for-openstation.phpcontains the WordPress plugin header and bootstrap. -
includes/class-fleet-for-openstation.phpcontains the UI and orchestration. -
uninstall.phpremoves local Fleet user metadata. -
tests/smoke.phpis a framework-free check for URL validation, plugin-state inspection, credential encryption, REST URL construction, and hub self-detection. -
bin/build.shlints PHP, runs the smoke check, and builds the installable ZIP.
./bin/build.sh
shellcheck bin/build.shThe package is written to dist/fleet-for-openstation.zip. The ZIP intentionally contains only runtime files:
fleet-for-openstation/
fleet-for-openstation.php
includes/class-fleet-for-openstation.php
uninstall.php
readme.txt
LICENSE
GitHub Actions runs the build under PHP 7.4 and PHP 8.3 and uploads the package from the PHP 8.3 job.
Use two different HTTPS WordPress installations.
- Install OpenStation and Fleet on the hub.
- Confirm the Fleet page identifies the hub.
- Connect the managed site and approve the named Application Password.
- Confirm the site appears with the approving username.
- Test missing, inactive, and active OpenStation states.
- Install OpenStation and confirm the managed site's plugin state changes.
- Refresh status from Fleet.
- Disconnect and confirm the Application Password disappears from the managed user's profile.
- Test rejection, expiry, insufficient capability, stripped authorization headers, and an unreachable site.
- Confirm the hub cannot connect to itself and that a path-based multisite sibling can connect.
- Prefer WordPress Core features over new infrastructure.
- Keep credentials per user and encrypted at rest.
- Never log credentials or authorization headers.
- Keep unsafe-URL rejection and the public-HTTPS boundary intact.
- Treat the managed site's WordPress capabilities as authoritative.
- Do not add a custom REST route, database table, JavaScript application, dependency, abstraction, or background worker without a concrete workflow that Core cannot cover.
- Run
./bin/build.shafter every implementation change.
- Update the plugin header,
readme.txt, and release notes to the same version. - Run the build and shell check.
- Complete the manual two-site acceptance pass.
- Inspect the ZIP contents and test a clean WordPress upload.
- Tag the verified commit.
- Attach
dist/fleet-for-openstation.zipto the GitHub release.