feat(api): add install-from-URL endpoint #87

Merged
jmiller merged 13 commits from dev into main 2026-05-30 17:58:36 +00:00
Owner

Summary

  • Adds POST /api/v1/mokowaas/install REST API endpoint to install Joomla extensions from a remote ZIP URL
  • Enables push-deploy from CI pipelines or manual API calls using Joomla's native API token auth
  • Validates URL scheme, .zip extension, and enforces 64 MB download limit

Test plan

  • Deploy to dev site and verify POST /api/index.php/v1/mokowaas/install with a valid ZIP URL installs the extension
  • Verify 400 response for missing URL, non-https scheme, and non-.zip path
  • Verify 403 response with a token lacking core.manage on com_installer
  • Verify temp files are cleaned up after install (success and failure)

?? Generated with Claude Code

## Summary - Adds `POST /api/v1/mokowaas/install` REST API endpoint to install Joomla extensions from a remote ZIP URL - Enables push-deploy from CI pipelines or manual API calls using Joomla's native API token auth - Validates URL scheme, `.zip` extension, and enforces 64 MB download limit ## Test plan - [ ] Deploy to dev site and verify `POST /api/index.php/v1/mokowaas/install` with a valid ZIP URL installs the extension - [ ] Verify 400 response for missing URL, non-https scheme, and non-.zip path - [ ] Verify 403 response with a token lacking `core.manage` on `com_installer` - [ ] Verify temp files are cleaned up after install (success and failure) ?? Generated with [Claude Code](https://claude.com/claude-code)
jmiller added 9 commits 2026-05-30 17:16:57 +00:00
feat(api): add install-from-URL endpoint for remote extension deployment
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 3s
Update Server / Update Server (push) Successful in 9s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
7a9e3da174
Adds POST /api/v1/mokowaas/install to install Joomla extensions from a
remote ZIP URL via the REST API, enabling push-deploy from CI pipelines.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmiller added 1 commit 2026-05-30 17:51:01 +00:00
feat(demo): add demo site reset with baseline snapshots and warning banner
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Successful in 6s
Update Server / Update Server (push) Successful in 12s
72308fee53
Adds Demo Mode feature for configuring sites as demo instances with
automatic periodic reset to a saved baseline. Includes DemoResetService
for DB table + media snapshots, frontend warning banner, REST and
query-string API endpoints, admin toggles, and a Joomla Scheduled Task
plugin (plg_task_mokowaasdemo) for automatic reset.

Closes #88

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmiller added 1 commit 2026-05-30 17:51:12 +00:00
jmiller added 1 commit 2026-05-30 17:51:13 +00:00
jmiller added 1 commit 2026-05-30 17:58:26 +00:00
chore: merge main into dev (resolve version conflicts)
Generic: Repo Health / Release configuration (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Generic: Repo Health / Release configuration (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 4s
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 9s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 9s
Universal: Auto Version Bump / Version Bump (push) Failing after 10s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Universal: PR Check / Validate PR (pull_request) Successful in 12s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Update Server / Update Server (push) Failing after 16s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 30s
6367572eb1
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmiller merged commit 137d51a534 into main 2026-05-30 17:58:36 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoWaaS#87