@aws/nx-plugin 0.114.1 → 0.114.3
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/package.json +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +11 -4
- package/src/ts/rdb/files/scripts/docker-start.ts.template +1 -0
- package/src/ts/rdb/files/src/prisma.ts.template +10 -4
- package/src/ts/rdb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +42 -0
- package/src/ts/rdb/mcp-server-connection/generator.js +4 -0
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/strands-agent-connection/__snapshots__/generator.spec.ts.snap +63 -0
- package/src/ts/rdb/strands-agent-connection/generator.js +4 -0
- package/src/ts/rdb/strands-agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/utils.d.ts +6 -0
- package/src/ts/rdb/utils.js +20 -0
- package/src/ts/rdb/utils.js.map +1 -0
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +7 -5
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +7 -6
package/package.json
CHANGED
|
@@ -3858,6 +3858,7 @@ try {
|
|
|
3858
3858
|
\`POSTGRES_DB=\${dbName}\`,
|
|
3859
3859
|
\`POSTGRES_USER=\${dbUser}\`,
|
|
3860
3860
|
\`POSTGRES_PASSWORD=\${dbPassword}\`,
|
|
3861
|
+
\`PGDATA=/var/lib/postgresql/17/docker\`,
|
|
3861
3862
|
],
|
|
3862
3863
|
ExposedPorts: { '5432/tcp': {} },
|
|
3863
3864
|
HostConfig: {
|
|
@@ -4098,9 +4099,13 @@ import {
|
|
|
4098
4099
|
} from './constants.js';
|
|
4099
4100
|
import { getDatabaseConfig } from './utils.js';
|
|
4100
4101
|
|
|
4102
|
+
let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
|
|
4103
|
+
|
|
4101
4104
|
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
4102
4105
|
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
4103
4106
|
): Promise<PrismaClient<LogOpts>> => {
|
|
4107
|
+
if (prismaClient) return prismaClient;
|
|
4108
|
+
|
|
4104
4109
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
4105
4110
|
const adapter = new PrismaPg(
|
|
4106
4111
|
new Pool({
|
|
@@ -4112,10 +4117,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
4112
4117
|
allowExitOnIdle: true,
|
|
4113
4118
|
}),
|
|
4114
4119
|
);
|
|
4115
|
-
|
|
4120
|
+
prismaClient = new PrismaClient({
|
|
4116
4121
|
adapter,
|
|
4117
4122
|
log,
|
|
4118
|
-
}) as unknown as PrismaClient<
|
|
4123
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
4124
|
+
return prismaClient;
|
|
4119
4125
|
}
|
|
4120
4126
|
|
|
4121
4127
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -4142,10 +4148,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
4142
4148
|
}),
|
|
4143
4149
|
);
|
|
4144
4150
|
|
|
4145
|
-
|
|
4151
|
+
prismaClient = new PrismaClient({
|
|
4146
4152
|
adapter,
|
|
4147
4153
|
log,
|
|
4148
|
-
}) as unknown as PrismaClient<
|
|
4154
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
4155
|
+
return prismaClient;
|
|
4149
4156
|
};
|
|
4150
4157
|
"
|
|
4151
4158
|
`;
|
|
@@ -60,9 +60,13 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
60
60
|
};
|
|
61
61
|
<%_ } else { _%>
|
|
62
62
|
|
|
63
|
+
let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
|
|
64
|
+
|
|
63
65
|
export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
64
66
|
log: LogOpts[] = ['warn', 'error'] as LogOpts[],
|
|
65
67
|
): Promise<PrismaClient<LogOpts>> => {
|
|
68
|
+
if (prismaClient) return prismaClient;
|
|
69
|
+
|
|
66
70
|
if (process.env.SERVE_LOCAL === 'true') {
|
|
67
71
|
const adapter = new PrismaPg(
|
|
68
72
|
new Pool({
|
|
@@ -74,10 +78,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
74
78
|
allowExitOnIdle: true,
|
|
75
79
|
}),
|
|
76
80
|
);
|
|
77
|
-
|
|
81
|
+
prismaClient = new PrismaClient({
|
|
78
82
|
adapter,
|
|
79
83
|
log,
|
|
80
|
-
}) as unknown as PrismaClient<
|
|
84
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
85
|
+
return prismaClient;
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
const { hostname, port, database, dbUser, region } =
|
|
@@ -104,9 +109,10 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
|
|
|
104
109
|
}),
|
|
105
110
|
);
|
|
106
111
|
|
|
107
|
-
|
|
112
|
+
prismaClient = new PrismaClient({
|
|
108
113
|
adapter,
|
|
109
114
|
log,
|
|
110
|
-
}) as unknown as PrismaClient<
|
|
115
|
+
}) as unknown as PrismaClient<Prisma.LogLevel>;
|
|
116
|
+
return prismaClient;
|
|
111
117
|
};
|
|
112
118
|
<%_ } _%>
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
+
exports[`ts#rdb mcp-server-connection generator > should add RDS CA bundle to Dockerfile 1`] = `
|
|
4
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
5
|
+
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
|
|
8
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
9
|
+
|
|
10
|
+
COPY index.js /app
|
|
11
|
+
|
|
12
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
13
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
14
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
15
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
16
|
+
update-ca-certificates
|
|
17
|
+
|
|
18
|
+
EXPOSE 8000
|
|
19
|
+
|
|
20
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
21
|
+
"
|
|
22
|
+
`;
|
|
23
|
+
|
|
3
24
|
exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dependency to the mcp-server prefixed serve-local 1`] = `
|
|
4
25
|
{
|
|
5
26
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
@@ -31,6 +52,27 @@ exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dep
|
|
|
31
52
|
}
|
|
32
53
|
`;
|
|
33
54
|
|
|
55
|
+
exports[`ts#rdb mcp-server-connection generator > should be idempotent for Dockerfile 1`] = `
|
|
56
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
57
|
+
|
|
58
|
+
WORKDIR /app
|
|
59
|
+
|
|
60
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
61
|
+
|
|
62
|
+
COPY index.js /app
|
|
63
|
+
|
|
64
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
65
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
66
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
67
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
68
|
+
update-ca-certificates
|
|
69
|
+
|
|
70
|
+
EXPOSE 8000
|
|
71
|
+
|
|
72
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
73
|
+
"
|
|
74
|
+
`;
|
|
75
|
+
|
|
34
76
|
exports[`ts#rdb mcp-server-connection generator > should be idempotent for server.ts 1`] = `
|
|
35
77
|
"import { getPrisma as getDb } from 'db';
|
|
36
78
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
|
|
|
14
14
|
const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
|
|
15
15
|
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
16
|
const ast_1 = require("../../../utils/ast");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
17
18
|
exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
18
19
|
const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
|
|
19
20
|
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
@@ -33,6 +34,9 @@ const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
|
|
|
33
34
|
const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
|
|
34
35
|
const getterAlias = `getPrisma as get${rdbNamePascal}`;
|
|
35
36
|
const serverPath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'server.ts');
|
|
37
|
+
// Dockerfile: install RDS CA bundle for direct Aurora SSL connections
|
|
38
|
+
const dockerfilePath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'Dockerfile');
|
|
39
|
+
(0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
|
|
36
40
|
// server.ts: inject db inside createServer body
|
|
37
41
|
if (tree.exists(serverPath)) {
|
|
38
42
|
await (0, ast_1.addDestructuredImport)(tree, serverPath, [getterAlias], rdbPackageAlias);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
+
exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (A2A) 1`] = `
|
|
4
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
5
|
+
|
|
6
|
+
WORKDIR /app
|
|
7
|
+
|
|
8
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
9
|
+
|
|
10
|
+
COPY index.js /app
|
|
11
|
+
|
|
12
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
13
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
14
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
15
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
16
|
+
update-ca-certificates
|
|
17
|
+
|
|
18
|
+
EXPOSE 9000
|
|
19
|
+
|
|
20
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
21
|
+
"
|
|
22
|
+
`;
|
|
23
|
+
|
|
24
|
+
exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (HTTP) 1`] = `
|
|
25
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
26
|
+
|
|
27
|
+
WORKDIR /app
|
|
28
|
+
|
|
29
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
30
|
+
|
|
31
|
+
COPY index.js /app
|
|
32
|
+
|
|
33
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
34
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
35
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
36
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
37
|
+
update-ca-certificates
|
|
38
|
+
|
|
39
|
+
EXPOSE 8080
|
|
40
|
+
|
|
41
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
42
|
+
"
|
|
43
|
+
`;
|
|
44
|
+
|
|
3
45
|
exports[`ts#rdb strands-agent-connection generator > should add rdb serve-local dependency to the agent prefixed serve-local 1`] = `
|
|
4
46
|
{
|
|
5
47
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
@@ -55,6 +97,27 @@ export const getAgent = async () => {
|
|
|
55
97
|
"
|
|
56
98
|
`;
|
|
57
99
|
|
|
100
|
+
exports[`ts#rdb strands-agent-connection generator > should be idempotent for Dockerfile 1`] = `
|
|
101
|
+
"FROM public.ecr.aws/docker/library/node:lts-jod
|
|
102
|
+
|
|
103
|
+
WORKDIR /app
|
|
104
|
+
|
|
105
|
+
RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
|
|
106
|
+
|
|
107
|
+
COPY index.js /app
|
|
108
|
+
|
|
109
|
+
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
|
|
110
|
+
rm -rf /var/lib/apt/lists/* && \\
|
|
111
|
+
curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
|
|
112
|
+
-o /usr/local/share/ca-certificates/rds-bundle.crt && \\
|
|
113
|
+
update-ca-certificates
|
|
114
|
+
|
|
115
|
+
EXPOSE 8080
|
|
116
|
+
|
|
117
|
+
CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
|
|
118
|
+
"
|
|
119
|
+
`;
|
|
120
|
+
|
|
58
121
|
exports[`ts#rdb strands-agent-connection generator > should be idempotent for agent.ts injection 1`] = `
|
|
59
122
|
"import { getPrisma as getDb } from 'db';
|
|
60
123
|
import { Agent, tool } from '@strands-agents/sdk';
|
|
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
|
|
|
14
14
|
const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
|
|
15
15
|
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
16
|
const ast_1 = require("../../../utils/ast");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
17
18
|
exports.TS_RDB_STRANDS_AGENT_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
18
19
|
const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
|
|
19
20
|
const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
|
|
@@ -34,6 +35,9 @@ const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
|
|
|
34
35
|
const getterAlias = `getPrisma as get${rdbNamePascal}`;
|
|
35
36
|
const agentSourceDir = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', agentName);
|
|
36
37
|
const agentPath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'agent.ts');
|
|
38
|
+
// Dockerfile: install RDS CA bundle for direct Aurora SSL connections
|
|
39
|
+
const dockerfilePath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'Dockerfile');
|
|
40
|
+
(0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
|
|
37
41
|
if (tree.exists(agentPath)) {
|
|
38
42
|
await (0, ast_1.addDestructuredImport)(tree, agentPath, [getterAlias], rdbPackageAlias);
|
|
39
43
|
// Block body form: export const getAgent = async () => { ... }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;AACxE,oCAA2D;AAE9C,QAAA,8CAA8C,GACzD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,oCAAoC,GAAG,KAAK,EACvD,IAAU,EACV,OAAmD,EACpC,EAAE;IACjB,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,OAAO,CAAC;IAC3D,MAAM,gBAAgB,GAAG,GAAG,SAAS,cAAc,CAAC;IAEpD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,IAAA,sCAAiC,EAAC,aAAa,EAAE,gBAAgB,EAAE;YACjE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,IAAA,mCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,IAAA,0BAAS,EAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,aAAa,EAAE,CAAC;IAEvD,MAAM,cAAc,GAAG,IAAA,0BAAiB,EACtC,aAAa,CAAC,IAAI,EAClB,KAAK,EACL,SAAS,CACV,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAEhE,sEAAsE;IACtE,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,IAAA,uCAA+B,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,SAAS,EACT,CAAC,WAAW,CAAC,EACb,eAAe,CAChB,CAAC;QAEF,+DAA+D;QAC/D,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,SAAS,EACT;UACI,YAAY,eAAe,aAAa;;wCAEV,YAAY,eAAe,aAAa,QAAQ,CACnF,CAAC;QAEF,iEAAiE;QACjE,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,SAAS,EACT;UACI,YAAY,eAAe,aAAa;;sCAEZ,CACjC,CAAC;QAEF,kDAAkD;QAClD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,SAAS,YAAY,eAAe,aAAa,KAAK,CAAC;QACtE,MAAM,MAAM,GAAG,GAAG,YAAY,+BAA+B,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,MAAM,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,sDAA8C;KAC/C,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAnFW,QAAA,oCAAoC,wCAmF/C;AAEF,kBAAe,4CAAoC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectRdsCaBundleIntoDockerfile = void 0;
|
|
4
|
+
const RDS_CA_RUN = [
|
|
5
|
+
'RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\',
|
|
6
|
+
' rm -rf /var/lib/apt/lists/* && \\',
|
|
7
|
+
' curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\',
|
|
8
|
+
' -o /usr/local/share/ca-certificates/rds-bundle.crt && \\',
|
|
9
|
+
' update-ca-certificates',
|
|
10
|
+
].join('\n');
|
|
11
|
+
const injectRdsCaBundleIntoDockerfile = (tree, dockerfilePath) => {
|
|
12
|
+
if (!tree.exists(dockerfilePath))
|
|
13
|
+
return;
|
|
14
|
+
const content = tree.read(dockerfilePath, 'utf-8');
|
|
15
|
+
if (content.includes('rds-bundle.crt'))
|
|
16
|
+
return;
|
|
17
|
+
tree.write(dockerfilePath, content.replace(/^(EXPOSE \d+)/m, `${RDS_CA_RUN}\n\n$1`));
|
|
18
|
+
};
|
|
19
|
+
exports.injectRdsCaBundleIntoDockerfile = injectRdsCaBundleIntoDockerfile;
|
|
20
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/rdb/utils.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG;IACjB,6FAA6F;IAC7F,uCAAuC;IACvC,uFAAuF;IACvF,8DAA8D;IAC9D,4BAA4B;CAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEN,MAAM,+BAA+B,GAAG,CAC7C,IAAU,EACV,cAAsB,EAChB,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAE,CAAC;IACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO;IAC/C,IAAI,CAAC,KAAK,CACR,cAAc,EACd,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,UAAU,QAAQ,CAAC,CACzD,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,+BAA+B,mCAW1C"}
|
|
@@ -196,11 +196,13 @@ export class UserIdentity extends Construct {
|
|
|
196
196
|
});
|
|
197
197
|
// Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
|
|
198
198
|
const poolCfn = userPool.node.defaultChild as CfnResource;
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
199
|
+
const smsRoleNode = userPool.node.tryFindChild('smsRole');
|
|
200
|
+
if (smsRoleNode) {
|
|
201
|
+
const smsRoleCfn = smsRoleNode.node.defaultChild as CfnResource;
|
|
202
|
+
smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
|
|
203
|
+
smsRoleCfn.cfnOptions.updateReplacePolicy =
|
|
204
|
+
poolCfn.cfnOptions.updateReplacePolicy;
|
|
205
|
+
}
|
|
204
206
|
return userPool;
|
|
205
207
|
};
|
|
206
208
|
|
|
@@ -108,12 +108,13 @@ export class UserIdentity extends Construct {
|
|
|
108
108
|
});
|
|
109
109
|
// Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
|
|
110
110
|
const poolCfn = userPool.node.defaultChild as CfnResource;
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
.node.defaultChild as CfnResource;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
const smsRoleNode = userPool.node.tryFindChild('smsRole');
|
|
112
|
+
if (smsRoleNode) {
|
|
113
|
+
const smsRoleCfn = smsRoleNode.node.defaultChild as CfnResource;
|
|
114
|
+
smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
|
|
115
|
+
smsRoleCfn.cfnOptions.updateReplacePolicy =
|
|
116
|
+
poolCfn.cfnOptions.updateReplacePolicy;
|
|
117
|
+
}
|
|
117
118
|
return userPool;
|
|
118
119
|
};
|
|
119
120
|
|