@friggframework/schemas 2.0.0-next.101 → 2.0.0-next.103

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@friggframework/schemas",
3
- "version": "2.0.0-next.101",
3
+ "version": "2.0.0-next.103",
4
4
  "description": "Canonical JSON Schema definitions for Frigg Framework",
5
5
  "main": "index.js",
6
6
  "author": "",
@@ -41,5 +41,5 @@
41
41
  "middleware/",
42
42
  "index.js"
43
43
  ],
44
- "gitHead": "63e9d85c59dc39bb745091911c8149a0de2b3cff"
44
+ "gitHead": "9fc434b0c6e1323bd16be165d311b6880a23de12"
45
45
  }
@@ -41,18 +41,27 @@
41
41
  },
42
42
  "environment": {
43
43
  "type": "object",
44
- "description": "Environment variable configuration (key: true/false flags)",
44
+ "description": "Environment variable configuration. true includes the variable in the Lambda environment; 'ssm' offloads it to SSM Parameter Store (requires ssm.enable) so it never counts against the Lambda 4KB env limit",
45
45
  "patternProperties": {
46
46
  "^[A-Z][A-Z0-9_]*$": {
47
- "type": "boolean",
48
- "description": "Set to true to include this environment variable from process.env"
47
+ "oneOf": [
48
+ {
49
+ "type": "boolean",
50
+ "description": "Set to true to include this environment variable from process.env"
51
+ },
52
+ {
53
+ "type": "string",
54
+ "const": "ssm",
55
+ "description": "Offload this variable to SSM Parameter Store; fetched at runtime instead of stored in the Lambda environment"
56
+ }
57
+ ]
49
58
  }
50
59
  },
51
60
  "additionalProperties": false,
52
61
  "examples": [
53
62
  {
54
63
  "NODE_ENV": true,
55
- "API_KEY": true,
64
+ "API_KEY": "ssm",
56
65
  "DATABASE_URL": true
57
66
  }
58
67
  ]
@@ -450,11 +459,24 @@
450
459
  "description": "Enable SSM Parameter Store for configuration",
451
460
  "default": false
452
461
  },
462
+ "parameterPrefix": {
463
+ "type": "string",
464
+ "description": "Override the default parameter path prefix (/frigg/${service}/${stage}). Non-default prefixes may require widening the *frigg*-scoped deployment IAM policies"
465
+ },
466
+ "kmsKeyArn": {
467
+ "type": "string",
468
+ "description": "Customer-managed KMS key for SecureString parameters. When set, the Lambda execution role is granted kms:Decrypt on this key. Defaults to the AWS-managed aws/ssm key"
469
+ },
470
+ "restrictIamToPrefix": {
471
+ "type": "boolean",
472
+ "description": "Drop the legacy broad parameter/* read grant and only allow reads under the parameter prefix",
473
+ "default": false
474
+ },
453
475
  "parameters": {
454
476
  "type": "object",
455
477
  "description": "SSM parameter definitions",
456
478
  "patternProperties": {
457
- "^[a-zA-Z0-9/_.-]+$": {
479
+ "^[A-Z][A-Z0-9_]*$": {
458
480
  "type": "object",
459
481
  "properties": {
460
482
  "type": {
@@ -462,6 +484,12 @@
462
484
  "enum": ["String", "StringList", "SecureString"],
463
485
  "default": "String"
464
486
  },
487
+ "tier": {
488
+ "type": "string",
489
+ "description": "Parameter Store tier for this key: 'standard' caps the value at 4KB, 'advanced' at 8KB (billed by AWS)",
490
+ "enum": ["standard", "advanced"],
491
+ "default": "standard"
492
+ },
465
493
  "description": {
466
494
  "type": "string"
467
495
  }
@@ -485,6 +513,18 @@
485
513
  },
486
514
  "additionalProperties": false
487
515
  },
516
+ "lambda": {
517
+ "type": "object",
518
+ "description": "Lambda function generation options",
519
+ "properties": {
520
+ "scopedEnvironment": {
521
+ "type": "boolean",
522
+ "description": "Scope framework-generated environment variables (queue URLs, migration/scheduler vars) to the functions that consume them instead of broadcasting to every function. Reduces per-function env size against the Lambda 4KB limit",
523
+ "default": false
524
+ }
525
+ },
526
+ "additionalProperties": false
527
+ },
488
528
  "websockets": {
489
529
  "type": "object",
490
530
  "description": "WebSocket API Gateway configuration",