@friggframework/devtools 2.0.0--canary.461.b4ab96e.0 → 2.0.0--canary.461.e5a72ea.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.
@@ -83,7 +83,36 @@ class AuroraBuilder extends InfrastructureBuilder {
83
83
  console.log(`\n[${this.name}] Configuring Aurora PostgreSQL...`);
84
84
 
85
85
  const dbConfig = appDefinition.database.postgres;
86
- const management = dbConfig.management || 'discover';
86
+
87
+ // Normalize top-level managementMode
88
+ const globalMode = appDefinition.managementMode || 'discover';
89
+ const vpcIsolation = appDefinition.vpcIsolation || 'shared';
90
+
91
+ let management = dbConfig.management;
92
+
93
+ if (globalMode === 'managed') {
94
+ // Warn about ignored granular options
95
+ if (dbConfig.management) {
96
+ console.log(` ⚠️ managementMode='managed' ignoring: database.postgres.management`);
97
+ }
98
+
99
+ // Clear granular option to prevent conflicts
100
+ delete appDefinition.database.postgres.management;
101
+
102
+ // Set management based on isolation strategy
103
+ if (vpcIsolation === 'isolated') {
104
+ management = 'managed'; // New VPC = new Aurora
105
+ console.log(` managementMode='managed' + vpcIsolation='isolated' → creating new Aurora`);
106
+ } else {
107
+ management = 'discover'; // Shared VPC = reuse Aurora
108
+ appDefinition.database.postgres.autoCreateCredentials = true;
109
+ console.log(` managementMode='managed' + vpcIsolation='shared' → discovering Aurora`);
110
+ }
111
+ } else if (globalMode === 'existing') {
112
+ management = 'existing';
113
+ } else {
114
+ management = management || 'discover';
115
+ }
87
116
 
88
117
  console.log(` PostgreSQL Management Mode: ${management}`);
89
118
 
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.b4ab96e.0",
4
+ "version": "2.0.0--canary.461.e5a72ea.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.b4ab96e.0",
15
- "@friggframework/test": "2.0.0--canary.461.b4ab96e.0",
14
+ "@friggframework/schemas": "2.0.0--canary.461.e5a72ea.0",
15
+ "@friggframework/test": "2.0.0--canary.461.e5a72ea.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.b4ab96e.0",
38
- "@friggframework/prettier-config": "2.0.0--canary.461.b4ab96e.0",
37
+ "@friggframework/eslint-config": "2.0.0--canary.461.e5a72ea.0",
38
+ "@friggframework/prettier-config": "2.0.0--canary.461.e5a72ea.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": "b4ab96e66e22c1d48bbd77bc48374b4df6c7fb0a"
73
+ "gitHead": "e5a72eac2f310ebb36765fbc2e810ca850f2cd9f"
74
74
  }