@friggframework/devtools 2.0.0--canary.461.54b9dc9.0 → 2.0.0--canary.461.b8d8dfd.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.
@@ -59,6 +59,38 @@ class MigrationBuilder extends InfrastructureBuilder {
59
59
  environment: {},
60
60
  };
61
61
 
62
+ // Create S3 bucket for migration status tracking
63
+ result.resources.FriggMigrationStatusBucket = {
64
+ Type: 'AWS::S3::Bucket',
65
+ Properties: {
66
+ BucketName: '${self:service}-${self:provider.stage}-migration-status',
67
+ VersioningConfiguration: {
68
+ Status: 'Enabled', // Enable versioning for audit trail
69
+ },
70
+ LifecycleConfiguration: {
71
+ Rules: [
72
+ {
73
+ Id: 'DeleteOldMigrations',
74
+ Status: 'Enabled',
75
+ ExpirationInDays: 90, // Keep migration history for 90 days
76
+ },
77
+ ],
78
+ },
79
+ PublicAccessBlockConfiguration: {
80
+ BlockPublicAcls: true,
81
+ BlockPublicPolicy: true,
82
+ IgnorePublicAcls: true,
83
+ RestrictPublicBuckets: true,
84
+ },
85
+ Tags: [
86
+ { Key: 'ManagedBy', Value: 'Frigg' },
87
+ { Key: 'Purpose', Value: 'MigrationStatusTracking' },
88
+ ],
89
+ },
90
+ };
91
+
92
+ console.log(' ✓ Created FriggMigrationStatusBucket resource');
93
+
62
94
  // Create SQS queue for migration jobs
63
95
  result.resources.DbMigrationQueue = {
64
96
  Type: 'AWS::SQS::Queue',
@@ -176,6 +208,10 @@ class MigrationBuilder extends InfrastructureBuilder {
176
208
 
177
209
  console.log(' ✓ Created dbMigrationRouter function');
178
210
 
211
+ // Add S3 bucket name to environment (for migration status tracking)
212
+ result.environment.S3_BUCKET_NAME = { Ref: 'FriggMigrationStatusBucket' };
213
+ result.environment.MIGRATION_STATUS_BUCKET = { Ref: 'FriggMigrationStatusBucket' };
214
+
179
215
  // Add queue URL to environment
180
216
  result.environment.DB_MIGRATION_QUEUE_URL = { Ref: 'DbMigrationQueue' };
181
217
 
@@ -183,7 +219,7 @@ class MigrationBuilder extends InfrastructureBuilder {
183
219
  // Avoids Prisma needing to load app definition to determine database type
184
220
  result.environment.DB_TYPE = 'postgresql';
185
221
 
186
- console.log(' ✓ Added DB_MIGRATION_QUEUE_URL and DB_TYPE environment variables');
222
+ console.log(' ✓ Added S3_BUCKET_NAME, DB_MIGRATION_QUEUE_URL, and DB_TYPE environment variables');
187
223
 
188
224
  // Add IAM permissions for SQS
189
225
  result.iamStatements.push({
@@ -209,7 +245,13 @@ class MigrationBuilder extends InfrastructureBuilder {
209
245
  's3:DeleteObject',
210
246
  ],
211
247
  Resource: {
212
- 'Fn::Sub': 'arn:aws:s3:::${S3BucketName}/migrations/*',
248
+ 'Fn::Join': [
249
+ '',
250
+ [
251
+ { 'Fn::GetAtt': ['FriggMigrationStatusBucket', 'Arn'] },
252
+ '/migrations/*',
253
+ ],
254
+ ],
213
255
  },
214
256
  });
215
257
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@friggframework/devtools",
3
3
  "prettier": "@friggframework/prettier-config",
4
- "version": "2.0.0--canary.461.54b9dc9.0",
4
+ "version": "2.0.0--canary.461.b8d8dfd.0",
5
5
  "dependencies": {
6
6
  "@aws-sdk/client-ec2": "^3.835.0",
7
7
  "@aws-sdk/client-kms": "^3.835.0",
@@ -11,8 +11,8 @@
11
11
  "@babel/eslint-parser": "^7.18.9",
12
12
  "@babel/parser": "^7.25.3",
13
13
  "@babel/traverse": "^7.25.3",
14
- "@friggframework/schemas": "2.0.0--canary.461.54b9dc9.0",
15
- "@friggframework/test": "2.0.0--canary.461.54b9dc9.0",
14
+ "@friggframework/schemas": "2.0.0--canary.461.b8d8dfd.0",
15
+ "@friggframework/test": "2.0.0--canary.461.b8d8dfd.0",
16
16
  "@hapi/boom": "^10.0.1",
17
17
  "@inquirer/prompts": "^5.3.8",
18
18
  "axios": "^1.7.2",
@@ -34,8 +34,8 @@
34
34
  "serverless-http": "^2.7.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@friggframework/eslint-config": "2.0.0--canary.461.54b9dc9.0",
38
- "@friggframework/prettier-config": "2.0.0--canary.461.54b9dc9.0",
37
+ "@friggframework/eslint-config": "2.0.0--canary.461.b8d8dfd.0",
38
+ "@friggframework/prettier-config": "2.0.0--canary.461.b8d8dfd.0",
39
39
  "aws-sdk-client-mock": "^4.1.0",
40
40
  "aws-sdk-client-mock-jest": "^4.1.0",
41
41
  "jest": "^30.1.3",
@@ -70,5 +70,5 @@
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "54b9dc91a26f4d138030742977bcf6f69f6ba7ea"
73
+ "gitHead": "b8d8dfde09edee96392f40cf86093afd4cbc1216"
74
74
  }