@amiable-dev/docusaurus-plugin-stentorosaur 0.19.0 → 0.20.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAI,EAAC,aAAa,EAAE,UAAU,EAAqE,MAAM,SAAS,CAAC;AAI1H,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAgH1C;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAalD;AAED,wBAA8B,YAAY,CACxC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAyhB7B;AAED,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAE,UAAU,EAA6E,MAAM,SAAS,CAAC;AAInI,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAqS1C;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAalD;AAED,wBAA8B,YAAY,CACxC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CA0iB7B;AAED,OAAO,EAAC,KAAK,aAAa,EAAC,MAAM,SAAS,CAAC"}
package/lib/index.js CHANGED
@@ -19,6 +19,118 @@ const github_service_1 = require("./github-service");
19
19
  const demo_data_1 = require("./demo-data");
20
20
  var options_1 = require("./options");
21
21
  Object.defineProperty(exports, "validateOptions", { enumerable: true, get: function () { return options_1.validateOptions; } });
22
+ /**
23
+ * Load entities from .monitorrc.json (ADR-003: Single Source of Truth)
24
+ *
25
+ * When entitiesSource is 'monitorrc' or 'hybrid', we auto-discover entities
26
+ * from the monitoring config rather than requiring manual docusaurus.config.js updates.
27
+ *
28
+ * @param siteDir - Docusaurus site directory
29
+ * @returns Array of Entity objects discovered from .monitorrc.json
30
+ */
31
+ async function loadEntitiesFromMonitorRc(siteDir) {
32
+ const configPath = path_1.default.join(siteDir, '.monitorrc.json');
33
+ if (!(await fs_extra_1.default.pathExists(configPath))) {
34
+ console.log('[docusaurus-plugin-stentorosaur] No .monitorrc.json found, skipping auto-discovery');
35
+ return [];
36
+ }
37
+ try {
38
+ const config = await fs_extra_1.default.readJson(configPath);
39
+ if (!config.systems || !Array.isArray(config.systems)) {
40
+ console.warn('[docusaurus-plugin-stentorosaur] .monitorrc.json has no systems array');
41
+ return [];
42
+ }
43
+ // Filter out hidden systems and convert to Entity format
44
+ const entities = config.systems
45
+ .filter(sys => sys.display !== false) // Only include visible systems
46
+ .map(sys => ({
47
+ name: sys.system,
48
+ displayName: sys.displayName || sys.system,
49
+ type: 'system',
50
+ description: sys.description,
51
+ monitoring: {
52
+ enabled: true,
53
+ url: sys.url,
54
+ method: (sys.method || 'GET'),
55
+ timeout: sys.timeout,
56
+ expectedCodes: sys.expectedCodes,
57
+ maxResponseTime: sys.maxResponseTime,
58
+ },
59
+ }));
60
+ console.log(`[docusaurus-plugin-stentorosaur] Auto-discovered ${entities.length} entities from .monitorrc.json`);
61
+ // Log hidden systems for transparency
62
+ const hiddenCount = config.systems.filter(sys => sys.display === false).length;
63
+ if (hiddenCount > 0) {
64
+ console.log(`[docusaurus-plugin-stentorosaur] ${hiddenCount} hidden system(s) excluded from display`);
65
+ }
66
+ return entities;
67
+ }
68
+ catch (error) {
69
+ console.warn('[docusaurus-plugin-stentorosaur] Failed to read .monitorrc.json:', error instanceof Error ? error.message : String(error));
70
+ return [];
71
+ }
72
+ }
73
+ /**
74
+ * Merge entities from different sources based on entitiesSource setting
75
+ *
76
+ * @param configEntities - Entities from docusaurus.config.js
77
+ * @param monitorRcEntities - Entities auto-discovered from .monitorrc.json
78
+ * @param entitiesSource - Source preference: 'config' | 'monitorrc' | 'hybrid'
79
+ * @returns Merged entity list
80
+ */
81
+ function mergeEntities(configEntities, monitorRcEntities, entitiesSource) {
82
+ switch (entitiesSource) {
83
+ case 'config':
84
+ // Traditional mode: only use docusaurus.config.js entities
85
+ return configEntities;
86
+ case 'monitorrc':
87
+ // Single source of truth: only use .monitorrc.json entities
88
+ return monitorRcEntities;
89
+ case 'hybrid':
90
+ // Merge both, with config taking precedence for duplicates
91
+ const mergedMap = new Map();
92
+ // Add monitorrc entities first
93
+ for (const entity of monitorRcEntities) {
94
+ mergedMap.set(entity.name, entity);
95
+ }
96
+ // Override with config entities (they take precedence)
97
+ for (const entity of configEntities) {
98
+ const existing = mergedMap.get(entity.name);
99
+ if (existing) {
100
+ // Deep merge: config overrides monitorrc
101
+ mergedMap.set(entity.name, { ...existing, ...entity });
102
+ }
103
+ else {
104
+ mergedMap.set(entity.name, entity);
105
+ }
106
+ }
107
+ return Array.from(mergedMap.values());
108
+ default:
109
+ return configEntities;
110
+ }
111
+ }
112
+ /**
113
+ * Check for entity mismatches and warn (ADR-003)
114
+ */
115
+ function checkEntityMismatches(configEntities, monitorRcEntities, entitiesSource) {
116
+ // Only warn in config mode when there are monitorrc entities not in config
117
+ if (entitiesSource === 'config' && monitorRcEntities.length > 0) {
118
+ const configNames = new Set(configEntities.map(e => e.name));
119
+ const missingInConfig = monitorRcEntities.filter(e => !configNames.has(e.name));
120
+ if (missingInConfig.length > 0) {
121
+ console.warn(`\n⚠️ [docusaurus-plugin-stentorosaur] Entity mismatch detected!`);
122
+ console.warn(` Found ${missingInConfig.length} system(s) in .monitorrc.json not in docusaurus.config.js:`);
123
+ for (const entity of missingInConfig) {
124
+ console.warn(` - ${entity.name}`);
125
+ }
126
+ console.warn(`\n These systems will be monitored but NOT displayed on the status page.`);
127
+ console.warn(` To fix, either:`);
128
+ console.warn(` 1. Add these to docusaurus.config.js entities array`);
129
+ console.warn(` 2. Use entitiesSource: 'monitorrc' for auto-discovery`);
130
+ console.warn(` 3. Add display: false to hide them intentionally\n`);
131
+ }
132
+ }
133
+ }
22
134
  /**
23
135
  * Read system status files and calculate metrics
24
136
  */
@@ -141,10 +253,25 @@ async function pluginStatus(context, options) {
141
253
  throw new Error('docusaurus-plugin-stentorosaur requires either plugin options (owner, repo) or ' +
142
254
  'site config (organizationName, projectName) to be set');
143
255
  }
144
- const { statusLabel = 'status', entities = [], labelScheme, token, dataPath = 'status-data', title = 'System Status', description = 'Current status of our systems and services', showResponseTimes = true, showUptime = true, useDemoData, showServices = true, showIncidents = true, showPerformanceMetrics = true, scheduledMaintenance = { enabled: true, label: 'maintenance' }, } = options;
256
+ const { statusLabel = 'status', entities: configEntities = [], entitiesSource = 'config', labelScheme, token, dataPath = 'status-data', title = 'System Status', description = 'Current status of our systems and services', showResponseTimes = true, showUptime = true, useDemoData, showServices = true, showIncidents = true, showPerformanceMetrics = true, scheduledMaintenance = { enabled: true, label: 'maintenance' }, } = options;
145
257
  // Build maintenance labels array from config
146
258
  const maintenanceLabels = scheduledMaintenance.labels ||
147
259
  (scheduledMaintenance.label ? [scheduledMaintenance.label] : ['maintenance']);
260
+ // Load entities based on entitiesSource setting (ADR-003)
261
+ let entities = configEntities;
262
+ if (entitiesSource === 'monitorrc' || entitiesSource === 'hybrid') {
263
+ const monitorRcEntities = await loadEntitiesFromMonitorRc(siteDir);
264
+ entities = mergeEntities(configEntities, monitorRcEntities, entitiesSource);
265
+ // Check for mismatches and warn
266
+ checkEntityMismatches(configEntities, monitorRcEntities, entitiesSource);
267
+ }
268
+ else if (entitiesSource === 'config') {
269
+ // Even in config mode, check for mismatches to warn users
270
+ const monitorRcEntities = await loadEntitiesFromMonitorRc(siteDir);
271
+ if (monitorRcEntities.length > 0) {
272
+ checkEntityMismatches(configEntities, monitorRcEntities, entitiesSource);
273
+ }
274
+ }
148
275
  const statusDataDir = path_1.default.join(generatedFilesDir, 'docusaurus-plugin-stentorosaur');
149
276
  const statusDataPath = path_1.default.join(statusDataDir, 'status.json');
150
277
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,8BAA8B,CAAC;AACjD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAc,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnE,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,aAAa,CAoBlD,CAAC;AAmIF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,6BA2CzB,CAAC;AAEL;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,UAAU,CAoCb;AA6CD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,GACR,EAAE,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,aAAa,CAEvE"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,8BAA8B,CAAC;AACjD,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAc,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnE,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,aAAa,CAqBlD,CAAC;AAmIF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,6BA2CzB,CAAC;AAEL;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,UAAU,CAoCb;AA8CD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,GACR,EAAE,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,aAAa,CAEvE"}
package/lib/options.js CHANGED
@@ -13,6 +13,7 @@ const utils_validation_1 = require("@docusaurus/utils-validation");
13
13
  exports.DEFAULT_OPTIONS = {
14
14
  statusLabel: 'status',
15
15
  entities: [],
16
+ entitiesSource: 'config',
16
17
  labelScheme: {
17
18
  separator: ':',
18
19
  defaultType: 'system',
@@ -240,6 +241,7 @@ const pluginOptionsSchema = utils_validation_1.Joi.object({
240
241
  repo: utils_validation_1.Joi.string(),
241
242
  statusLabel: utils_validation_1.Joi.string().default(exports.DEFAULT_OPTIONS.statusLabel),
242
243
  entities: utils_validation_1.Joi.array().items(entitySchema).default(exports.DEFAULT_OPTIONS.entities),
244
+ entitiesSource: utils_validation_1.Joi.string().valid('config', 'monitorrc', 'hybrid').default('config'),
243
245
  labelScheme: labelSchemeSchema.default(exports.DEFAULT_OPTIONS.labelScheme),
244
246
  token: utils_validation_1.Joi.string(),
245
247
  updateInterval: utils_validation_1.Joi.number().min(1).default(exports.DEFAULT_OPTIONS.updateInterval),
package/lib/types.d.ts CHANGED
@@ -312,8 +312,19 @@ export interface PluginOptions {
312
312
  /**
313
313
  * Entity definitions (REQUIRED as of v0.11.0)
314
314
  * Replaces deprecated systemLabels
315
+ *
316
+ * When entitiesSource is 'monitorrc' or 'hybrid', this serves as optional overrides
315
317
  */
316
318
  entities: Entity[];
319
+ /**
320
+ * Source for entity discovery (ADR-003)
321
+ * - 'config': Use only entities from docusaurus.config.js (default, backward compatible)
322
+ * - 'monitorrc': Auto-discover from .monitorrc.json (single source of truth)
323
+ * - 'hybrid': Merge both, with config overriding monitorrc
324
+ *
325
+ * @default 'config'
326
+ */
327
+ entitiesSource?: 'config' | 'monitorrc' | 'hybrid';
317
328
  /**
318
329
  * Label parsing scheme for GitHub issue labels
319
330
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Plugin version - auto-generated during build
3
3
  * DO NOT EDIT MANUALLY - This file is generated from package.json
4
4
  */
5
- export declare const PLUGIN_VERSION = "0.19.0";
5
+ export declare const PLUGIN_VERSION = "0.20.0";
6
6
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -5,4 +5,4 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.PLUGIN_VERSION = void 0;
8
- exports.PLUGIN_VERSION = '0.19.0';
8
+ exports.PLUGIN_VERSION = '0.20.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amiable-dev/docusaurus-plugin-stentorosaur",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "A Docusaurus plugin for displaying status monitoring dashboard powered by GitHub Issues and Actions, similar to Upptime",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/plugin-status.d.ts",
package/scripts/config.js CHANGED
@@ -77,10 +77,14 @@ async function addSystem(options) {
77
77
  const method = options.method || 'GET';
78
78
  const timeout = options.timeout || '10000';
79
79
  const expectedCodes = options['expected-codes'] || '200';
80
+ const hidden = options.hidden === true || options.hidden === 'true';
81
+ const displayName = options['display-name'];
82
+ const description = options.description;
80
83
 
81
84
  if (!name || !url) {
82
85
  console.error('\x1b[31mError:\x1b[0m Both --name and --url are required');
83
86
  console.log('\nUsage: stentorosaur-config add-system --name api --url https://api.example.com/health');
87
+ console.log(' stentorosaur-config add-system --name internal-api --url https://... --hidden');
84
88
  process.exit(1);
85
89
  }
86
90
 
@@ -98,6 +102,17 @@ async function addSystem(options) {
98
102
  maxResponseTime: 30000
99
103
  };
100
104
 
105
+ // Add optional fields only if provided
106
+ if (hidden) {
107
+ newSystem.display = false;
108
+ }
109
+ if (displayName) {
110
+ newSystem.displayName = displayName;
111
+ }
112
+ if (description) {
113
+ newSystem.description = description;
114
+ }
115
+
101
116
  if (existingIndex >= 0) {
102
117
  config.systems[existingIndex] = newSystem;
103
118
  console.log(`\x1b[33mUpdated:\x1b[0m System '${name}' configuration updated`);
@@ -108,17 +123,114 @@ async function addSystem(options) {
108
123
 
109
124
  await saveConfig(config);
110
125
 
111
- // Also add to entities for docusaurus config reference
112
- const entities = await loadEntities();
113
- if (!entities.systems.find(s => s.name === name)) {
114
- entities.systems.push({ name, type: 'system', url });
115
- await saveEntities(entities);
116
- }
117
-
118
126
  console.log(`\n URL: ${url}`);
119
127
  console.log(` Method: ${method.toUpperCase()}`);
120
128
  console.log(` Timeout: ${timeout}ms`);
121
129
  console.log(` Expected codes: ${expectedCodes}`);
130
+ if (hidden) {
131
+ console.log(` Display: \x1b[33mhidden\x1b[0m (monitored but not shown on status page)`);
132
+ }
133
+ if (displayName) {
134
+ console.log(` Display Name: ${displayName}`);
135
+ }
136
+ if (description) {
137
+ console.log(` Description: ${description}`);
138
+ }
139
+ }
140
+
141
+ // Update an existing system
142
+ async function updateSystem(options) {
143
+ const name = options.name;
144
+
145
+ if (!name) {
146
+ console.error('\x1b[31mError:\x1b[0m --name is required');
147
+ console.log('\nUsage: stentorosaur-config update-system --name api --url https://new-url.com');
148
+ console.log(' stentorosaur-config update-system --name api --hidden');
149
+ console.log(' stentorosaur-config update-system --name api --visible (unhide)');
150
+ process.exit(1);
151
+ }
152
+
153
+ const config = await loadConfig();
154
+ const existingIndex = config.systems.findIndex(s => s.system === name);
155
+
156
+ if (existingIndex < 0) {
157
+ console.error(`\x1b[31mError:\x1b[0m System '${name}' not found`);
158
+ console.log(`\nAvailable systems: ${config.systems.map(s => s.system).join(', ')}`);
159
+ process.exit(1);
160
+ }
161
+
162
+ const system = config.systems[existingIndex];
163
+ let changed = false;
164
+
165
+ // Update URL if provided
166
+ if (options.url) {
167
+ system.url = options.url;
168
+ changed = true;
169
+ console.log(` URL: ${options.url}`);
170
+ }
171
+
172
+ // Update method if provided
173
+ if (options.method) {
174
+ system.method = options.method.toUpperCase();
175
+ changed = true;
176
+ console.log(` Method: ${system.method}`);
177
+ }
178
+
179
+ // Update timeout if provided
180
+ if (options.timeout) {
181
+ system.timeout = parseInt(options.timeout, 10);
182
+ changed = true;
183
+ console.log(` Timeout: ${system.timeout}ms`);
184
+ }
185
+
186
+ // Update expected codes if provided
187
+ if (options['expected-codes']) {
188
+ system.expectedCodes = options['expected-codes'].split(',').map(c => parseInt(c.trim(), 10));
189
+ changed = true;
190
+ console.log(` Expected codes: ${system.expectedCodes.join(', ')}`);
191
+ }
192
+
193
+ // Update display if provided
194
+ if (options.hidden === true || options.hidden === 'true') {
195
+ system.display = false;
196
+ changed = true;
197
+ console.log(` Display: \x1b[33mhidden\x1b[0m`);
198
+ } else if (options.visible === true || options.visible === 'true') {
199
+ delete system.display; // Remove display: false to show system
200
+ changed = true;
201
+ console.log(` Display: \x1b[32mvisible\x1b[0m`);
202
+ }
203
+
204
+ // Update display name if provided
205
+ if (options['display-name']) {
206
+ system.displayName = options['display-name'];
207
+ changed = true;
208
+ console.log(` Display Name: ${system.displayName}`);
209
+ }
210
+
211
+ // Update description if provided
212
+ if (options.description) {
213
+ system.description = options.description;
214
+ changed = true;
215
+ console.log(` Description: ${system.description}`);
216
+ }
217
+
218
+ if (!changed) {
219
+ console.log(`\x1b[33mWarning:\x1b[0m No changes specified for system '${name}'`);
220
+ console.log('\nAvailable options:');
221
+ console.log(' --url <url> Update endpoint URL');
222
+ console.log(' --method <GET|POST> Update HTTP method');
223
+ console.log(' --timeout <ms> Update timeout');
224
+ console.log(' --expected-codes <n> Update expected HTTP codes');
225
+ console.log(' --hidden Hide from status page');
226
+ console.log(' --visible Show on status page');
227
+ console.log(' --display-name <name> Update display name');
228
+ console.log(' --description <text> Update description');
229
+ return;
230
+ }
231
+
232
+ await saveConfig(config);
233
+ console.log(`\n\x1b[32mUpdated:\x1b[0m System '${name}' has been updated`);
122
234
  }
123
235
 
124
236
  // Add a business process
@@ -196,12 +308,28 @@ async function list() {
196
308
  console.log(' No systems configured');
197
309
  console.log(' Run: make status-add-system name=api url=https://...');
198
310
  } else {
199
- for (const system of config.systems) {
200
- console.log(`\n \x1b[36m${system.system}\x1b[0m`);
201
- console.log(` URL: ${system.url}`);
202
- console.log(` Method: ${system.method}`);
203
- console.log(` Timeout: ${system.timeout}ms`);
204
- console.log(` Expected: ${system.expectedCodes.join(', ')}`);
311
+ const visibleSystems = config.systems.filter(s => s.display !== false);
312
+ const hiddenSystems = config.systems.filter(s => s.display === false);
313
+
314
+ if (visibleSystems.length > 0) {
315
+ for (const system of visibleSystems) {
316
+ const displayName = system.displayName ? ` (${system.displayName})` : '';
317
+ console.log(`\n \x1b[36m${system.system}\x1b[0m${displayName}`);
318
+ console.log(` URL: ${system.url}`);
319
+ console.log(` Method: ${system.method}`);
320
+ console.log(` Timeout: ${system.timeout}ms`);
321
+ console.log(` Expected: ${system.expectedCodes.join(', ')}`);
322
+ if (system.description) {
323
+ console.log(` Description: ${system.description}`);
324
+ }
325
+ }
326
+ }
327
+
328
+ if (hiddenSystems.length > 0) {
329
+ console.log('\n \x1b[33mHidden Systems (monitored but not displayed):\x1b[0m');
330
+ for (const system of hiddenSystems) {
331
+ console.log(` - ${system.system}: ${system.url}`);
332
+ }
205
333
  }
206
334
  }
207
335
 
@@ -317,11 +445,15 @@ async function main() {
317
445
  console.log('Stentorosaur Configuration Manager\n');
318
446
  console.log('Commands:');
319
447
  console.log(' add-system Add a system to monitor');
448
+ console.log(' update-system Update an existing system');
320
449
  console.log(' add-process Add a business process');
321
450
  console.log(' remove-system Remove a system');
322
451
  console.log(' list List all configured systems and processes');
323
452
  console.log(' validate Validate configuration files');
324
453
  console.log(' generate Generate docusaurus.config.js snippet');
454
+ console.log('\nOptions:');
455
+ console.log(' --hidden Hide system from status page (monitoring only)');
456
+ console.log(' --visible Show system on status page (remove hidden flag)');
325
457
  console.log('\nRun with --help for more info');
326
458
  process.exit(0);
327
459
  }
@@ -332,6 +464,9 @@ async function main() {
332
464
  case 'add-system':
333
465
  await addSystem(options);
334
466
  break;
467
+ case 'update-system':
468
+ await updateSystem(options);
469
+ break;
335
470
  case 'add-process':
336
471
  await addProcess(options);
337
472
  break;
@@ -14,7 +14,7 @@ YELLOW := \033[0;33m
14
14
  RED := \033[0;31m
15
15
  NC := \033[0m # No Color
16
16
 
17
- .PHONY: status-help status-init status-add-system status-add-process status-list status-test status-run status-update status-workflows
17
+ .PHONY: status-help status-init status-add-system status-update-system status-add-process status-list status-test status-run status-update status-workflows
18
18
 
19
19
  ## Show available status monitoring commands
20
20
  status-help:
@@ -23,22 +23,27 @@ status-help:
23
23
  @echo "========================================="
24
24
  @echo ""
25
25
  @echo "$(YELLOW)Setup:$(NC)"
26
- @echo " make status-init Initialize status monitoring configuration"
27
- @echo " make status-workflows Copy GitHub Actions workflow templates"
26
+ @echo " make status-init Initialize status monitoring configuration"
27
+ @echo " make status-workflows Copy GitHub Actions workflow templates"
28
28
  @echo ""
29
29
  @echo "$(YELLOW)Configuration:$(NC)"
30
- @echo " make status-add-system Add a new system/endpoint to monitor"
31
- @echo " make status-add-process Add a new business process to track"
32
- @echo " make status-list List all configured systems and processes"
33
- @echo " make status-edit Open monitor config in editor"
30
+ @echo " make status-add-system Add a new system/endpoint to monitor"
31
+ @echo " make status-update-system Update an existing system's settings"
32
+ @echo " make status-add-process Add a new business process to track"
33
+ @echo " make status-remove-system Remove a system from monitoring"
34
+ @echo " make status-list List all configured systems and processes"
35
+ @echo " make status-edit Open monitor config in editor"
34
36
  @echo ""
35
37
  @echo "$(YELLOW)Operations:$(NC)"
36
- @echo " make status-test Test monitoring configuration (dry run)"
37
- @echo " make status-run Run monitoring check and update data"
38
- @echo " make status-update Fetch GitHub issues and update status"
38
+ @echo " make status-test Test monitoring configuration (dry run)"
39
+ @echo " make status-run Run monitoring check and update data"
40
+ @echo " make status-update Fetch GitHub issues and update status"
39
41
  @echo ""
40
42
  @echo "$(YELLOW)Examples:$(NC)"
41
43
  @echo " make status-add-system name=api url=https://api.example.com/health"
44
+ @echo " make status-add-system name=internal url=https://... hidden=true"
45
+ @echo " make status-update-system name=api url=https://new-url.com"
46
+ @echo " make status-update-system name=api hidden=true"
42
47
  @echo " make status-add-process name=deployments"
43
48
  @echo ""
44
49
 
@@ -78,6 +83,7 @@ status-add-system:
78
83
  ifndef name
79
84
  @echo "$(RED)Error: 'name' is required$(NC)"
80
85
  @echo "Usage: make status-add-system name=api url=https://api.example.com/health"
86
+ @echo " make status-add-system name=internal url=https://... hidden=true"
81
87
  @exit 1
82
88
  endif
83
89
  ifndef url
@@ -90,9 +96,32 @@ endif
90
96
  --url "$(url)" \
91
97
  $(if $(method),--method "$(method)",) \
92
98
  $(if $(timeout),--timeout "$(timeout)",) \
93
- $(if $(expected),--expected-codes "$(expected)",)
99
+ $(if $(expected),--expected-codes "$(expected)",) \
100
+ $(if $(hidden),--hidden,) \
101
+ $(if $(displayname),--display-name "$(displayname)",) \
102
+ $(if $(description),--description "$(description)",)
94
103
  @echo "$(GREEN)System '$(name)' added to $(MONITOR_CONFIG)$(NC)"
95
104
 
105
+ ## Update an existing system (usage: make status-update-system name=api url=https://new-url.com)
106
+ status-update-system:
107
+ ifndef name
108
+ @echo "$(RED)Error: 'name' is required$(NC)"
109
+ @echo "Usage: make status-update-system name=api url=https://new-url.com"
110
+ @echo " make status-update-system name=api hidden=true"
111
+ @echo " make status-update-system name=api visible=true"
112
+ @exit 1
113
+ endif
114
+ @$(STENTOROSAUR_BIN)/stentorosaur-config update-system \
115
+ --name "$(name)" \
116
+ $(if $(url),--url "$(url)",) \
117
+ $(if $(method),--method "$(method)",) \
118
+ $(if $(timeout),--timeout "$(timeout)",) \
119
+ $(if $(expected),--expected-codes "$(expected)",) \
120
+ $(if $(hidden),--hidden,) \
121
+ $(if $(visible),--visible,) \
122
+ $(if $(displayname),--display-name "$(displayname)",) \
123
+ $(if $(description),--description "$(description)",)
124
+
96
125
  ## Add a new business process to track (usage: make status-add-process name=deployments)
97
126
  status-add-process:
98
127
  ifndef name