FigJam Diagram: Nightly Wiki Review — Documentation Monitor (expires 2026-04-13)
Nightly CronJob that validates all Wiki.js pages for documentation quality issues. Checks for empty pages, broken links, missing syntax highlighting, and stale content. Sends a Slack summary when issues are found.
|
|
| Namespace |
open-webui |
| Type |
CronJob |
| Schedule |
30 4 * * * (11:30 PM ET / 04:30 UTC) |
| Image |
python:3.12-slim |
| ServiceAccount |
openclaw-gateway |
- CronJob triggers nightly at 11:30 PM ET
- Queries Wiki.js GraphQL API to list all pages
- Fetches content for each page individually
- Runs quality checks:
- Critical: Empty/short content, missing titles
- Warning: Broken internal wiki links (path-based)
- Info: Code blocks without language, pages not updated in 90+ days
- If critical issues or 3+ warnings found, sends structured Slack alert
| Env Var |
Source |
Purpose |
WIKI_URL |
Hardcoded |
https://wiki.k3s.internal.strommen.systems |
WIKI_API_KEY |
Secret openclaw-api-keys key WIKI_API_KEY (optional) |
Wiki.js GraphQL auth |
SLACK_WEBHOOK_URL |
Secret cluster-health-secrets key slack-webhook (optional) |
Slack notifications |
| Check |
Severity |
Condition |
| Empty content |
Critical |
Page content < 50 characters |
| Missing title |
Critical |
Title empty or < 3 characters |
| Broken links |
Warning |
Internal wiki links pointing to non-existent paths |
| No code lang |
Info |
Fenced code blocks without language specifier |
| Stale content |
Info |
Page not updated in > 90 days |
| Setting |
Value |
| Schedule |
30 4 * * * (nightly 11:30 PM ET) |
| Concurrency |
Replace |
| backoffLimit |
2 |
| ttlSecondsAfterFinished |
86400 (24h) |
| History |
3 successful, 1 failed |
|
Requests |
Limits |
| CPU |
100m |
500m |
| Memory |
256Mi |
512Mi |
# Check latest run
kubectl get jobs -n open-webui -l app.kubernetes.io/name=documentation-monitor --sort-by=.metadata.creationTimestamp
# View review results
kubectl logs -n open-webui job/<latest-job-name>
kubernetes/apps/nightly-wiki-review/cronjob.yaml