@venturekit/infra 0.0.0-dev.20260311071358 → 0.0.0-dev.20260312002737
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/dist/cdk/index.d.ts +8 -0
- package/dist/cdk/index.d.ts.map +1 -0
- package/dist/cdk/index.js +11 -0
- package/dist/cdk/index.js.map +1 -0
- package/dist/cdk/stack.d.ts +29 -0
- package/dist/cdk/stack.d.ts.map +1 -0
- package/dist/cdk/stack.js +301 -0
- package/dist/cdk/stack.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/venture.d.ts +10 -2
- package/dist/venture.d.ts.map +1 -1
- package/dist/venture.js +10 -166
- package/dist/venture.js.map +1 -1
- package/package.json +19 -6
- package/dist/constructs/api.d.ts +0 -77
- package/dist/constructs/api.d.ts.map +0 -1
- package/dist/constructs/api.js +0 -101
- package/dist/constructs/api.js.map +0 -1
- package/dist/constructs/index.d.ts +0 -7
- package/dist/constructs/index.d.ts.map +0 -1
- package/dist/constructs/index.js +0 -23
- package/dist/constructs/index.js.map +0 -1
- package/dist/constructs/lambda.d.ts +0 -48
- package/dist/constructs/lambda.d.ts.map +0 -1
- package/dist/constructs/lambda.js +0 -50
- package/dist/constructs/lambda.js.map +0 -1
- package/dist/constructs/vpc.d.ts +0 -38
- package/dist/constructs/vpc.d.ts.map +0 -1
- package/dist/constructs/vpc.js +0 -35
- package/dist/constructs/vpc.js.map +0 -1
- package/dist/translators/auth.d.ts +0 -21
- package/dist/translators/auth.d.ts.map +0 -1
- package/dist/translators/auth.js +0 -69
- package/dist/translators/auth.js.map +0 -1
- package/dist/translators/cache.d.ts +0 -22
- package/dist/translators/cache.d.ts.map +0 -1
- package/dist/translators/cache.js +0 -38
- package/dist/translators/cache.js.map +0 -1
- package/dist/translators/database.d.ts +0 -33
- package/dist/translators/database.d.ts.map +0 -1
- package/dist/translators/database.js +0 -89
- package/dist/translators/database.js.map +0 -1
- package/dist/translators/index.d.ts +0 -16
- package/dist/translators/index.d.ts.map +0 -1
- package/dist/translators/index.js +0 -26
- package/dist/translators/index.js.map +0 -1
- package/dist/translators/orchestrator.d.ts +0 -19
- package/dist/translators/orchestrator.d.ts.map +0 -1
- package/dist/translators/orchestrator.js +0 -95
- package/dist/translators/orchestrator.js.map +0 -1
- package/dist/translators/queue.d.ts +0 -20
- package/dist/translators/queue.d.ts.map +0 -1
- package/dist/translators/queue.js +0 -39
- package/dist/translators/queue.js.map +0 -1
- package/dist/translators/schedule.d.ts +0 -19
- package/dist/translators/schedule.d.ts.map +0 -1
- package/dist/translators/schedule.js +0 -45
- package/dist/translators/schedule.js.map +0 -1
- package/dist/translators/storage.d.ts +0 -20
- package/dist/translators/storage.d.ts.map +0 -1
- package/dist/translators/storage.js +0 -49
- package/dist/translators/storage.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CDK constructs for VentureKit infrastructure.
|
|
4
|
+
*
|
|
5
|
+
* Exported for use by the generated CDK app in .vk/cdk/.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.VentureStack = void 0;
|
|
9
|
+
var stack_js_1 = require("./stack.js");
|
|
10
|
+
Object.defineProperty(exports, "VentureStack", { enumerable: true, get: function () { return stack_js_1.VentureStack; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cdk/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uCAA0C;AAAjC,wGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VentureStack — CDK Stack for VentureKit applications
|
|
3
|
+
*
|
|
4
|
+
* Translates VentureKit infrastructure intents into CloudFormation resources.
|
|
5
|
+
* This is the single entry point for `vk deploy`.
|
|
6
|
+
*
|
|
7
|
+
* Consumers never see this file — it's invoked by the generated CDK app in .vk/cdk/.
|
|
8
|
+
*/
|
|
9
|
+
import * as cdk from 'aws-cdk-lib';
|
|
10
|
+
import { Construct } from 'constructs';
|
|
11
|
+
import type { VentureIntent } from '@venturekit/core';
|
|
12
|
+
export interface VentureStackProps extends cdk.StackProps {
|
|
13
|
+
projectName: string;
|
|
14
|
+
stage: string;
|
|
15
|
+
routesDir: string;
|
|
16
|
+
infrastructure?: VentureIntent;
|
|
17
|
+
projectDir: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class VentureStack extends cdk.Stack {
|
|
20
|
+
readonly outputs: Record<string, cdk.CfnOutput>;
|
|
21
|
+
constructor(scope: Construct, id: string, props: VentureStackProps);
|
|
22
|
+
private createDatabase;
|
|
23
|
+
private createStorage;
|
|
24
|
+
private createAuth;
|
|
25
|
+
private createQueue;
|
|
26
|
+
private createCache;
|
|
27
|
+
private sizeToInstanceType;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAanC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,kBAAkB,CAAC;AAErE,MAAM,WAAW,iBAAkB,SAAQ,GAAG,CAAC,UAAU;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,SAAQ,GAAG,CAAC,KAAK;IACzC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAM;gBAEhD,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;IAkFlE,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,UAAU;IAiElB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,kBAAkB;CAU3B"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* VentureStack — CDK Stack for VentureKit applications
|
|
4
|
+
*
|
|
5
|
+
* Translates VentureKit infrastructure intents into CloudFormation resources.
|
|
6
|
+
* This is the single entry point for `vk deploy`.
|
|
7
|
+
*
|
|
8
|
+
* Consumers never see this file — it's invoked by the generated CDK app in .vk/cdk/.
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.VentureStack = void 0;
|
|
45
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
46
|
+
const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
|
|
47
|
+
const rds = __importStar(require("aws-cdk-lib/aws-rds"));
|
|
48
|
+
const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
|
|
49
|
+
const sqs = __importStar(require("aws-cdk-lib/aws-sqs"));
|
|
50
|
+
const cognito = __importStar(require("aws-cdk-lib/aws-cognito"));
|
|
51
|
+
const elasticache = __importStar(require("aws-cdk-lib/aws-elasticache"));
|
|
52
|
+
const apigatewayv2 = __importStar(require("aws-cdk-lib/aws-apigatewayv2"));
|
|
53
|
+
class VentureStack extends cdk.Stack {
|
|
54
|
+
outputs = {};
|
|
55
|
+
constructor(scope, id, props) {
|
|
56
|
+
super(scope, id, props);
|
|
57
|
+
const { projectName, stage, routesDir, infrastructure, projectDir } = props;
|
|
58
|
+
// Shared VPC (created if databases or caches are declared)
|
|
59
|
+
let vpc;
|
|
60
|
+
const needsVpc = (infrastructure?.databases && infrastructure.databases.length > 0) ||
|
|
61
|
+
(infrastructure?.caches && infrastructure.caches.length > 0);
|
|
62
|
+
if (needsVpc) {
|
|
63
|
+
vpc = new ec2.Vpc(this, `${projectName}-vpc`, {
|
|
64
|
+
maxAzs: 2,
|
|
65
|
+
natGateways: stage === 'prod' ? 1 : 0,
|
|
66
|
+
subnetConfiguration: [
|
|
67
|
+
{ name: 'public', subnetType: ec2.SubnetType.PUBLIC, cidrMask: 24 },
|
|
68
|
+
{ name: 'private', subnetType: ec2.SubnetType.PRIVATE_ISOLATED, cidrMask: 24 },
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// --- Databases ---
|
|
73
|
+
if (infrastructure?.databases) {
|
|
74
|
+
for (const db of infrastructure.databases) {
|
|
75
|
+
this.createDatabase(db, projectName, stage, vpc);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// --- Storage ---
|
|
79
|
+
if (infrastructure?.storage) {
|
|
80
|
+
for (const storage of infrastructure.storage) {
|
|
81
|
+
this.createStorage(storage, projectName, stage);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// --- Auth ---
|
|
85
|
+
if (infrastructure?.auth) {
|
|
86
|
+
for (const auth of infrastructure.auth) {
|
|
87
|
+
this.createAuth(auth, projectName, stage);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// --- Queues ---
|
|
91
|
+
if (infrastructure?.queues) {
|
|
92
|
+
for (const queue of infrastructure.queues) {
|
|
93
|
+
this.createQueue(queue, projectName, stage);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// --- Caches ---
|
|
97
|
+
if (infrastructure?.caches) {
|
|
98
|
+
for (const cache of infrastructure.caches) {
|
|
99
|
+
this.createCache(cache, projectName, stage, vpc);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// --- API Gateway + Lambda routes ---
|
|
103
|
+
// Routes are discovered at deploy time from the filesystem
|
|
104
|
+
// For now, create the API Gateway shell; route wiring happens in a future iteration
|
|
105
|
+
const api = new apigatewayv2.HttpApi(this, `${projectName}-api`, {
|
|
106
|
+
apiName: `${projectName}-${stage}`,
|
|
107
|
+
corsPreflight: {
|
|
108
|
+
allowOrigins: ['*'],
|
|
109
|
+
allowMethods: [
|
|
110
|
+
apigatewayv2.CorsHttpMethod.GET,
|
|
111
|
+
apigatewayv2.CorsHttpMethod.POST,
|
|
112
|
+
apigatewayv2.CorsHttpMethod.PUT,
|
|
113
|
+
apigatewayv2.CorsHttpMethod.DELETE,
|
|
114
|
+
apigatewayv2.CorsHttpMethod.PATCH,
|
|
115
|
+
apigatewayv2.CorsHttpMethod.OPTIONS,
|
|
116
|
+
],
|
|
117
|
+
allowHeaders: ['*'],
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
new cdk.CfnOutput(this, 'ApiUrl', {
|
|
121
|
+
value: api.apiEndpoint,
|
|
122
|
+
description: 'API Gateway URL',
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
createDatabase(intent, projectName, stage, vpc) {
|
|
126
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
127
|
+
const instanceType = this.sizeToInstanceType(intent.size || 'small');
|
|
128
|
+
const instance = new rds.DatabaseInstance(this, resourceName, {
|
|
129
|
+
engine: rds.DatabaseInstanceEngine.postgres({
|
|
130
|
+
version: rds.PostgresEngineVersion.VER_16,
|
|
131
|
+
}),
|
|
132
|
+
instanceType,
|
|
133
|
+
vpc,
|
|
134
|
+
vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_ISOLATED },
|
|
135
|
+
databaseName: intent.name || intent.id,
|
|
136
|
+
credentials: rds.Credentials.fromGeneratedSecret('postgres'),
|
|
137
|
+
removalPolicy: stage === 'prod' ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
|
|
138
|
+
deletionProtection: stage === 'prod',
|
|
139
|
+
multiAz: intent.highAvailability ?? false,
|
|
140
|
+
storageEncrypted: intent.encrypted ?? true,
|
|
141
|
+
backupRetention: intent.backups !== false
|
|
142
|
+
? cdk.Duration.days(intent.backupRetentionDays ?? 7)
|
|
143
|
+
: cdk.Duration.days(0),
|
|
144
|
+
});
|
|
145
|
+
new cdk.CfnOutput(this, `${resourceName}-endpoint`, {
|
|
146
|
+
value: instance.dbInstanceEndpointAddress,
|
|
147
|
+
description: `Database endpoint for ${intent.id}`,
|
|
148
|
+
});
|
|
149
|
+
new cdk.CfnOutput(this, `${resourceName}-secret-arn`, {
|
|
150
|
+
value: instance.secret?.secretArn || '',
|
|
151
|
+
description: `Database secret ARN for ${intent.id}`,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
createStorage(intent, projectName, stage) {
|
|
155
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
156
|
+
const bucket = new s3.Bucket(this, resourceName, {
|
|
157
|
+
bucketName: `${resourceName}-${stage}`,
|
|
158
|
+
versioned: intent.versioned ?? intent.purpose === 'backups',
|
|
159
|
+
removalPolicy: stage === 'prod' ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
|
|
160
|
+
autoDeleteObjects: stage !== 'prod',
|
|
161
|
+
encryption: s3.BucketEncryption.S3_MANAGED,
|
|
162
|
+
cors: intent.corsOrigins
|
|
163
|
+
? [
|
|
164
|
+
{
|
|
165
|
+
allowedOrigins: intent.corsOrigins,
|
|
166
|
+
allowedMethods: [
|
|
167
|
+
s3.HttpMethods.GET,
|
|
168
|
+
s3.HttpMethods.PUT,
|
|
169
|
+
s3.HttpMethods.POST,
|
|
170
|
+
s3.HttpMethods.DELETE,
|
|
171
|
+
],
|
|
172
|
+
allowedHeaders: ['*'],
|
|
173
|
+
},
|
|
174
|
+
]
|
|
175
|
+
: undefined,
|
|
176
|
+
});
|
|
177
|
+
new cdk.CfnOutput(this, `${resourceName}-bucket-name`, {
|
|
178
|
+
value: bucket.bucketName,
|
|
179
|
+
description: `S3 bucket name for ${intent.id}`,
|
|
180
|
+
});
|
|
181
|
+
new cdk.CfnOutput(this, `${resourceName}-bucket-arn`, {
|
|
182
|
+
value: bucket.bucketArn,
|
|
183
|
+
description: `S3 bucket ARN for ${intent.id}`,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
createAuth(intent, projectName, stage) {
|
|
187
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
188
|
+
const passwordPolicy = intent.passwordStrength === 'strong'
|
|
189
|
+
? {
|
|
190
|
+
minLength: 12,
|
|
191
|
+
requireLowercase: true,
|
|
192
|
+
requireUppercase: true,
|
|
193
|
+
requireDigits: true,
|
|
194
|
+
requireSymbols: true,
|
|
195
|
+
}
|
|
196
|
+
: {
|
|
197
|
+
minLength: 8,
|
|
198
|
+
requireLowercase: true,
|
|
199
|
+
requireUppercase: true,
|
|
200
|
+
requireDigits: true,
|
|
201
|
+
requireSymbols: false,
|
|
202
|
+
};
|
|
203
|
+
const userPool = new cognito.UserPool(this, resourceName, {
|
|
204
|
+
userPoolName: `${resourceName}-${stage}`,
|
|
205
|
+
selfSignUpEnabled: true,
|
|
206
|
+
signInAliases: {
|
|
207
|
+
email: intent.signInWith?.includes('email') ?? true,
|
|
208
|
+
username: intent.signInWith?.includes('username') ?? false,
|
|
209
|
+
},
|
|
210
|
+
passwordPolicy,
|
|
211
|
+
mfa: intent.mfa === 'required'
|
|
212
|
+
? cognito.Mfa.REQUIRED
|
|
213
|
+
: intent.mfa === 'optional'
|
|
214
|
+
? cognito.Mfa.OPTIONAL
|
|
215
|
+
: cognito.Mfa.OFF,
|
|
216
|
+
removalPolicy: stage === 'prod' ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
|
|
217
|
+
});
|
|
218
|
+
// Create clients
|
|
219
|
+
const clients = intent.clients && intent.clients.length > 0
|
|
220
|
+
? intent.clients
|
|
221
|
+
: [{ name: 'default' }];
|
|
222
|
+
let primaryClientId = '';
|
|
223
|
+
for (const client of clients) {
|
|
224
|
+
const appClient = userPool.addClient(client.name, {
|
|
225
|
+
authFlows: { userPassword: true, userSrp: true },
|
|
226
|
+
});
|
|
227
|
+
if (!primaryClientId) {
|
|
228
|
+
primaryClientId = appClient.userPoolClientId;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
new cdk.CfnOutput(this, `${resourceName}-user-pool-id`, {
|
|
232
|
+
value: userPool.userPoolId,
|
|
233
|
+
description: `Cognito User Pool ID for ${intent.id}`,
|
|
234
|
+
});
|
|
235
|
+
new cdk.CfnOutput(this, `${resourceName}-client-id`, {
|
|
236
|
+
value: primaryClientId,
|
|
237
|
+
description: `Cognito Client ID for ${intent.id}`,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
createQueue(intent, projectName, stage) {
|
|
241
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
242
|
+
let dlq;
|
|
243
|
+
if (intent.deadLetterQueue) {
|
|
244
|
+
dlq = new sqs.Queue(this, `${resourceName}-dlq`, {
|
|
245
|
+
queueName: `${resourceName}-dlq-${stage}`,
|
|
246
|
+
fifo: intent.type === 'fifo',
|
|
247
|
+
retentionPeriod: cdk.Duration.days(14),
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
const queue = new sqs.Queue(this, resourceName, {
|
|
251
|
+
queueName: `${resourceName}-${stage}${intent.type === 'fifo' ? '.fifo' : ''}`,
|
|
252
|
+
fifo: intent.type === 'fifo',
|
|
253
|
+
visibilityTimeout: intent.visibilityTimeoutSeconds
|
|
254
|
+
? cdk.Duration.seconds(intent.visibilityTimeoutSeconds)
|
|
255
|
+
: undefined,
|
|
256
|
+
deadLetterQueue: dlq
|
|
257
|
+
? { queue: dlq, maxReceiveCount: intent.maxReceiveCount ?? 3 }
|
|
258
|
+
: undefined,
|
|
259
|
+
});
|
|
260
|
+
new cdk.CfnOutput(this, `${resourceName}-queue-url`, {
|
|
261
|
+
value: queue.queueUrl,
|
|
262
|
+
description: `SQS Queue URL for ${intent.id}`,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
createCache(intent, projectName, stage, vpc) {
|
|
266
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
267
|
+
const securityGroup = new ec2.SecurityGroup(this, `${resourceName}-sg`, {
|
|
268
|
+
vpc,
|
|
269
|
+
description: `Security group for ${resourceName} Redis`,
|
|
270
|
+
allowAllOutbound: true,
|
|
271
|
+
});
|
|
272
|
+
securityGroup.addIngressRule(ec2.Peer.ipv4(vpc.vpcCidrBlock), ec2.Port.tcp(6379), 'Allow Redis access from VPC');
|
|
273
|
+
const subnetGroup = new elasticache.CfnSubnetGroup(this, `${resourceName}-subnet-group`, {
|
|
274
|
+
description: `Subnet group for ${resourceName}`,
|
|
275
|
+
subnetIds: vpc.isolatedSubnets.map((s) => s.subnetId),
|
|
276
|
+
});
|
|
277
|
+
const redis = new elasticache.CfnCacheCluster(this, resourceName, {
|
|
278
|
+
engine: 'redis',
|
|
279
|
+
cacheNodeType: 'cache.t3.micro',
|
|
280
|
+
numCacheNodes: 1,
|
|
281
|
+
vpcSecurityGroupIds: [securityGroup.securityGroupId],
|
|
282
|
+
cacheSubnetGroupName: subnetGroup.ref,
|
|
283
|
+
});
|
|
284
|
+
new cdk.CfnOutput(this, `${resourceName}-endpoint`, {
|
|
285
|
+
value: redis.attrRedisEndpointAddress,
|
|
286
|
+
description: `Redis endpoint for ${intent.id}`,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
sizeToInstanceType(size) {
|
|
290
|
+
switch (size) {
|
|
291
|
+
case 'medium':
|
|
292
|
+
return ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.SMALL);
|
|
293
|
+
case 'large':
|
|
294
|
+
return ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.MEDIUM);
|
|
295
|
+
default: // 'small'
|
|
296
|
+
return ec2.InstanceType.of(ec2.InstanceClass.T4G, ec2.InstanceSize.MICRO);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
exports.VentureStack = VentureStack;
|
|
301
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/cdk/stack.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAmC;AACnC,yDAA2C;AAC3C,yDAA2C;AAC3C,uDAAyC;AACzC,yDAA2C;AAC3C,iEAAmD;AACnD,yEAA2D;AAI3D,2EAA6D;AAe7D,MAAa,YAAa,SAAQ,GAAG,CAAC,KAAK;IACzB,OAAO,GAAkC,EAAE,CAAC;IAE5D,YAAY,KAAgB,EAAE,EAAU,EAAE,KAAwB;QAChE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAExB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAE5E,2DAA2D;QAC3D,IAAI,GAAyB,CAAC;QAC9B,MAAM,QAAQ,GACZ,CAAC,cAAc,EAAE,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAClE,CAAC,cAAc,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,MAAM,EAAE;gBAC5C,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,mBAAmB,EAAE;oBACnB,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;oBACnE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;iBAC/E;aACF,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,cAAc,EAAE,SAAS,EAAE,CAAC;YAC9B,KAAK,MAAM,EAAE,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,cAAc,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,2DAA2D;QAC3D,oFAAoF;QACpF,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,WAAW,MAAM,EAAE;YAC/D,OAAO,EAAE,GAAG,WAAW,IAAI,KAAK,EAAE;YAClC,aAAa,EAAE;gBACb,YAAY,EAAE,CAAC,GAAG,CAAC;gBACnB,YAAY,EAAE;oBACZ,YAAY,CAAC,cAAc,CAAC,GAAG;oBAC/B,YAAY,CAAC,cAAc,CAAC,IAAI;oBAChC,YAAY,CAAC,cAAc,CAAC,GAAG;oBAC/B,YAAY,CAAC,cAAc,CAAC,MAAM;oBAClC,YAAY,CAAC,cAAc,CAAC,KAAK;oBACjC,YAAY,CAAC,cAAc,CAAC,OAAO;iBACpC;gBACD,YAAY,EAAE,CAAC,GAAG,CAAC;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,WAAW;YACtB,WAAW,EAAE,iBAAiB;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CACpB,MAAW,EACX,WAAmB,EACnB,KAAa,EACb,GAAa;QAEb,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE;YAC5D,MAAM,EAAE,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC;gBAC1C,OAAO,EAAE,GAAG,CAAC,qBAAqB,CAAC,MAAM;aAC1C,CAAC;YACF,YAAY;YACZ,GAAG;YACH,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE;YAC3D,YAAY,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE;YACtC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC;YAC5D,aAAa,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;YACtF,kBAAkB,EAAE,KAAK,KAAK,MAAM;YACpC,OAAO,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;YACzC,gBAAgB,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YAC1C,eAAe,EAAE,MAAM,CAAC,OAAO,KAAK,KAAK;gBACvC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAC;gBACpD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACzB,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,WAAW,EAAE;YAClD,KAAK,EAAE,QAAQ,CAAC,yBAAyB;YACzC,WAAW,EAAE,yBAAyB,MAAM,CAAC,EAAE,EAAE;SAClD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,aAAa,EAAE;YACpD,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE;YACvC,WAAW,EAAE,2BAA2B,MAAM,CAAC,EAAE,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,MAAW,EACX,WAAmB,EACnB,KAAa;QAEb,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE;YAC/C,UAAU,EAAE,GAAG,YAAY,IAAI,KAAK,EAAE;YACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAC3D,aAAa,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;YACtF,iBAAiB,EAAE,KAAK,KAAK,MAAM;YACnC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU;YAC1C,IAAI,EAAE,MAAM,CAAC,WAAW;gBACtB,CAAC,CAAC;oBACE;wBACE,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,cAAc,EAAE;4BACd,EAAE,CAAC,WAAW,CAAC,GAAG;4BAClB,EAAE,CAAC,WAAW,CAAC,GAAG;4BAClB,EAAE,CAAC,WAAW,CAAC,IAAI;4BACnB,EAAE,CAAC,WAAW,CAAC,MAAM;yBACtB;wBACD,cAAc,EAAE,CAAC,GAAG,CAAC;qBACtB;iBACF;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,cAAc,EAAE;YACrD,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,WAAW,EAAE,sBAAsB,MAAM,CAAC,EAAE,EAAE;SAC/C,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,aAAa,EAAE;YACpD,KAAK,EAAE,MAAM,CAAC,SAAS;YACvB,WAAW,EAAE,qBAAqB,MAAM,CAAC,EAAE,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAChB,MAAW,EACX,WAAmB,EACnB,KAAa;QAEb,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAEnD,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,KAAK,QAAQ;YACzD,CAAC,CAAC;gBACE,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,IAAI;gBACtB,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;aACrB;YACH,CAAC,CAAC;gBACE,SAAS,EAAE,CAAC;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,IAAI;gBACtB,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,KAAK;aACtB,CAAC;QAEN,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE;YACxD,YAAY,EAAE,GAAG,YAAY,IAAI,KAAK,EAAE;YACxC,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI;gBACnD,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK;aAC3D;YACD,cAAc;YACd,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,UAAU;gBAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;gBACtB,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,UAAU;oBACzB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;oBACtB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;YACrB,aAAa,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO;SACvF,CAAC,CAAC;QAEH,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACzD,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1B,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;gBAChD,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aACjD,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,eAAe,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,eAAe,EAAE;YACtD,KAAK,EAAE,QAAQ,CAAC,UAAU;YAC1B,WAAW,EAAE,4BAA4B,MAAM,CAAC,EAAE,EAAE;SACrD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,YAAY,EAAE;YACnD,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,yBAAyB,MAAM,CAAC,EAAE,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CACjB,MAAW,EACX,WAAmB,EACnB,KAAa;QAEb,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAEnD,IAAI,GAA0B,CAAC;QAC/B,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,YAAY,MAAM,EAAE;gBAC/C,SAAS,EAAE,GAAG,YAAY,QAAQ,KAAK,EAAE;gBACzC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM;gBAC5B,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE;YAC9C,SAAS,EAAE,GAAG,YAAY,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7E,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM;YAC5B,iBAAiB,EAAE,MAAM,CAAC,wBAAwB;gBAChD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBACvD,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,GAAG;gBAClB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,EAAE;gBAC9D,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,YAAY,EAAE;YACnD,KAAK,EAAE,KAAK,CAAC,QAAQ;YACrB,WAAW,EAAE,qBAAqB,MAAM,CAAC,EAAE,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CACjB,MAAW,EACX,WAAmB,EACnB,KAAa,EACb,GAAa;QAEb,MAAM,YAAY,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAEnD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,YAAY,KAAK,EAAE;YACtE,GAAG;YACH,WAAW,EAAE,sBAAsB,YAAY,QAAQ;YACvD,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,aAAa,CAAC,cAAc,CAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAClB,6BAA6B,CAC9B,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,cAAc,CAChD,IAAI,EACJ,GAAG,YAAY,eAAe,EAC9B;YACE,WAAW,EAAE,oBAAoB,YAAY,EAAE;YAC/C,SAAS,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD,CACF,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE;YAChE,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,gBAAgB;YAC/B,aAAa,EAAE,CAAC;YAChB,mBAAmB,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;YACpD,oBAAoB,EAAE,WAAW,CAAC,GAAG;SACtC,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,WAAW,EAAE;YAClD,KAAK,EAAE,KAAK,CAAC,wBAAwB;YACrC,WAAW,EAAE,sBAAsB,MAAM,CAAC,EAAE,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5E,KAAK,OAAO;gBACV,OAAO,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7E,SAAS,UAAU;gBACjB,OAAO,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AA1TD,oCA0TC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* @venturekit/infra
|
|
3
3
|
*
|
|
4
4
|
* Infrastructure package for VentureKit.
|
|
5
|
+
*
|
|
6
|
+
* - Main export: defineVenture() for consumer vk.config.ts
|
|
7
|
+
* - CDK export: VentureStack for `vk deploy` (via @venturekit/infra/cdk)
|
|
5
8
|
*/
|
|
6
9
|
export { defineVenture, getResolvedConfig } from './venture.js';
|
|
7
10
|
export type { VentureDefinition, VentureAppConfig } from './venture.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
* @venturekit/infra
|
|
4
4
|
*
|
|
5
5
|
* Infrastructure package for VentureKit.
|
|
6
|
+
*
|
|
7
|
+
* - Main export: defineVenture() for consumer vk.config.ts
|
|
8
|
+
* - CDK export: VentureStack for `vk deploy` (via @venturekit/infra/cdk)
|
|
6
9
|
*/
|
|
7
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
11
|
exports.getResolvedConfig = exports.defineVenture = void 0;
|
|
@@ -10,6 +13,4 @@ exports.getResolvedConfig = exports.defineVenture = void 0;
|
|
|
10
13
|
var venture_js_1 = require("./venture.js");
|
|
11
14
|
Object.defineProperty(exports, "defineVenture", { enumerable: true, get: function () { return venture_js_1.defineVenture; } });
|
|
12
15
|
Object.defineProperty(exports, "getResolvedConfig", { enumerable: true, get: function () { return venture_js_1.getResolvedConfig; } });
|
|
13
|
-
// Constructs (internal, not exported to consumers)
|
|
14
|
-
// export * from './constructs/index.js';
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,mBAAmB;AACnB,2CAAgE;AAAvD,2GAAA,aAAa,OAAA;AAAE,+GAAA,iBAAiB,OAAA"}
|
package/dist/venture.d.ts
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* defineVenture() is the primary API for creating VentureKit applications.
|
|
5
5
|
* Consumers never see the underlying infrastructure tooling.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - `vk dev` → CLI reads _routesDir + _infrastructure, starts local HTTP server + Docker
|
|
9
|
+
* - `vk deploy` → CLI reads metadata, generates CDK app, runs `cdk deploy`
|
|
10
|
+
* - No SST dependency — infrastructure lives in CDK VentureStack
|
|
6
11
|
*/
|
|
7
12
|
import { BaseConfig, SecurityConfig, EnvConfigInput, ResolvedConfig, VentureIntent } from '@venturekit/core';
|
|
8
13
|
/**
|
|
@@ -38,7 +43,7 @@ export interface VentureDefinition {
|
|
|
38
43
|
infrastructure?: VentureIntent;
|
|
39
44
|
}
|
|
40
45
|
/**
|
|
41
|
-
* VentureKit app configuration
|
|
46
|
+
* VentureKit app configuration (returned by app())
|
|
42
47
|
*/
|
|
43
48
|
export interface VentureAppConfig {
|
|
44
49
|
name: string;
|
|
@@ -53,6 +58,7 @@ export interface VentureAppConfig {
|
|
|
53
58
|
* Define a VentureKit application
|
|
54
59
|
*
|
|
55
60
|
* This is the main entry point for VentureKit projects.
|
|
61
|
+
* Returns an object with metadata that CLI tools (vk dev, vk deploy) read.
|
|
56
62
|
*
|
|
57
63
|
* @example
|
|
58
64
|
* ```typescript
|
|
@@ -72,6 +78,9 @@ export interface VentureAppConfig {
|
|
|
72
78
|
* ```
|
|
73
79
|
*/
|
|
74
80
|
export declare function defineVenture(definition: VentureDefinition): {
|
|
81
|
+
_routesDir: string;
|
|
82
|
+
_infrastructure: VentureIntent | undefined;
|
|
83
|
+
_definition: VentureDefinition;
|
|
75
84
|
app(input: {
|
|
76
85
|
stage: string;
|
|
77
86
|
}): {
|
|
@@ -83,7 +92,6 @@ export declare function defineVenture(definition: VentureDefinition): {
|
|
|
83
92
|
};
|
|
84
93
|
};
|
|
85
94
|
};
|
|
86
|
-
run(): Promise<Record<string, unknown>>;
|
|
87
95
|
};
|
|
88
96
|
/**
|
|
89
97
|
* Get resolved configuration for current environment
|
package/dist/venture.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"venture.d.ts","sourceRoot":"","sources":["../src/venture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EAEd,cAAc,EACd,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,IAAI,EAAE,UAAU,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,EAAE,cAAc,CAAC;IAEzB,0CAA0C;IAC1C,IAAI,EAAE;QACJ,GAAG,CAAC,EAAE,cAAc,CAAC;QACrB,KAAK,CAAC,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,cAAc,CAAC;KACvB,CAAC;IAEF,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE;QACT,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB;;;;eAc5C;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;;;;;;;;EAY/B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAIhB"}
|