@venturekit/infra 0.0.0-dev.20260514025219 → 0.0.0-dev.20260515022321
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/app-stack.d.ts +330 -0
- package/dist/cdk/app-stack.d.ts.map +1 -0
- package/dist/cdk/app-stack.js +875 -0
- package/dist/cdk/app-stack.js.map +1 -0
- package/dist/cdk/config-stack.d.ts +104 -0
- package/dist/cdk/config-stack.d.ts.map +1 -0
- package/dist/cdk/config-stack.js +161 -0
- package/dist/cdk/config-stack.js.map +1 -0
- package/dist/cdk/data-stack.d.ts +198 -0
- package/dist/cdk/data-stack.d.ts.map +1 -0
- package/dist/cdk/data-stack.js +511 -0
- package/dist/cdk/data-stack.js.map +1 -0
- package/dist/cdk/edge-stack.d.ts +91 -0
- package/dist/cdk/edge-stack.d.ts.map +1 -0
- package/dist/cdk/edge-stack.js +364 -0
- package/dist/cdk/edge-stack.js.map +1 -0
- package/dist/cdk/identity-stack.d.ts +98 -0
- package/dist/cdk/identity-stack.d.ts.map +1 -0
- package/dist/cdk/identity-stack.js +254 -0
- package/dist/cdk/identity-stack.js.map +1 -0
- package/dist/cdk/index.d.ts +16 -0
- package/dist/cdk/index.d.ts.map +1 -1
- package/dist/cdk/index.js +17 -0
- package/dist/cdk/index.js.map +1 -1
- package/dist/cdk/messaging-stack.d.ts +109 -0
- package/dist/cdk/messaging-stack.d.ts.map +1 -0
- package/dist/cdk/messaging-stack.js +320 -0
- package/dist/cdk/messaging-stack.js.map +1 -0
- package/dist/cdk/network-stack.d.ts +87 -0
- package/dist/cdk/network-stack.d.ts.map +1 -0
- package/dist/cdk/network-stack.js +265 -0
- package/dist/cdk/network-stack.js.map +1 -0
- package/dist/cdk/shared/cross-stack-refs.d.ts +278 -0
- package/dist/cdk/shared/cross-stack-refs.d.ts.map +1 -0
- package/dist/cdk/shared/cross-stack-refs.js +326 -0
- package/dist/cdk/shared/cross-stack-refs.js.map +1 -0
- package/dist/cdk/shared/lambda-helpers.d.ts +82 -0
- package/dist/cdk/shared/lambda-helpers.d.ts.map +1 -0
- package/dist/cdk/shared/lambda-helpers.js +201 -0
- package/dist/cdk/shared/lambda-helpers.js.map +1 -0
- package/dist/cdk/shared/ssm-keys.d.ts +460 -0
- package/dist/cdk/shared/ssm-keys.d.ts.map +1 -0
- package/dist/cdk/shared/ssm-keys.js +291 -0
- package/dist/cdk/shared/ssm-keys.js.map +1 -0
- package/dist/cdk/stack.d.ts +3 -11
- package/dist/cdk/stack.d.ts.map +1 -1
- package/dist/cdk/stack.js +184 -41
- package/dist/cdk/stack.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-stack.js","sourceRoot":"","sources":["../../src/cdk/app-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 3 — Config stack.
|
|
3
|
+
*
|
|
4
|
+
* Owns the long-lived **operator-paste-in** values: third-party API
|
|
5
|
+
* keys, integration tokens, billing-provider keys, anything else the
|
|
6
|
+
* operator pastes by hand once and then forgets about. Two storage
|
|
7
|
+
* backends, both surfaced through the same `secrets` intent:
|
|
8
|
+
*
|
|
9
|
+
* - `store: 'secretsmanager'` — `AWS::SecretsManager::Secret`
|
|
10
|
+
* resource. Per-secret rotation, IAM-scoped access, KMS
|
|
11
|
+
* envelope encryption. Costs ~$0.40/secret/month + $0.05 per
|
|
12
|
+
* 10k API calls.
|
|
13
|
+
* - `store: 'ssm'` (default) — `AWS::SSM::Parameter` Standard
|
|
14
|
+
* tier. Free up to 10k parameters, no rotation, no envelope
|
|
15
|
+
* encryption (use SecureString for that, but VentureKit's
|
|
16
|
+
* intent surface doesn't expose KMS today). Suitable for
|
|
17
|
+
* non-secret config values that just need to be operator-set
|
|
18
|
+
* out-of-band.
|
|
19
|
+
*
|
|
20
|
+
* # Lifecycle position
|
|
21
|
+
*
|
|
22
|
+
* Updated rarely (~per quarter): a key rotates, a new integration
|
|
23
|
+
* gets added. Both stores survive stack delete under strict
|
|
24
|
+
* dataSafety:
|
|
25
|
+
* - Secrets Manager Secret: `DeletionPolicy: Retain`.
|
|
26
|
+
* - SSM Parameter: AWS doesn't support DeletionPolicy on
|
|
27
|
+
* `AWS::SSM::Parameter` (CFN refuses the attribute). Operators
|
|
28
|
+
* who want retention guarantees on a config value should choose
|
|
29
|
+
* `store: 'secretsmanager'`. We surface a one-line warning to
|
|
30
|
+
* stderr at synth time when an SSM-store secret is declared on
|
|
31
|
+
* a strict-dataSafety stage so the choice is loud, not silent.
|
|
32
|
+
*
|
|
33
|
+
* # Public surface (via SSM)
|
|
34
|
+
*
|
|
35
|
+
* - `configKeys.secretArn(secretId)` — the ARN of each
|
|
36
|
+
* SecretsManager-store secret. Consumers (app stack) read this
|
|
37
|
+
* to grant `secretsmanager:GetSecretValue` on a tightly-scoped
|
|
38
|
+
* resource and inject the ARN into Lambda env vars.
|
|
39
|
+
*
|
|
40
|
+
* - SSM-store secrets are NOT published under any
|
|
41
|
+
* `configKeys.*` because the parameter the operator declares is
|
|
42
|
+
* ITSELF the cross-stack medium — the app stack reads
|
|
43
|
+
* `/${projectName}/${stage}/${intent.id}` directly via
|
|
44
|
+
* `readSsmString(...)`. Adding an indirection through
|
|
45
|
+
* `configKeys.*` would just create a parameter pointing at
|
|
46
|
+
* another parameter.
|
|
47
|
+
*
|
|
48
|
+
* # What this stack does NOT do
|
|
49
|
+
*
|
|
50
|
+
* - **No IAM grants.** `secretsmanager:GetSecretValue` /
|
|
51
|
+
* `ssm:GetParameter` happen on the app-stack Lambda role.
|
|
52
|
+
* - **No env-var injection.** App stack reads the published
|
|
53
|
+
* `configKeys.secretArn(...)` and the bare-SSM-parameter names,
|
|
54
|
+
* then injects `<UPPER_SNAKE_CASE_INTENT_ID>_SECRET_ARN` and
|
|
55
|
+
* `<UPPER_SNAKE_CASE_INTENT_ID>_VALUE` env vars itself.
|
|
56
|
+
* - **No KMS key.** Both stores fall back to the AWS-managed key
|
|
57
|
+
* for their service. Custom KMS would land in this stack if it's
|
|
58
|
+
* ever added — it's the natural home for cross-tier KMS keys.
|
|
59
|
+
*
|
|
60
|
+
* # Why not put this in the data stack?
|
|
61
|
+
*
|
|
62
|
+
* Two reasons:
|
|
63
|
+
*
|
|
64
|
+
* 1. Lifecycle independence. The data tier (RDS, S3, DDB) ships
|
|
65
|
+
* managed by VentureKit's preset machinery and updates on a
|
|
66
|
+
* deploy cadence. The config tier is operator-driven — values
|
|
67
|
+
* change out-of-band via `aws secretsmanager put-secret-value`
|
|
68
|
+
* and never trigger a `vk deploy`. Co-locating them would
|
|
69
|
+
* blur that boundary and risk a config-only change forcing a
|
|
70
|
+
* data-stack synth.
|
|
71
|
+
*
|
|
72
|
+
* 2. No cross-coupling. The config-tier secrets aren't read by
|
|
73
|
+
* the data tier; they flow only to app-tier Lambdas. Keeping
|
|
74
|
+
* them separate is the smaller dependency graph (config has
|
|
75
|
+
* zero upstream deps; even network-tier doesn't need it).
|
|
76
|
+
*/
|
|
77
|
+
import * as cdk from 'aws-cdk-lib';
|
|
78
|
+
import * as ssm from 'aws-cdk-lib/aws-ssm';
|
|
79
|
+
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
|
|
80
|
+
import { Construct } from 'constructs';
|
|
81
|
+
import { type EnvConfig, type VentureIntent } from '@venturekit/core';
|
|
82
|
+
export interface VentureConfigStackProps extends cdk.StackProps {
|
|
83
|
+
/** Project name. */
|
|
84
|
+
projectName: string;
|
|
85
|
+
/** Stage. */
|
|
86
|
+
stage: string;
|
|
87
|
+
/** Fully-resolved environment config. */
|
|
88
|
+
envConfig: EnvConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Infrastructure intent. Read for `secrets[]` only; all other
|
|
91
|
+
* slices are ignored.
|
|
92
|
+
*/
|
|
93
|
+
infrastructure: VentureIntent;
|
|
94
|
+
}
|
|
95
|
+
export declare class VentureConfigStack extends cdk.Stack {
|
|
96
|
+
/** SecretsManager-store secrets, keyed by intent id. */
|
|
97
|
+
readonly secrets: Map<string, secretsmanager.Secret>;
|
|
98
|
+
/** SSM-store parameters, keyed by intent id. */
|
|
99
|
+
readonly parameters: Map<string, ssm.StringParameter>;
|
|
100
|
+
private readonly isStrictRetain;
|
|
101
|
+
constructor(scope: Construct, id: string, props: VentureConfigStackProps);
|
|
102
|
+
private createSecret;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=config-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/config-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI1F,MAAM,WAAW,uBAAwB,SAAQ,GAAG,CAAC,UAAU;IAC7D,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IAEpB,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,cAAc,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,kBAAmB,SAAQ,GAAG,CAAC,KAAK;IAC/C,wDAAwD;IACxD,SAAgB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAa;IAExE,gDAAgD;IAChD,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAa;IAEzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;gBAE7B,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB;IAYxE,OAAO,CAAC,YAAY;CAsErB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 3 — Config stack.
|
|
3
|
+
*
|
|
4
|
+
* Owns the long-lived **operator-paste-in** values: third-party API
|
|
5
|
+
* keys, integration tokens, billing-provider keys, anything else the
|
|
6
|
+
* operator pastes by hand once and then forgets about. Two storage
|
|
7
|
+
* backends, both surfaced through the same `secrets` intent:
|
|
8
|
+
*
|
|
9
|
+
* - `store: 'secretsmanager'` — `AWS::SecretsManager::Secret`
|
|
10
|
+
* resource. Per-secret rotation, IAM-scoped access, KMS
|
|
11
|
+
* envelope encryption. Costs ~$0.40/secret/month + $0.05 per
|
|
12
|
+
* 10k API calls.
|
|
13
|
+
* - `store: 'ssm'` (default) — `AWS::SSM::Parameter` Standard
|
|
14
|
+
* tier. Free up to 10k parameters, no rotation, no envelope
|
|
15
|
+
* encryption (use SecureString for that, but VentureKit's
|
|
16
|
+
* intent surface doesn't expose KMS today). Suitable for
|
|
17
|
+
* non-secret config values that just need to be operator-set
|
|
18
|
+
* out-of-band.
|
|
19
|
+
*
|
|
20
|
+
* # Lifecycle position
|
|
21
|
+
*
|
|
22
|
+
* Updated rarely (~per quarter): a key rotates, a new integration
|
|
23
|
+
* gets added. Both stores survive stack delete under strict
|
|
24
|
+
* dataSafety:
|
|
25
|
+
* - Secrets Manager Secret: `DeletionPolicy: Retain`.
|
|
26
|
+
* - SSM Parameter: AWS doesn't support DeletionPolicy on
|
|
27
|
+
* `AWS::SSM::Parameter` (CFN refuses the attribute). Operators
|
|
28
|
+
* who want retention guarantees on a config value should choose
|
|
29
|
+
* `store: 'secretsmanager'`. We surface a one-line warning to
|
|
30
|
+
* stderr at synth time when an SSM-store secret is declared on
|
|
31
|
+
* a strict-dataSafety stage so the choice is loud, not silent.
|
|
32
|
+
*
|
|
33
|
+
* # Public surface (via SSM)
|
|
34
|
+
*
|
|
35
|
+
* - `configKeys.secretArn(secretId)` — the ARN of each
|
|
36
|
+
* SecretsManager-store secret. Consumers (app stack) read this
|
|
37
|
+
* to grant `secretsmanager:GetSecretValue` on a tightly-scoped
|
|
38
|
+
* resource and inject the ARN into Lambda env vars.
|
|
39
|
+
*
|
|
40
|
+
* - SSM-store secrets are NOT published under any
|
|
41
|
+
* `configKeys.*` because the parameter the operator declares is
|
|
42
|
+
* ITSELF the cross-stack medium — the app stack reads
|
|
43
|
+
* `/${projectName}/${stage}/${intent.id}` directly via
|
|
44
|
+
* `readSsmString(...)`. Adding an indirection through
|
|
45
|
+
* `configKeys.*` would just create a parameter pointing at
|
|
46
|
+
* another parameter.
|
|
47
|
+
*
|
|
48
|
+
* # What this stack does NOT do
|
|
49
|
+
*
|
|
50
|
+
* - **No IAM grants.** `secretsmanager:GetSecretValue` /
|
|
51
|
+
* `ssm:GetParameter` happen on the app-stack Lambda role.
|
|
52
|
+
* - **No env-var injection.** App stack reads the published
|
|
53
|
+
* `configKeys.secretArn(...)` and the bare-SSM-parameter names,
|
|
54
|
+
* then injects `<UPPER_SNAKE_CASE_INTENT_ID>_SECRET_ARN` and
|
|
55
|
+
* `<UPPER_SNAKE_CASE_INTENT_ID>_VALUE` env vars itself.
|
|
56
|
+
* - **No KMS key.** Both stores fall back to the AWS-managed key
|
|
57
|
+
* for their service. Custom KMS would land in this stack if it's
|
|
58
|
+
* ever added — it's the natural home for cross-tier KMS keys.
|
|
59
|
+
*
|
|
60
|
+
* # Why not put this in the data stack?
|
|
61
|
+
*
|
|
62
|
+
* Two reasons:
|
|
63
|
+
*
|
|
64
|
+
* 1. Lifecycle independence. The data tier (RDS, S3, DDB) ships
|
|
65
|
+
* managed by VentureKit's preset machinery and updates on a
|
|
66
|
+
* deploy cadence. The config tier is operator-driven — values
|
|
67
|
+
* change out-of-band via `aws secretsmanager put-secret-value`
|
|
68
|
+
* and never trigger a `vk deploy`. Co-locating them would
|
|
69
|
+
* blur that boundary and risk a config-only change forcing a
|
|
70
|
+
* data-stack synth.
|
|
71
|
+
*
|
|
72
|
+
* 2. No cross-coupling. The config-tier secrets aren't read by
|
|
73
|
+
* the data tier; they flow only to app-tier Lambdas. Keeping
|
|
74
|
+
* them separate is the smaller dependency graph (config has
|
|
75
|
+
* zero upstream deps; even network-tier doesn't need it).
|
|
76
|
+
*/
|
|
77
|
+
import * as cdk from 'aws-cdk-lib';
|
|
78
|
+
import * as ssm from 'aws-cdk-lib/aws-ssm';
|
|
79
|
+
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
|
|
80
|
+
import { DATA_SAFETY_CONFIG } from '@venturekit/core';
|
|
81
|
+
import { writeSsm } from './shared/cross-stack-refs.js';
|
|
82
|
+
import { configKeys } from './shared/ssm-keys.js';
|
|
83
|
+
export class VentureConfigStack extends cdk.Stack {
|
|
84
|
+
/** SecretsManager-store secrets, keyed by intent id. */
|
|
85
|
+
secrets = new Map();
|
|
86
|
+
/** SSM-store parameters, keyed by intent id. */
|
|
87
|
+
parameters = new Map();
|
|
88
|
+
isStrictRetain;
|
|
89
|
+
constructor(scope, id, props) {
|
|
90
|
+
super(scope, id, props);
|
|
91
|
+
const { projectName, stage, envConfig, infrastructure } = props;
|
|
92
|
+
this.isStrictRetain =
|
|
93
|
+
DATA_SAFETY_CONFIG[envConfig.dataSafety].removalPolicy === 'retain';
|
|
94
|
+
if (!infrastructure.secrets)
|
|
95
|
+
return;
|
|
96
|
+
for (const intent of infrastructure.secrets) {
|
|
97
|
+
this.createSecret(intent, projectName, stage);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
createSecret(intent, projectName, stage) {
|
|
101
|
+
const isStrictRetain = this.isStrictRetain;
|
|
102
|
+
const resourceName = `${projectName}-${intent.id}`;
|
|
103
|
+
if (intent.store === 'secretsmanager') {
|
|
104
|
+
const secret = new secretsmanager.Secret(this, resourceName, {
|
|
105
|
+
// Operator-namespace name (no `venturekit/` prefix) — gives
|
|
106
|
+
// the operator a recognizable name in the SM console
|
|
107
|
+
// independent of internal SSM key conventions.
|
|
108
|
+
secretName: `${projectName}/${stage}/${intent.id}`,
|
|
109
|
+
description: intent.description || `Secret for ${intent.id}`,
|
|
110
|
+
// Operator-paste-in values can't be re-generated by
|
|
111
|
+
// VentureKit; an accidental delete forces the operator to
|
|
112
|
+
// manually rotate the credential at the third party. RETAIN
|
|
113
|
+
// under strict dataSafety.
|
|
114
|
+
removalPolicy: isStrictRetain ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY,
|
|
115
|
+
});
|
|
116
|
+
if (isStrictRetain) {
|
|
117
|
+
const cfn = secret.node.defaultChild;
|
|
118
|
+
cfn.cfnOptions.updateReplacePolicy = cdk.CfnDeletionPolicy.RETAIN;
|
|
119
|
+
}
|
|
120
|
+
this.secrets.set(intent.id, secret);
|
|
121
|
+
writeSsm(this, configKeys.secretArn(projectName, stage, intent.id), secret.secretArn, {
|
|
122
|
+
description: `Operator-managed secret ARN for '${intent.id}'. ` +
|
|
123
|
+
`Populate with 'aws secretsmanager put-secret-value'.`,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// SSM Parameter Store path. The parameter name follows the
|
|
128
|
+
// operator namespace `/${projectName}/${stage}/${intent.id}`
|
|
129
|
+
// — short, predictable, easy to type at the AWS CLI. App
|
|
130
|
+
// stack reads it directly via `readSsmString(...)`; we don't
|
|
131
|
+
// re-publish it under `configKeys.*` because that would just
|
|
132
|
+
// be a parameter pointing at a parameter.
|
|
133
|
+
//
|
|
134
|
+
// Caveat: AWS doesn't support `DeletionPolicy` on
|
|
135
|
+
// `AWS::SSM::Parameter` — the resource type rejects the
|
|
136
|
+
// attribute at template validation time. There's no native
|
|
137
|
+
// deletion-protection flag either. Strict-dataSafety operators
|
|
138
|
+
// who care about retention should use `store: 'secretsmanager'`.
|
|
139
|
+
// We log a warning at synth time so the trade-off is visible.
|
|
140
|
+
if (isStrictRetain) {
|
|
141
|
+
console.warn(`[venturekit] secret '${intent.id}' uses store='ssm' under ` +
|
|
142
|
+
`dataSafety='strict'. AWS does not support DeletionPolicy or ` +
|
|
143
|
+
`deletion-protection on SSM Parameters; an accidental stack ` +
|
|
144
|
+
`delete will lose the value. Switch to ` +
|
|
145
|
+
`'store: "secretsmanager"' if retention matters.`);
|
|
146
|
+
}
|
|
147
|
+
const param = new ssm.StringParameter(this, resourceName, {
|
|
148
|
+
parameterName: `/${projectName}/${stage}/${intent.id}`,
|
|
149
|
+
description: intent.description || `Parameter for ${intent.id}`,
|
|
150
|
+
// Sentinel value the operator overwrites post-deploy. Any
|
|
151
|
+
// app code reading the value SHOULD treat this string as
|
|
152
|
+
// "unconfigured" and fail loudly rather than silently
|
|
153
|
+
// accepting it.
|
|
154
|
+
stringValue: 'PLACEHOLDER — set value after deploy',
|
|
155
|
+
tier: ssm.ParameterTier.STANDARD,
|
|
156
|
+
});
|
|
157
|
+
this.parameters.set(intent.id, param);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=config-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-stack.js","sourceRoot":"","sources":["../../src/cdk/config-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 1 — Data stack.
|
|
3
|
+
*
|
|
4
|
+
* Owns every long-lived stateful resource in the deploy:
|
|
5
|
+
*
|
|
6
|
+
* - RDS instance(s) (Postgres / MySQL) + master credentials
|
|
7
|
+
* Secret + the database-side SecurityGroup
|
|
8
|
+
* - ElastiCache cluster(s) + ElastiCache SG
|
|
9
|
+
* - DynamoDB table(s): user-declared (free-tier) and the
|
|
10
|
+
* auto-provisioned rate-limits table (always provisioned —
|
|
11
|
+
* `createDefaultRateLimiter()` from `@venturekit/runtime` reads
|
|
12
|
+
* `VENTURE_RATE_LIMIT_TABLE` and the rate limiter must "just
|
|
13
|
+
* work" on first deploy regardless of preset)
|
|
14
|
+
* - S3 bucket(s) — bucket only; CloudFront distribution lives in
|
|
15
|
+
* the edge tier and imports the bucket via SSM
|
|
16
|
+
* - Internal HMAC Secret used by `@venturekit/auth` for state-
|
|
17
|
+
* token signing across Lambda-to-Lambda calls
|
|
18
|
+
*
|
|
19
|
+
* # Lifecycle position
|
|
20
|
+
*
|
|
21
|
+
* Updated quarterly-ish — RDS minor version, instance-size bumps,
|
|
22
|
+
* occasional new bucket. Survives stack delete because every
|
|
23
|
+
* stateful resource has both `DeletionPolicy: Retain` AND
|
|
24
|
+
* (where AWS supports it) the resource-native deletion-protection
|
|
25
|
+
* flag (RDS, DynamoDB).
|
|
26
|
+
*
|
|
27
|
+
* # Public surface (via SSM)
|
|
28
|
+
*
|
|
29
|
+
* - `dataKeys.rdsEndpoint` / `rdsPort` / `rdsDatabaseName` /
|
|
30
|
+
* `rdsSecretArn` / `rdsSecurityGroupId` per declared db id
|
|
31
|
+
* - `dataKeys.bucketName` / `bucketArn` per declared bucket id
|
|
32
|
+
* - `dataKeys.dynamoTableName` / `dynamoTableArn` per
|
|
33
|
+
* user-declared table (free tier) AND for the rate-limits table
|
|
34
|
+
* (id `'rate-limits'`)
|
|
35
|
+
* - `dataKeys.cacheEndpoint` / `cachePort` / `cacheSecurityGroupId`
|
|
36
|
+
* per cache id
|
|
37
|
+
* - `dataKeys.internalHmacSecretArn`
|
|
38
|
+
*
|
|
39
|
+
* Outputs (`cdk.CfnOutput`) are deliberately NOT used — see plan §3.
|
|
40
|
+
*
|
|
41
|
+
* # What this stack does NOT do
|
|
42
|
+
*
|
|
43
|
+
* - **No CloudFront distribution.** Edge stack (step 8) imports the
|
|
44
|
+
* bucket and creates the distribution with `S3BucketOrigin.with
|
|
45
|
+
* OriginAccessControl(bucket)`. The OAC's `aws:SourceArn`-scoped
|
|
46
|
+
* bucket policy lands in the edge stack via
|
|
47
|
+
* `bucket.addToResourcePolicy()` on the imported `IBucket`.
|
|
48
|
+
*
|
|
49
|
+
* - **No migration runner.** The CodeBuild-based migration runner is
|
|
50
|
+
* ephemeral wiring (delete-on-redeploy is fine; migrations are
|
|
51
|
+
* already applied to the persistent DB). It moves to the app stack
|
|
52
|
+
* in step 9, where it imports the RDS endpoint + secret via SSM.
|
|
53
|
+
*
|
|
54
|
+
* - **No Lambda permissions wiring.** Every IAM grant
|
|
55
|
+
* (`bucket.grantReadWrite(role)`, `secret.grantRead(role)`, etc.)
|
|
56
|
+
* produces an `AWS::IAM::Policy` resource attached to the role.
|
|
57
|
+
* The role lives in the app stack; therefore so does every grant.
|
|
58
|
+
* This is critical: putting grants here would create a circular
|
|
59
|
+
* stack dependency (data → app for the role; app → data for the
|
|
60
|
+
* bucket).
|
|
61
|
+
*/
|
|
62
|
+
import * as cdk from 'aws-cdk-lib';
|
|
63
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
64
|
+
import * as rds from 'aws-cdk-lib/aws-rds';
|
|
65
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
66
|
+
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
|
|
67
|
+
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
|
|
68
|
+
import { Construct } from 'constructs';
|
|
69
|
+
import { type EnvConfig, type VentureIntent } from '@venturekit/core';
|
|
70
|
+
export interface VentureDataStackProps extends cdk.StackProps {
|
|
71
|
+
/** Project name — feeds resource names + SSM keys. */
|
|
72
|
+
projectName: string;
|
|
73
|
+
/** Stage / well-known env. */
|
|
74
|
+
stage: string;
|
|
75
|
+
/** Fully-resolved environment config from `resolveEnvConfig`. */
|
|
76
|
+
envConfig: EnvConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Infrastructure intent. Read for `databases`, `caches`, `storage`.
|
|
79
|
+
* Other intent slices (auth, queues, …) are owned by other tiers
|
|
80
|
+
* and ignored here.
|
|
81
|
+
*/
|
|
82
|
+
infrastructure: VentureIntent;
|
|
83
|
+
/**
|
|
84
|
+
* In-process VPC reference, typically the `.vpc` accessor of the
|
|
85
|
+
* sibling `VentureNetworkStack`. Required when any RDS or cache
|
|
86
|
+
* is declared. May be undefined on the free-tier path where
|
|
87
|
+
* `databases` intents fall through to DynamoDB and no VPC exists.
|
|
88
|
+
*
|
|
89
|
+
* Cross-deploy / cross-account consumers (extremely rare for the
|
|
90
|
+
* data tier — typically deployed in the same `cdk deploy --all`
|
|
91
|
+
* run as network) can pass `importVpc(scope, …, { … from SSM … })`
|
|
92
|
+
* but the typical case is the in-process reference.
|
|
93
|
+
*/
|
|
94
|
+
vpc?: ec2.IVpc;
|
|
95
|
+
/** Whether the stack is running on the `free` preset. */
|
|
96
|
+
isFreeTier: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Migration runner configuration. When provided AND a declared
|
|
99
|
+
* Postgres database has a `db/migrations/` dir under `projectDir`,
|
|
100
|
+
* the data stack provisions a `MigrationRunner` (CodeBuild project
|
|
101
|
+
* inside the VPC) per database. Skipped silently when:
|
|
102
|
+
* - `migrations` is undefined
|
|
103
|
+
* - the project has no `db/migrations/` SQL files
|
|
104
|
+
* - the database engine is MySQL (no SQL runner shipped yet)
|
|
105
|
+
* - `envConfig.vpc.natType === 'none'` (CodeBuild can't reach
|
|
106
|
+
* npmjs.com to install the CLI; warn loudly instead of failing)
|
|
107
|
+
*
|
|
108
|
+
* # Why migrations live in the data tier (plan §11 step 9c, Option B)
|
|
109
|
+
*
|
|
110
|
+
* The runner needs full L2 handles for the database instance and
|
|
111
|
+
* its credentials secret — both owned by the data stack. Plumbing
|
|
112
|
+
* those as cross-stack imports into the app stack would require
|
|
113
|
+
* either fragile reconstruction from SSM strings or a wider
|
|
114
|
+
* `IDatabaseInstance` import surface that's hard to make robust
|
|
115
|
+
* across independent deploys. Co-locating the runner with the DB
|
|
116
|
+
* sidesteps that entirely.
|
|
117
|
+
*
|
|
118
|
+
* # Why the data stack reaches into projectDir
|
|
119
|
+
*
|
|
120
|
+
* Conceptually, "this DB has migrations" is a property of the
|
|
121
|
+
* project's filesystem (presence of `db/migrations/*.sql`). The
|
|
122
|
+
* data stack already needs to know `projectDir` to merge in
|
|
123
|
+
* `extraMigrationsDirs` from installed VentureKit packages, so
|
|
124
|
+
* accepting the project root here is the smaller change.
|
|
125
|
+
*/
|
|
126
|
+
migrations?: {
|
|
127
|
+
/** Project root containing `db/migrations/` and `db/seeds/`. */
|
|
128
|
+
projectDir: string;
|
|
129
|
+
/**
|
|
130
|
+
* Pinned `@venturekit/cli` + `@venturekit/data` version installed
|
|
131
|
+
* by the in-VPC CodeBuild build. Resolved by the CLI generator
|
|
132
|
+
* from the consumer's `node_modules/@venturekit/cli/package.json`.
|
|
133
|
+
*/
|
|
134
|
+
vkCliVersion: string;
|
|
135
|
+
/**
|
|
136
|
+
* Extra migration source dirs from installed VentureKit
|
|
137
|
+
* packages (e.g. `@venturekit/notify` ships
|
|
138
|
+
* `notification_event_log` migrations). The runner merges them
|
|
139
|
+
* into the project's `db/migrations/` at synth time.
|
|
140
|
+
*/
|
|
141
|
+
packageMigrationsDirs?: string[];
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
export declare class VentureDataStack extends cdk.Stack {
|
|
145
|
+
/**
|
|
146
|
+
* In-process accessors for sibling stacks (app stack mostly) that
|
|
147
|
+
* are deployed in the same `cdk.App`. Same rationale as
|
|
148
|
+
* `VentureNetworkStack.vpc`: direct CDK references give the
|
|
149
|
+
* consumer fully-typed access; cross-deploy consumers go through
|
|
150
|
+
* SSM + `import…` helpers.
|
|
151
|
+
*/
|
|
152
|
+
readonly databases: Map<string, {
|
|
153
|
+
instance: rds.DatabaseInstance | rds.DatabaseInstanceFromSnapshot;
|
|
154
|
+
intent: any;
|
|
155
|
+
}>;
|
|
156
|
+
readonly buckets: Map<string, {
|
|
157
|
+
bucket: s3.Bucket;
|
|
158
|
+
intent: any;
|
|
159
|
+
}>;
|
|
160
|
+
readonly dynamoTables: Map<string, dynamodb.Table>;
|
|
161
|
+
/**
|
|
162
|
+
* The auto-provisioned rate-limits table. Always populated, even
|
|
163
|
+
* when no `databases` intent is declared.
|
|
164
|
+
*/
|
|
165
|
+
readonly rateLimitTable: dynamodb.Table;
|
|
166
|
+
/** Internal HMAC secret used by `@venturekit/auth/runtime`. */
|
|
167
|
+
readonly internalHmacSecret: secretsmanager.Secret;
|
|
168
|
+
/**
|
|
169
|
+
* Captured once in the constructor and reused by every private
|
|
170
|
+
* `create…` method. Avoids re-deriving from `envConfig.dataSafety`
|
|
171
|
+
* at five separate call sites and keeps the retention semantics
|
|
172
|
+
* consistent across all data-tier resources within a single stack.
|
|
173
|
+
*/
|
|
174
|
+
private readonly isStrictRetain;
|
|
175
|
+
/**
|
|
176
|
+
* Native deletion-protection flag for resources that expose one
|
|
177
|
+
* (RDS, DynamoDB). Mirrors `dataSafetyConfig.deletionProtection`.
|
|
178
|
+
*/
|
|
179
|
+
private readonly nativeDeletionProtection;
|
|
180
|
+
/**
|
|
181
|
+
* Migration runner config captured from props for use by
|
|
182
|
+
* `createDatabase`. `undefined` skips runner provisioning;
|
|
183
|
+
* the runner is also skipped per-DB when `hasMigrations` is
|
|
184
|
+
* false or the engine isn't Postgres.
|
|
185
|
+
*/
|
|
186
|
+
private readonly migrationsConfig?;
|
|
187
|
+
/** Captured for migration runner log retention. */
|
|
188
|
+
private readonly logRetentionDays;
|
|
189
|
+
/** Captured for migration runner NAT-availability gating. */
|
|
190
|
+
private readonly natType;
|
|
191
|
+
constructor(scope: Construct, id: string, props: VentureDataStackProps);
|
|
192
|
+
private createDatabase;
|
|
193
|
+
private createDynamoDBTable;
|
|
194
|
+
private createRateLimitTable;
|
|
195
|
+
private createStorage;
|
|
196
|
+
private createCache;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=data-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-stack.d.ts","sourceRoot":"","sources":["../../src/cdk/data-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAsB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM1F,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,UAAU;IAC3D,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,iEAAiE;IACjE,SAAS,EAAE,SAAS,CAAC;IAErB;;;;OAIG;IACH,cAAc,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;IAEf,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,CAAC,EAAE;QACX,gEAAgE;QAChE,UAAU,EAAE,MAAM,CAAC;QAEnB;;;;WAIG;QACH,YAAY,EAAE,MAAM,CAAC;QAErB;;;;;WAKG;QACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;CACH;AAgCD,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,KAAK;IAC7C;;;;;;OAMG;IACH,SAAgB,SAAS,EAAE,GAAG,CAC5B,MAAM,EACN;QAAE,QAAQ,EAAE,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,4BAA4B,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CACnF,CAAa;IAEd,SAAgB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC,CAAa;IAErF,SAAgB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAa;IAEtE;;;OAGG;IACH,SAAgB,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC;IAE/C,+DAA+D;IAC/D,SAAgB,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC;IAE1D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAsC;IAExE,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA2FtE,OAAO,CAAC,cAAc;IAkKtB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,aAAa;IA8GrB,OAAO,CAAC,WAAW;CAkEpB"}
|