@friggframework/devtools 2.0.0--canary.461.c53515a.0 → 2.0.0--canary.461.27d4ea2.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.
|
@@ -490,6 +490,40 @@ describe('Resource Discovery', () => {
|
|
|
490
490
|
// Should call AWS API discovery (shared mode finds resources across stages)
|
|
491
491
|
expect(mockVpcDiscovery.discover).toHaveBeenCalled();
|
|
492
492
|
});
|
|
493
|
+
|
|
494
|
+
it('should search for specific KMS alias in isolated mode to find orphaned keys', async () => {
|
|
495
|
+
const appDefinition = {
|
|
496
|
+
name: 'quo-integrations',
|
|
497
|
+
managementMode: 'managed',
|
|
498
|
+
vpcIsolation: 'isolated',
|
|
499
|
+
encryption: { fieldLevelEncryptionMethod: 'kms' },
|
|
500
|
+
};
|
|
501
|
+
|
|
502
|
+
process.env.SLS_STAGE = 'dev';
|
|
503
|
+
|
|
504
|
+
// Mock KMS discovery finding key via alias search
|
|
505
|
+
mockKmsDiscovery.discover.mockResolvedValue({
|
|
506
|
+
defaultKmsKeyId: 'arn:aws:kms:us-east-1:123:key/found-via-alias',
|
|
507
|
+
kmsKeyAlias: 'alias/quo-integrations-dev-frigg-kms',
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
const result = await gatherDiscoveredResources(appDefinition);
|
|
511
|
+
|
|
512
|
+
// Should pass keyAlias to discover orphaned KMS keys
|
|
513
|
+
expect(mockKmsDiscovery.discover).toHaveBeenCalledWith(
|
|
514
|
+
expect.objectContaining({
|
|
515
|
+
serviceName: 'quo-integrations',
|
|
516
|
+
stage: 'dev',
|
|
517
|
+
keyAlias: 'alias/quo-integrations-dev-frigg-kms',
|
|
518
|
+
})
|
|
519
|
+
);
|
|
520
|
+
|
|
521
|
+
// Should return discovered KMS key (even if orphaned from stack)
|
|
522
|
+
expect(result).toEqual({
|
|
523
|
+
defaultKmsKeyId: 'arn:aws:kms:us-east-1:123:key/found-via-alias',
|
|
524
|
+
kmsKeyAlias: 'alias/quo-integrations-dev-frigg-kms',
|
|
525
|
+
});
|
|
526
|
+
});
|
|
493
527
|
});
|
|
494
528
|
});
|
|
495
529
|
|
|
@@ -61,8 +61,9 @@ function findCorePackage(startDir) {
|
|
|
61
61
|
function getGeneratedClientPackages(databaseConfig = {}) {
|
|
62
62
|
const packages = [];
|
|
63
63
|
|
|
64
|
-
// Check if MongoDB is enabled
|
|
65
|
-
const mongoEnabled = databaseConfig?.
|
|
64
|
+
// Check if MongoDB is enabled (via mongoDB or documentDB config)
|
|
65
|
+
const mongoEnabled = databaseConfig?.mongoDB?.enable === true ||
|
|
66
|
+
databaseConfig?.documentDB?.enable === true;
|
|
66
67
|
if (mongoEnabled) {
|
|
67
68
|
packages.push('generated/prisma-mongodb');
|
|
68
69
|
log('Including MongoDB client (based on AppDefinition)', 'blue');
|
|
@@ -544,4 +545,4 @@ if (require.main === module) {
|
|
|
544
545
|
.catch(() => process.exit(1));
|
|
545
546
|
}
|
|
546
547
|
|
|
547
|
-
module.exports = { buildPrismaLayer };
|
|
548
|
+
module.exports = { buildPrismaLayer, getGeneratedClientPackages };
|
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.
|
|
4
|
+
"version": "2.0.0--canary.461.27d4ea2.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.
|
|
15
|
-
"@friggframework/test": "2.0.0--canary.461.
|
|
14
|
+
"@friggframework/schemas": "2.0.0--canary.461.27d4ea2.0",
|
|
15
|
+
"@friggframework/test": "2.0.0--canary.461.27d4ea2.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.
|
|
38
|
-
"@friggframework/prettier-config": "2.0.0--canary.461.
|
|
37
|
+
"@friggframework/eslint-config": "2.0.0--canary.461.27d4ea2.0",
|
|
38
|
+
"@friggframework/prettier-config": "2.0.0--canary.461.27d4ea2.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": "
|
|
73
|
+
"gitHead": "27d4ea22c26e1cc261affa921951355fc4109f46"
|
|
74
74
|
}
|