Commit Graph

188 Commits

Author SHA1 Message Date
jmiller dca040ae6e chore: sync .mokogitea/ISSUE_TEMPLATE/config.yml from template [skip ci] 2026-05-12 18:59:19 +00:00
jmiller 2682af6a54 chore: sync .mokogitea/ISSUE_TEMPLATE/bug_report.md from template [skip ci] 2026-05-12 18:59:18 +00:00
jmiller 40d2786ccd chore: sync .mokogitea/ISSUE_TEMPLATE/adr.md from template [skip ci] 2026-05-12 18:59:18 +00:00
jmiller 1c85296c1e chore: sync .mokogitea/workflows/security-audit.yml from template [skip ci] 2026-05-12 18:59:18 +00:00
jmiller 22864806af chore: sync .mokogitea/workflows/repo-health.yml from template [skip ci] 2026-05-12 18:59:17 +00:00
jmiller 8c5e0702d0 chore: sync .mokogitea/workflows/pre-release.yml from template [skip ci] 2026-05-12 18:59:17 +00:00
jmiller 08bb7f5ef5 chore: sync .mokogitea/workflows/pr-check.yml from template [skip ci] 2026-05-12 18:59:17 +00:00
jmiller 4de1f24ab1 chore: sync .mokogitea/workflows/notify.yml from template [skip ci] 2026-05-12 18:59:16 +00:00
jmiller 574460a102 chore: sync .mokogitea/workflows/gitleaks.yml from template [skip ci] 2026-05-12 18:59:16 +00:00
jmiller e6e01fa5a8 chore: sync .mokogitea/workflows/deploy-manual.yml from template [skip ci] 2026-05-12 18:59:15 +00:00
jmiller 9f8bb4a467 chore: sync .mokogitea/workflows/cleanup.yml from template [skip ci] 2026-05-12 18:59:15 +00:00
jmiller 6b7edbe4bb chore: sync .mokogitea/workflows/cascade-dev.yml from template [skip ci] 2026-05-12 18:59:15 +00:00
jmiller 1c563ac57e chore: sync .mokogitea/workflows/auto-release.yml from template [skip ci] 2026-05-12 18:59:14 +00:00
Jonathan Miller 931ac0ee86 fix: rename moko-waas to mokowaas throughout
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:50:48 -05:00
Jonathan Miller 5c02b52c96 feat: update site_type filter from joomla.* to mokowaas.*
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:30:13 -05:00
Jonathan Miller 118bc058f6 fix: remove panopticon tag, update dashboard labels
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:23:27 -05:00
Jonathan Miller b5d65e8aa3 chore: rename dashboard to MokoWaaS, update description
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:19:51 -05:00
Jonathan Miller 4ecb70cdc6 feat: add 14 Grafana library panels and patch bump to v05.00.01
Add reusable library panel templates exported from Grafana:
- Server: CPU, Memory, Disk, Network Traffic
- Docker: Container CPU, Container Memory
- Services: Nginx Request Rate, Nginx Connections, MySQL Queries/s, MySQL Connections
- Monitoring: SSL Certificate Expiry, Service Health, Response Time, Uptime Availability

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:17:43 -05:00
jmiller d954b2373e chore: remove .gitea/workflows/sync-wikis.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:47 +00:00
jmiller 666e11e8dd chore: move .gitea/workflows/sync-wikis.yml to .mokogitea/sync-wikis.yml [skip ci] 2026-05-12 05:14:47 +00:00
jmiller a14002c327 chore: remove .gitea/workflows/renovate.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:46 +00:00
jmiller 624e64499a chore: move .gitea/workflows/renovate.yml to .mokogitea/renovate.yml [skip ci] 2026-05-12 05:14:46 +00:00
jmiller 61121252ca chore: remove .gitea/workflows/pr-branch-check.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:45 +00:00
jmiller 5dbb5aebcb chore: move .gitea/workflows/pr-branch-check.yml to .mokogitea/pr-branch-check.yml [skip ci] 2026-05-12 05:14:45 +00:00
jmiller 0ff2ae6f84 chore: remove .gitea/workflows/bulk-repo-sync.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:45 +00:00
jmiller ede5ae90a5 chore: move .gitea/workflows/bulk-repo-sync.yml to .mokogitea/bulk-repo-sync.yml [skip ci] 2026-05-12 05:14:44 +00:00
jmiller edf09ac744 chore: remove .gitea/workflows/branch-protection.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:44 +00:00
jmiller 63ae3bc9b0 chore: move .gitea/workflows/branch-protection.yml to .mokogitea/branch-protection.yml [skip ci] 2026-05-12 05:14:44 +00:00
jmiller ebb2f5891a chore: remove .gitea/.moko-platform (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:43 +00:00
jmiller 2c7478a6f6 chore: move .gitea/.moko-platform to .mokogitea/.moko-platform [skip ci] 2026-05-12 05:14:43 +00:00
Jonathan Miller 63a21fe0c0 fix: force Site column first in Site Health table via indexByName
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:56:21 -05:00
Jonathan Miller 787d778e91 feat: rewrite dashboard tables with clean filterFieldsByName pattern
- Site Health: rewritten from scratch — site_url via label_replace on HTTP
  query (works for offline sites), filterFieldsByName to keep only needed
  fields, endpoint URL as clickable Site column
- Joomla Core & Extensions: rewritten — same pattern, Site links to /administrator/
- Backup Status: rewritten — same pattern, Site links to Akeeba Manage
- Combined SSL Days and Last Scrape into Site Health table
- Collapsed Joomla Core section by default
- Moved dashboard to Endpoints folder
- Added site-uptime-alert.sh for ntfy critical alerts on site downtime
- Split updates into System and Ext Updates columns

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:54:37 -05:00
Jonathan Miller 1c7de961c6 chore: migrate references from .gitea/ to .mokogitea/
- Update template-CONTRIBUTING.md: .github/workflows/ → .mokogitea/workflows/
- Update templates/gitea/README.md: .gitea/ → .mokogitea/
- .mokogitea/ is now the standard system folder

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:38:10 -05:00
Jonathan Miller c061338428 feat: full-width stat layout, filter non-Joomla sites, standardize noValue
- Switch all stat panels to w:24 full-width for natural 3-column wrapping
- Filter site variable to joomla.* site_type only (excludes git, grafana)
- Standardize all noValue to "—" for offline/unavailable endpoints
- Joomla Version panel uses table format with labelsToFields for xx.xx.xx display
- Remove wideLayout option (only applies to value_and_name textMode)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 22:55:50 -05:00
Jonathan Miller 2e57e60335 feat: enhance WaaS Grafana dashboard with data links, backup monitoring, and layout improvements
- Add clickable links: Site Status → admin, API Reachable → endpoint, HTTP Status → Wikipedia reference, Last Backup/Records → Akeeba Manage
- Fix backup status doubling with max by() aggregation
- Show version as two-row display (site name + version string) using table format with labelsToFields
- Map 0 values to dash on Extensions, Enabled, Disabled panels
- Set minVizWidth for 3-column wrapping layout
- All links use dynamic Grafana variables, no hardcoded endpoints

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 22:41:41 -05:00
Jonathan Miller 0e273dae96 feat: add license header check to repo health (15 pts)
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
New 'License Headers' category in check_repo_health.php:
- Copyright headers present (>=80% of source files, 5 pts)
- SPDX-License-Identifier present (>=80%, 5 pts)
- FILE INFORMATION block present (>=70%, 5 pts)

Scans PHP, TS, CSS, and YAML files, excluding vendor/node_modules/dist.
Total health score now 155 pts (was 140).

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 17:12:47 -05:00
Jonathan Miller 1799401db5 feat: add standard file headers to all 57 files missing them
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
- Add Copyright + FILE INFORMATION headers to 11 PHP enterprise classes
- Add FILE INFORMATION blocks to 9 PHP files with incomplete headers
- Add headers to 2 test files
- Add markdown comment headers to 27 index/README files
- Add headers to 5 root markdown files
- Add FILE INFORMATION to 4 files with existing but incomplete headers

All files now conform to moko-platform file header standard.

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 17:10:19 -05:00
Jonathan Miller 1d87be7d5e fix: standardize file headers — REPO rename, SPDX case, missing fields
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
- Update REPO: from MokoStandards-API to moko-platform in 125 files
- Fix wrong org path (mokoconsulting-tech → MokoConsulting) in 10 files
- Fix SPDX-LICENSE-IDENTIFIER case in 2 template files
- Add missing REPO: field to 3 files

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 17:01:17 -05:00
Jonathan Miller 38a975ee57 chore: remove VERSION from all file header comments
Branch Policy Check / Verify merge target (pull_request) Successful in 0s
Remove VERSION: XX.YY.ZZ lines from 213 file headers across PHP,
TypeScript, TF definitions, workflows, CSS, markdown, and XML files.
Version is tracked in composer.json and CHANGELOG.md only.

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 16:51:00 -05:00
Jonathan Miller 34aace2638 refactor: remove docs/ — wiki-first, relocate non-doc files
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
- Remove 52 markdown files from docs/ (all content lives in Gitea wiki)
- Relocate legal_doc_generator.html → tools/
- Relocate mokostandards-schema.xsd → templates/schemas/
- Fix XSD path in MokoStandardsParser.php
- Update index.md and README.md to reference wiki

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 16:40:53 -05:00
Jonathan Miller 993f77d5a8 feat: major version bump 05.00.00 — CHANGELOG, Grafana 2-col layout
Branch Policy Check / Verify merge target (pull_request) Successful in 0s
- Bump platform version 04.05.00 → 05.00.00 across all 58 definition/config files
- Add CHANGELOG.md with full release history
- Add MokoWaaS Grafana dashboard template (2 columns per row)

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 16:34:10 -05:00
jmiller d318d5e854 chore: add PR branch policy check workflow [skip ci] 2026-05-11 17:16:03 +00:00
jmiller c511847fef feat: centralized MokoWaaS dashboard for all Joomla sites 2026-05-11 16:31:09 +00:00
Jonathan Miller aa1800e2f6 feat: comprehensive repo health check updates
Branch Protection Setup / Apply Branch Protection Rules (push) Successful in 24s
Sync Wikis to GitHub / Export wikis to GitHub (push) Successful in 7s
- Security: flag renovate.json as disallowed (removed from ecosystem)
- Disallowed: add .claude/, .mcp.json, renovate.json, profile.ps1
- Manifest: check .gitignore has required exclusions (.claude/, TODO.md, *.min.css/js)
- Manifest: check CLAUDE.md has project context + MokoStandards reference
- Updated scoring and header documentation

Authored-by: Moko Consulting
2026-05-10 15:07:17 -05:00
Jonathan Miller 15de3eed96 feat: add CLAUDE.md to repo health check, flag unwanted files
- CLAUDE.md now required (5 pts)
- Makefile now required (3 pts)
- Removed profile.ps1 and .mcp.json from required files
- Added negative checks: .mcp.json, TODO.md, renovate.json, .claude/
  flagged if committed

Authored-by: Moko Consulting
2026-05-10 15:03:46 -05:00
jmiller f5d35e10d9 docs: add CLAUDE.md for Claude Code context [skip ci] 2026-05-10 19:55:19 +00:00
jmiller 8245b5fd10 chore: add .moko-platform manifest [skip ci] 2026-05-10 19:51:08 +00:00
jmiller dd6eb8fc24 chore: remove deprecated .mokostandards (now .moko-platform) [skip ci] 2026-05-10 19:48:57 +00:00
Jonathan Miller 8abc30835c feat: add cleanup script to remove .claude/ and .mcp.json from repos
Scans all repos via Gitea API and deletes .claude/ directories and
.mcp.json files that were accidentally committed. These are local
workspace configs and should be gitignored.

Authored-by: Moko Consulting
2026-05-10 14:47:04 -05:00
Jonathan Miller aeb574980b feat: auto-discover all repos with wikis across all orgs
Sync Wikis to GitHub / Export wikis to GitHub (push) Successful in 8s
No more hardcoded repo list — queries Gitea API for all orgs and
repos that have wikis enabled. Falls back to hardcoded list if
no GITEA_TOKEN is set.

Authored-by: Moko Consulting
2026-05-09 19:15:02 -05:00