@amiable-dev/docusaurus-plugin-stentorosaur 0.14.0 → 0.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/QUICKSTART.md +23 -16
- package/README.md +6 -6
- package/docs/README.md +122 -0
- package/{CONFIGURATION.md → docs/reference/CONFIGURATION.md} +82 -374
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/scripts/update-status.cjs +40 -6
- package/settings.json +5 -0
- package/CONTRIBUTING.md.old +0 -586
package/QUICKSTART.md
CHANGED
|
@@ -25,7 +25,7 @@ Create a Personal Access Token at <https://github.com/settings/tokens> with `rep
|
|
|
25
25
|
> - Without a token, the plugin shows **demo data** (useful for testing)
|
|
26
26
|
> - See the [README](./README.md#github-token-setup) for detailed token setup
|
|
27
27
|
|
|
28
|
-
## Step
|
|
28
|
+
## Step 3: Configure Docusaurus
|
|
29
29
|
|
|
30
30
|
Add to your `docusaurus.config.js`:
|
|
31
31
|
|
|
@@ -43,7 +43,7 @@ module.exports = {
|
|
|
43
43
|
{ name: 'database', type: 'system' },
|
|
44
44
|
],
|
|
45
45
|
token: process.env.GITHUB_TOKEN,
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
// Optional: Choose status page layout
|
|
48
48
|
statusView: 'upptime', // 'default' | 'upptime'
|
|
49
49
|
|
|
@@ -58,7 +58,7 @@ module.exports = {
|
|
|
58
58
|
};
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
## Step
|
|
61
|
+
## Step 4: Set up GitHub Actions
|
|
62
62
|
|
|
63
63
|
The plugin uses three workflows that work together:
|
|
64
64
|
|
|
@@ -92,6 +92,7 @@ cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/workflows/
|
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
**What it does:**
|
|
95
|
+
|
|
95
96
|
- ✅ Checks endpoints every 5 minutes
|
|
96
97
|
- ✅ Updates `current.json` with response times and status
|
|
97
98
|
- ✅ Creates GitHub Issues for critical failures
|
|
@@ -106,6 +107,7 @@ cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/workflows/
|
|
|
106
107
|
```
|
|
107
108
|
|
|
108
109
|
**What it does:**
|
|
110
|
+
|
|
109
111
|
- ✅ Runs when issues are created/updated/closed
|
|
110
112
|
- ✅ Runs hourly to catch any changes
|
|
111
113
|
- ✅ Generates `incidents.json` from issues with `status` label
|
|
@@ -141,12 +143,14 @@ cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/workflows/
|
|
|
141
143
|
```
|
|
142
144
|
|
|
143
145
|
**deploy.yml** - Immediate deployments:
|
|
146
|
+
|
|
144
147
|
- ✅ Triggered by code pushes to main
|
|
145
148
|
- ✅ Triggered by `repository_dispatch` events (critical incidents)
|
|
146
149
|
- ✅ Ignores monitoring data commits (via `paths-ignore`)
|
|
147
150
|
- ✅ Deploys within ~2 minutes for critical incidents
|
|
148
151
|
|
|
149
152
|
**deploy-scheduled.yml** - Scheduled deployments:
|
|
153
|
+
|
|
150
154
|
- ✅ Runs every hour (configurable)
|
|
151
155
|
- ✅ Picks up non-critical incident updates
|
|
152
156
|
- ✅ Picks up maintenance window changes
|
|
@@ -154,7 +158,7 @@ cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/workflows/
|
|
|
154
158
|
|
|
155
159
|
**Smart Deployment Logic:**
|
|
156
160
|
|
|
157
|
-
```
|
|
161
|
+
```text
|
|
158
162
|
Critical Incident:
|
|
159
163
|
Issue created with 'critical' + 'status' labels
|
|
160
164
|
→ status-update.yml runs
|
|
@@ -183,7 +187,7 @@ Monitoring Data:
|
|
|
183
187
|
|
|
184
188
|
After copying all workflows, you'll have:
|
|
185
189
|
|
|
186
|
-
```
|
|
190
|
+
```text
|
|
187
191
|
.github/
|
|
188
192
|
workflows/
|
|
189
193
|
monitor-systems.yml # Every 5 min - Check endpoints, update current.json
|
|
@@ -195,14 +199,14 @@ After copying all workflows, you'll have:
|
|
|
195
199
|
|
|
196
200
|
**Data Flow:**
|
|
197
201
|
|
|
198
|
-
```
|
|
202
|
+
```text
|
|
199
203
|
Every 5 min:
|
|
200
204
|
monitor-systems.yml → current.json → [skip ci] → No deploy
|
|
201
|
-
|
|
205
|
+
|
|
202
206
|
Critical failure:
|
|
203
207
|
monitor-systems.yml → Creates Issue → status-update.yml
|
|
204
208
|
→ incidents.json → repository_dispatch → deploy.yml → IMMEDIATE DEPLOY
|
|
205
|
-
|
|
209
|
+
|
|
206
210
|
Non-critical issue:
|
|
207
211
|
GitHub Issue created → status-update.yml
|
|
208
212
|
→ incidents.json → [skip ci] → deploy-scheduled.yml (hourly) → DEPLOY
|
|
@@ -219,7 +223,7 @@ mkdir -p .github/ISSUE_TEMPLATE
|
|
|
219
223
|
cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/ISSUE_TEMPLATE/status-issue.yml .github/ISSUE_TEMPLATE/
|
|
220
224
|
```
|
|
221
225
|
|
|
222
|
-
## Step
|
|
226
|
+
## Step 5: Create Your First Status Issue
|
|
223
227
|
|
|
224
228
|
Create a new GitHub issue with these labels:
|
|
225
229
|
|
|
@@ -246,9 +250,9 @@ Scheduled database upgrade to improve performance.
|
|
|
246
250
|
|
|
247
251
|
**Labels for maintenance:** `maintenance`, `api`, `database` (affected entities)
|
|
248
252
|
|
|
249
|
-
|
|
253
|
+
Tip: You can use simple entity labels (`api`) or namespaced (`system:api`). Both work!
|
|
250
254
|
|
|
251
|
-
## Step
|
|
255
|
+
## Step 6: View Your Status Page
|
|
252
256
|
|
|
253
257
|
Start your Docusaurus dev server:
|
|
254
258
|
|
|
@@ -265,6 +269,7 @@ Navigate to: `http://localhost:3000/status`
|
|
|
265
269
|
Pick the layout that works best for you:
|
|
266
270
|
|
|
267
271
|
**Default Layout** - Compact design with services and incidents:
|
|
272
|
+
|
|
268
273
|
```javascript
|
|
269
274
|
{
|
|
270
275
|
statusView: 'default', // or omit (this is the default)
|
|
@@ -272,6 +277,7 @@ Pick the layout that works best for you:
|
|
|
272
277
|
```
|
|
273
278
|
|
|
274
279
|
**Upptime Layout** - Structured sections with maintenance support:
|
|
280
|
+
|
|
275
281
|
```javascript
|
|
276
282
|
{
|
|
277
283
|
statusView: 'upptime',
|
|
@@ -305,6 +311,7 @@ Create maintenance issues with special formatting:
|
|
|
305
311
|
**Affected Systems:** api, database
|
|
306
312
|
|
|
307
313
|
## Description
|
|
314
|
+
|
|
308
315
|
Database upgrade to improve performance.
|
|
309
316
|
```
|
|
310
317
|
|
|
@@ -350,7 +357,7 @@ import ChartPanel from '@theme/ChartPanel';
|
|
|
350
357
|
|
|
351
358
|
# API Monitoring
|
|
352
359
|
|
|
353
|
-
<ChartPanel
|
|
360
|
+
<ChartPanel
|
|
354
361
|
systemName="api"
|
|
355
362
|
showCharts={['response', 'uptime', 'sli', 'errorBudget']}
|
|
356
363
|
defaultPeriod="7d"
|
|
@@ -395,7 +402,7 @@ entities: [
|
|
|
395
402
|
]
|
|
396
403
|
```
|
|
397
404
|
|
|
398
|
-
|
|
405
|
+
Note: The Entity model supports multiple types beyond just systems: `system`, `process`, `project`, `event`, `sla`, `custom`.
|
|
399
406
|
|
|
400
407
|
### Embed Status Components
|
|
401
408
|
|
|
@@ -428,6 +435,6 @@ import ChartPanel from '@theme/ChartPanel';
|
|
|
428
435
|
|
|
429
436
|
## Need Help?
|
|
430
437
|
|
|
431
|
-
-
|
|
432
|
-
-
|
|
433
|
-
-
|
|
438
|
+
- Read the [full documentation](README.md)
|
|
439
|
+
- [Report an issue](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/issues)
|
|
440
|
+
- [Join discussions](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/discussions)
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ npm install @amiable-dev/docusaurus-plugin-stentorosaur
|
|
|
61
61
|
yarn add @amiable-dev/docusaurus-plugin-stentorosaur
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
> **📚 Recommended**: Use an orphaned `status-data` branch for storing monitoring data (following the Upptime pattern). This keeps your main branch lean and improves performance. See [Orphaned Branch Setup Guide](./ORPHANED_BRANCH_SETUP.md) for setup instructions.
|
|
64
|
+
> **📚 Recommended**: Use an orphaned `status-data` branch for storing monitoring data (following the Upptime pattern). This keeps your main branch lean and improves performance. See [Orphaned Branch Setup Guide](./docs/setup/ORPHANED_BRANCH_SETUP.md) for setup instructions.
|
|
65
65
|
|
|
66
66
|
## GitHub Token Setup
|
|
67
67
|
|
|
@@ -879,7 +879,7 @@ cp node_modules/@amiable-dev/docusaurus-plugin-stentorosaur/templates/workflows/
|
|
|
879
879
|
# Configure your endpoints in monitor-systems.yml
|
|
880
880
|
```
|
|
881
881
|
|
|
882
|
-
See [MONITORING_SYSTEM.md](./MONITORING_SYSTEM.md) for complete documentation.
|
|
882
|
+
See [MONITORING_SYSTEM.md](./docs/reference/MONITORING_SYSTEM.md) for complete documentation.
|
|
883
883
|
|
|
884
884
|
### Three-File Data Architecture
|
|
885
885
|
|
|
@@ -992,7 +992,7 @@ npx stentorosaur-update-status --write-incidents --write-maintenance --verbose
|
|
|
992
992
|
npx stentorosaur-update-status --output-dir ./public/status --write-incidents --write-maintenance
|
|
993
993
|
```
|
|
994
994
|
|
|
995
|
-
See [CONFIGURATION.md](./CONFIGURATION.md) for CLI option details.
|
|
995
|
+
See [CONFIGURATION.md](./docs/reference/CONFIGURATION.md) for CLI option details.
|
|
996
996
|
|
|
997
997
|
## Status Data Storage Patterns
|
|
998
998
|
|
|
@@ -1225,7 +1225,7 @@ jobs:
|
|
|
1225
1225
|
}
|
|
1226
1226
|
```
|
|
1227
1227
|
|
|
1228
|
-
See [CONFIGURATION.md](./CONFIGURATION.md) for detailed examples.
|
|
1228
|
+
See [CONFIGURATION.md](./docs/reference/CONFIGURATION.md) for detailed examples.
|
|
1229
1229
|
|
|
1230
1230
|
## How It Works
|
|
1231
1231
|
|
|
@@ -1542,7 +1542,7 @@ Send real-time alerts to Slack, Telegram, Email, or Discord when incidents occur
|
|
|
1542
1542
|
|
|
1543
1543
|
**Supported Channels:** Slack, Telegram, Email (SMTP), Discord
|
|
1544
1544
|
|
|
1545
|
-
**📖 Complete Guide**: See [NOTIFICATIONS.md](./NOTIFICATIONS.md) for setup instructions, configuration examples, and troubleshooting.
|
|
1545
|
+
**📖 Complete Guide**: See [NOTIFICATIONS.md](./docs/reference/NOTIFICATIONS.md) for setup instructions, configuration examples, and troubleshooting.
|
|
1546
1546
|
|
|
1547
1547
|
## Best Practices
|
|
1548
1548
|
|
|
@@ -1600,7 +1600,7 @@ Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for d
|
|
|
1600
1600
|
|
|
1601
1601
|
- **Issues**: [GitHub Issues](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/issues)
|
|
1602
1602
|
- **Discussions**: [GitHub Discussions](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/discussions)
|
|
1603
|
-
- **Documentation**: See [CONFIGURATION.md](./CONFIGURATION.md) for detailed examples
|
|
1603
|
+
- **Documentation**: See [CONFIGURATION.md](./docs/reference/CONFIGURATION.md) for detailed examples
|
|
1604
1604
|
|
|
1605
1605
|
## License
|
|
1606
1606
|
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Documentation Index
|
|
2
|
+
|
|
3
|
+
This directory contains comprehensive documentation for the Docusaurus Status Plugin (Stentorosaur).
|
|
4
|
+
|
|
5
|
+
## Quick Access
|
|
6
|
+
|
|
7
|
+
**New to the project?** Start with the root-level documentation:
|
|
8
|
+
- [README.md](../README.md) - Project overview and installation
|
|
9
|
+
- [QUICKSTART.md](../QUICKSTART.md) - Get started in 5 minutes
|
|
10
|
+
- [CONTRIBUTING.md](../CONTRIBUTING.md) - How to contribute
|
|
11
|
+
- [CHANGELOG.md](../CHANGELOG.md) - Version history
|
|
12
|
+
|
|
13
|
+
## Directory Structure
|
|
14
|
+
|
|
15
|
+
### `/architecture` - System Design Documentation
|
|
16
|
+
|
|
17
|
+
Understanding how the plugin works internally:
|
|
18
|
+
|
|
19
|
+
- [ARCHITECTURE-INDEX.md](./architecture/ARCHITECTURE-INDEX.md) - Overview of architectural documentation
|
|
20
|
+
- [ARCHITECTURE-SUMMARY.md](./architecture/ARCHITECTURE-SUMMARY.md) - High-level system design
|
|
21
|
+
- [ARCHITECTURE-ANALYSIS.md](./architecture/ARCHITECTURE-ANALYSIS.md) - Detailed technical analysis
|
|
22
|
+
|
|
23
|
+
**When to read:** Understanding internal design, making architectural decisions, or contributing significant features.
|
|
24
|
+
|
|
25
|
+
### `/setup` - Advanced Setup Guides
|
|
26
|
+
|
|
27
|
+
Step-by-step guides for specific deployment scenarios:
|
|
28
|
+
|
|
29
|
+
- [ORPHANED_BRANCH_SETUP.md](./setup/ORPHANED_BRANCH_SETUP.md) - Upptime-style status-data branch configuration
|
|
30
|
+
- [TRUSTED_PUBLISHING_SETUP.md](./setup/TRUSTED_PUBLISHING_SETUP.md) - npm OIDC publishing configuration
|
|
31
|
+
- [PUBLISHING.md](./setup/PUBLISHING.md) - Release and publishing workflow
|
|
32
|
+
|
|
33
|
+
**When to read:** Setting up production deployments, configuring CI/CD, or preparing for release.
|
|
34
|
+
|
|
35
|
+
### `/reference` - Feature Documentation
|
|
36
|
+
|
|
37
|
+
Detailed documentation for specific features:
|
|
38
|
+
|
|
39
|
+
- [CONFIGURATION.md](./reference/CONFIGURATION.md) - Complete configuration options reference
|
|
40
|
+
- [TESTING.md](./reference/TESTING.md) - Testing strategy and guidelines
|
|
41
|
+
- [MONITORING_SYSTEM.md](./reference/MONITORING_SYSTEM.md) - Automated monitoring architecture
|
|
42
|
+
- [NOTIFICATIONS.md](./reference/NOTIFICATIONS.md) - Real-time notification system (Slack, Telegram, Email, Discord)
|
|
43
|
+
|
|
44
|
+
**When to read:** Implementing specific features, configuring advanced options, or troubleshooting.
|
|
45
|
+
|
|
46
|
+
### `/archive` - Historical Documentation
|
|
47
|
+
|
|
48
|
+
Legacy documentation preserved for reference:
|
|
49
|
+
|
|
50
|
+
- [CODE-REFERENCE-GUIDE.md](./archive/CODE-REFERENCE-GUIDE.md) - Legacy code navigation guide
|
|
51
|
+
- [PROJECT_SUMMARY.md](./archive/PROJECT_SUMMARY.md) - Original project summary (superseded by README)
|
|
52
|
+
- [NOTIFICATION-SYSTEM-SUMMARY.md](./archive/NOTIFICATION-SYSTEM-SUMMARY.md) - Notification implementation notes
|
|
53
|
+
- [UPPTIME_CONFIGURATION_COMPARISON.md](./archive/UPPTIME_CONFIGURATION_COMPARISON.md) - Upptime vs Stentorosaur comparison
|
|
54
|
+
|
|
55
|
+
**When to read:** Historical context, understanding legacy design decisions, or migration reference.
|
|
56
|
+
|
|
57
|
+
## Documentation by Use Case
|
|
58
|
+
|
|
59
|
+
### I want to...
|
|
60
|
+
|
|
61
|
+
**Get started quickly**
|
|
62
|
+
→ [QUICKSTART.md](../QUICKSTART.md)
|
|
63
|
+
|
|
64
|
+
**Understand what the plugin does**
|
|
65
|
+
→ [README.md](../README.md)
|
|
66
|
+
|
|
67
|
+
**Configure all available options**
|
|
68
|
+
→ [docs/reference/CONFIGURATION.md](./reference/CONFIGURATION.md)
|
|
69
|
+
|
|
70
|
+
**Set up automated monitoring**
|
|
71
|
+
→ [docs/reference/MONITORING_SYSTEM.md](./reference/MONITORING_SYSTEM.md)
|
|
72
|
+
|
|
73
|
+
**Add notification alerts**
|
|
74
|
+
→ [docs/reference/NOTIFICATIONS.md](./reference/NOTIFICATIONS.md)
|
|
75
|
+
|
|
76
|
+
**Deploy to production with GitHub Pages**
|
|
77
|
+
→ [README.md#github-actions-setup](../README.md#github-actions-setup)
|
|
78
|
+
|
|
79
|
+
**Use an orphaned branch for status data**
|
|
80
|
+
→ [docs/setup/ORPHANED_BRANCH_SETUP.md](./setup/ORPHANED_BRANCH_SETUP.md)
|
|
81
|
+
|
|
82
|
+
**Contribute to the project**
|
|
83
|
+
→ [CONTRIBUTING.md](../CONTRIBUTING.md)
|
|
84
|
+
|
|
85
|
+
**Understand the architecture**
|
|
86
|
+
→ [docs/architecture/ARCHITECTURE-INDEX.md](./architecture/ARCHITECTURE-INDEX.md)
|
|
87
|
+
|
|
88
|
+
**Write tests**
|
|
89
|
+
→ [docs/reference/TESTING.md](./reference/TESTING.md)
|
|
90
|
+
|
|
91
|
+
**Publish a new version**
|
|
92
|
+
→ [docs/setup/PUBLISHING.md](./setup/PUBLISHING.md)
|
|
93
|
+
|
|
94
|
+
## Maintenance
|
|
95
|
+
|
|
96
|
+
### Keeping Documentation Current
|
|
97
|
+
|
|
98
|
+
Documentation should be updated whenever:
|
|
99
|
+
- ✅ New features are added
|
|
100
|
+
- ✅ Configuration options change
|
|
101
|
+
- ✅ Workflows are modified
|
|
102
|
+
- ✅ Breaking changes occur
|
|
103
|
+
- ✅ Best practices evolve
|
|
104
|
+
|
|
105
|
+
See [CONTRIBUTING.md](../CONTRIBUTING.md) for guidelines on updating documentation.
|
|
106
|
+
|
|
107
|
+
### Documentation Standards
|
|
108
|
+
|
|
109
|
+
All documentation in this repository follows these standards:
|
|
110
|
+
|
|
111
|
+
1. **Markdown Format** - GitHub-flavored markdown
|
|
112
|
+
2. **Clear Headers** - Hierarchical structure with descriptive titles
|
|
113
|
+
3. **Code Examples** - Working examples for all features
|
|
114
|
+
4. **Cross-References** - Links to related documentation
|
|
115
|
+
5. **Version Context** - Note when features were added (e.g., "v0.5.0+")
|
|
116
|
+
6. **Current State** - Reflect the actual implementation, not future plans
|
|
117
|
+
|
|
118
|
+
## Need Help?
|
|
119
|
+
|
|
120
|
+
- **Issues**: [GitHub Issues](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/issues)
|
|
121
|
+
- **Discussions**: [GitHub Discussions](https://github.com/amiable-dev/docusaurus-plugin-stentorosaur/discussions)
|
|
122
|
+
- **Support**: See [SUPPORT.md](../SUPPORT.md)
|