proschi 0.6.0 → 0.8.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.
@@ -396,7 +396,7 @@
396
396
  },
397
397
  "section-keyword": {
398
398
  "name": "keyword.other.proschi",
399
- "match": "\\b(?:traffic|requirements|capacity|entity|decision|test|mix|durable|volatile|survive|because|rejected|calls|before|after|never|every|waits|for|starts|at|or|responds|writes|reads|responding|handles|failure|path|replicas|any|strong|eventual|store|in|scenario|latency|availability|cost|shards|consistency|bandwidth|egress|no|from|to|has|of|node|key|index|unique|optional|p50|p90|p95|p99|p999)\\b"
399
+ "match": "\\b(?:traffic|requirements|capacity|entity|decision|test|mix|durable|volatile|survive|because|rejected|calls|before|after|never|every|waits|for|starts|at|or|responds|writes|reads|responding|handles|failure|path|replicas|any|strong|eventual|store|in|scenario|latency|availability|cost|shards|consistency|bandwidth|egress|timeout|no|from|to|has|of|node|key|index|unique|optional|p50|p90|p95|p99|p999)\\b"
400
400
  },
401
401
  "quantity": {
402
402
  "comment": "A number with an optional fraction, magnitude and unit, attached or one space away: 120, 2.5, 50ms, 100k rps, 99.9%, 4xx, 500 MB/s, 0.05 usd/GB.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proschi",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Command-line checker and language server for Proschi architecture diagrams",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -8,7 +8,7 @@
8
8
  "url": "https://github.com/gvart/proschi.git",
9
9
  "directory": "tooling"
10
10
  },
11
- "homepage": "https://gvart.github.io/proschi/",
11
+ "homepage": "https://proschi.app/",
12
12
  "keywords": [
13
13
  "proschi",
14
14
  "architecture",
@@ -213,33 +213,70 @@
213
213
  "enum": [
214
214
  "shape",
215
215
  "service",
216
- "serverless",
217
- "compute",
218
- "container",
219
- "storage",
220
216
  "database",
221
217
  "cache",
222
218
  "queue",
219
+ "storage",
223
220
  "cdn",
221
+ "serverless",
222
+ "container",
223
+ "compute",
224
224
  "external",
225
225
  "text",
226
226
  "group"
227
227
  ]
228
228
  },
229
229
  "techStack": {
230
- "enum": [
230
+ "type": "string",
231
+ "description": "A tech stack from the component catalog (see `examples`), or the text of an unknown one, in which case `inferredKind` is set.",
232
+ "examples": [
231
233
  "Rectangle",
232
234
  "Circle",
233
235
  "Diamond",
234
236
  "Cylinder",
235
237
  "Cloud",
236
238
  "Actor",
239
+ "Browser",
240
+ "Mobile App",
237
241
  "Note",
242
+ "Service",
243
+ "Worker",
244
+ "Database",
245
+ "NoSQL Database",
246
+ "Cache",
247
+ "Message Queue",
248
+ "Object Storage",
249
+ "CDN",
250
+ "Load Balancer",
251
+ "API Gateway",
252
+ "DNS",
253
+ "WAF",
254
+ "Function",
255
+ "Search Engine",
256
+ "Data Warehouse",
238
257
  "REST API",
239
258
  "GraphQL",
240
259
  "gRPC",
241
260
  "WebSocket",
242
261
  "SOAP API",
262
+ "Spring Boot",
263
+ "Kotlin",
264
+ "Java",
265
+ "Go",
266
+ "Node.js",
267
+ "Python",
268
+ "Django",
269
+ "FastAPI",
270
+ "Flask",
271
+ "Ruby on Rails",
272
+ ".NET",
273
+ "PHP",
274
+ "Rust",
275
+ "Elixir",
276
+ "Kubernetes",
277
+ "Docker",
278
+ "VM",
279
+ "Cloudflare Workers",
243
280
  "AWS Lambda",
244
281
  "AWS API Gateway",
245
282
  "AWS EC2",
@@ -253,13 +290,24 @@
253
290
  "AWS DynamoDB",
254
291
  "AWS ElastiCache",
255
292
  "AWS Aurora",
293
+ "AWS DocumentDB",
294
+ "AWS Keyspaces",
295
+ "AWS Neptune",
296
+ "AWS Redshift",
297
+ "AWS Athena",
298
+ "AWS OpenSearch",
256
299
  "AWS SQS",
257
300
  "AWS SNS",
258
301
  "AWS EventBridge",
259
302
  "AWS Kinesis",
303
+ "AWS MSK",
260
304
  "AWS CloudFront",
261
305
  "AWS Route53",
262
306
  "AWS Load Balancer",
307
+ "AWS WAF",
308
+ "AWS Global Accelerator",
309
+ "AWS SES",
310
+ "AWS Cognito",
263
311
  "GCP Cloud Functions",
264
312
  "GCP Cloud Run",
265
313
  "GCP App Engine",
@@ -272,16 +320,19 @@
272
320
  "GCP Bigtable",
273
321
  "GCP Spanner",
274
322
  "GCP BigQuery",
323
+ "GCP Memorystore",
275
324
  "GCP Pub/Sub",
276
325
  "GCP Cloud CDN",
277
326
  "GCP Cloud DNS",
278
327
  "GCP Load Balancing",
328
+ "GCP Apigee",
279
329
  "Azure Functions",
280
330
  "Azure Logic Apps",
281
331
  "Azure API Management",
282
332
  "Azure VM",
283
333
  "Azure AKS",
284
334
  "Azure Container Instances",
335
+ "Azure App Service",
285
336
  "Azure Blob Storage",
286
337
  "Azure Files",
287
338
  "Azure Disk Storage",
@@ -290,6 +341,7 @@
290
341
  "Azure Database for PostgreSQL",
291
342
  "Azure Database for MySQL",
292
343
  "Azure Cache for Redis",
344
+ "Azure AI Search",
293
345
  "Azure Service Bus",
294
346
  "Azure Event Hubs",
295
347
  "Azure Event Grid",
@@ -297,6 +349,8 @@
297
349
  "Azure CDN",
298
350
  "Azure DNS",
299
351
  "Azure Front Door",
352
+ "Azure Load Balancer",
353
+ "Azure Application Gateway",
300
354
  "PostgreSQL",
301
355
  "MySQL",
302
356
  "MongoDB",
@@ -312,9 +366,21 @@
312
366
  "SQLite",
313
367
  "Oracle",
314
368
  "SQL Server",
369
+ "CockroachDB",
370
+ "YugabyteDB",
371
+ "TiDB",
372
+ "Vitess",
373
+ "ScyllaDB",
374
+ "Couchbase",
375
+ "HBase",
376
+ "etcd",
377
+ "ZooKeeper",
315
378
  "Memcached",
316
379
  "Hazelcast",
317
380
  "Aerospike",
381
+ "Valkey",
382
+ "KeyDB",
383
+ "Dragonfly",
318
384
  "Kafka",
319
385
  "RabbitMQ",
320
386
  "SQS",
@@ -323,12 +389,52 @@
323
389
  "Apache Pulsar",
324
390
  "ActiveMQ",
325
391
  "ZeroMQ",
392
+ "Redpanda",
393
+ "OpenSearch",
394
+ "Solr",
395
+ "Meilisearch",
396
+ "Typesense",
397
+ "Algolia",
398
+ "Snowflake",
399
+ "ClickHouse",
400
+ "Apache Druid",
401
+ "Apache Pinot",
402
+ "Databricks",
403
+ "Prometheus",
404
+ "MinIO",
405
+ "Cloudflare R2",
406
+ "Ceph",
407
+ "HDFS",
408
+ "Cloudflare",
409
+ "Fastly",
410
+ "Akamai",
411
+ "nginx",
412
+ "Envoy",
413
+ "HAProxy",
414
+ "Traefik",
415
+ "Kubernetes Ingress",
416
+ "Kong",
417
+ "Spring Cloud Gateway",
326
418
  "Third Party API",
327
419
  "Payment Gateway",
328
420
  "Auth Service",
329
421
  "Email Service",
330
422
  "SMS Service",
423
+ "Push Service",
331
424
  "Analytics Service",
425
+ "Stripe",
426
+ "PayPal",
427
+ "Adyen",
428
+ "Braintree",
429
+ "Twilio",
430
+ "SendGrid",
431
+ "Mailgun",
432
+ "Auth0",
433
+ "Okta",
434
+ "Google Maps",
435
+ "APNs",
436
+ "FCM",
437
+ "OpenAI",
332
438
  "Text Note",
333
439
  "Sticky Note",
334
440
  "Comment",
@@ -338,6 +444,27 @@
338
444
  "Service Group"
339
445
  ]
340
446
  },
447
+ "inferredKind": {
448
+ "enum": [
449
+ "client",
450
+ "edge",
451
+ "cdn",
452
+ "loadbalancer",
453
+ "gateway",
454
+ "dns",
455
+ "service",
456
+ "function",
457
+ "cache",
458
+ "database",
459
+ "search",
460
+ "analytics",
461
+ "queue",
462
+ "storage",
463
+ "external",
464
+ "other"
465
+ ],
466
+ "description": "Only for a tech the catalog does not know: the kind the simulation gives the node, from the words in its name."
467
+ },
341
468
  "ownerTeam": {
342
469
  "type": "string"
343
470
  },
@@ -951,7 +1078,12 @@
951
1078
  "egressUsdPerGb": {
952
1079
  "type": "number",
953
1080
  "minimum": 0,
954
- "description": "`egress`: price of data leaving the node, in USD per GB."
1081
+ "description": "`egress`: price of data the node sends to clients and third parties (internet egress), in USD per GB."
1082
+ },
1083
+ "timeoutMs": {
1084
+ "type": "number",
1085
+ "minimum": 0,
1086
+ "description": "`timeout`: what a failed call (`-x`) to the node costs, in milliseconds."
955
1087
  },
956
1088
  "loc": {
957
1089
  "$ref": "#/$defs/loc"