@action-llama/action-llama 0.6.4 → 0.6.6
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/AGENTS.md +1 -0
- package/dist/agents/container-runner.d.ts +2 -1
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +9 -5
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +109 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +31 -14
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/docker/aws-shared.d.ts +46 -0
- package/dist/docker/aws-shared.d.ts.map +1 -0
- package/dist/docker/aws-shared.js +382 -0
- package/dist/docker/aws-shared.js.map +1 -0
- package/dist/docker/ecs-runtime.d.ts +1 -16
- package/dist/docker/ecs-runtime.d.ts.map +1 -1
- package/dist/docker/ecs-runtime.js +20 -357
- package/dist/docker/ecs-runtime.js.map +1 -1
- package/dist/docker/lambda-runtime.d.ts +43 -0
- package/dist/docker/lambda-runtime.d.ts.map +1 -0
- package/dist/docker/lambda-runtime.js +247 -0
- package/dist/docker/lambda-runtime.js.map +1 -0
- package/dist/gateway/index.js +2 -2
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/routes/locks.js +3 -3
- package/dist/gateway/routes/locks.js.map +1 -1
- package/dist/gateway/types.d.ts +2 -0
- package/dist/gateway/types.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +51 -17
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/runner-pool.d.ts +1 -1
- package/dist/scheduler/runner-pool.d.ts.map +1 -1
- package/dist/scheduler/runner-pool.js +2 -3
- package/dist/scheduler/runner-pool.js.map +1 -1
- package/dist/shared/aws-constants.d.ts +10 -0
- package/dist/shared/aws-constants.d.ts.map +1 -1
- package/dist/shared/aws-constants.js +10 -0
- package/dist/shared/aws-constants.js.map +1 -1
- package/dist/shared/config.d.ts +4 -0
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +3 -0
- package/dist/shared/config.js.map +1 -1
- package/dist/tui/status-tracker.js +1 -1
- package/dist/tui/status-tracker.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AWS utilities used by both ECS Fargate and Lambda runtimes.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from ECSFargateRuntime to avoid duplicating CodeBuild,
|
|
5
|
+
* ECR, Secrets Manager, and S3 logic across runtimes.
|
|
6
|
+
*/
|
|
7
|
+
import { execFileSync } from "child_process";
|
|
8
|
+
import { createReadStream } from "fs";
|
|
9
|
+
import { SecretsManagerClient, ListSecretsCommand, GetSecretValueCommand, } from "@aws-sdk/client-secrets-manager";
|
|
10
|
+
import { CloudWatchLogsClient, GetLogEventsCommand, FilterLogEventsCommand, CreateLogGroupCommand, } from "@aws-sdk/client-cloudwatch-logs";
|
|
11
|
+
import { CodeBuildClient, StartBuildCommand, BatchGetBuildsCommand, CreateProjectCommand, } from "@aws-sdk/client-codebuild";
|
|
12
|
+
import { S3Client, PutObjectCommand, CreateBucketCommand, HeadBucketCommand, } from "@aws-sdk/client-s3";
|
|
13
|
+
import { ECRClient, BatchGetImageCommand, } from "@aws-sdk/client-ecr";
|
|
14
|
+
import { parseCredentialRef } from "../shared/credentials.js";
|
|
15
|
+
import { AWS_CONSTANTS } from "../shared/aws-constants.js";
|
|
16
|
+
export class AwsSharedUtils {
|
|
17
|
+
config;
|
|
18
|
+
prefix;
|
|
19
|
+
smClient;
|
|
20
|
+
logsClient;
|
|
21
|
+
cbClient;
|
|
22
|
+
s3Client;
|
|
23
|
+
ecrClient;
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.config = config;
|
|
26
|
+
this.prefix = config.secretPrefix || AWS_CONSTANTS.DEFAULT_SECRET_PREFIX;
|
|
27
|
+
const clientConfig = { region: config.awsRegion };
|
|
28
|
+
this.smClient = new SecretsManagerClient(clientConfig);
|
|
29
|
+
this.logsClient = new CloudWatchLogsClient(clientConfig);
|
|
30
|
+
this.cbClient = new CodeBuildClient(clientConfig);
|
|
31
|
+
this.s3Client = new S3Client(clientConfig);
|
|
32
|
+
this.ecrClient = new ECRClient(clientConfig);
|
|
33
|
+
}
|
|
34
|
+
// --- Account ID ---
|
|
35
|
+
getAccountId() {
|
|
36
|
+
const match = this.config.ecrRepository.match(/^(\d+)\.dkr\.ecr\./);
|
|
37
|
+
return match?.[1] || "";
|
|
38
|
+
}
|
|
39
|
+
// --- Secrets Manager ---
|
|
40
|
+
awsSecretName(type, instance, field) {
|
|
41
|
+
return `${this.prefix}/${type}/${instance}/${field}`;
|
|
42
|
+
}
|
|
43
|
+
async listSecretFields(type, instance) {
|
|
44
|
+
const prefix = `${this.prefix}/${type}/${instance}/`;
|
|
45
|
+
const res = await this.smClient.send(new ListSecretsCommand({
|
|
46
|
+
Filters: [{ Key: "name", Values: [prefix] }],
|
|
47
|
+
MaxResults: 100,
|
|
48
|
+
}));
|
|
49
|
+
const fields = [];
|
|
50
|
+
for (const secret of res.SecretList || []) {
|
|
51
|
+
if (secret.Name?.startsWith(prefix)) {
|
|
52
|
+
fields.push(secret.Name.slice(prefix.length));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return fields;
|
|
56
|
+
}
|
|
57
|
+
async prepareCredentials(credRefs) {
|
|
58
|
+
const mounts = [];
|
|
59
|
+
for (const credRef of credRefs) {
|
|
60
|
+
const { type, instance } = parseCredentialRef(credRef);
|
|
61
|
+
const fields = await this.listSecretFields(type, instance);
|
|
62
|
+
for (const field of fields) {
|
|
63
|
+
const secretName = this.awsSecretName(type, instance, field);
|
|
64
|
+
mounts.push({
|
|
65
|
+
secretId: secretName,
|
|
66
|
+
mountPath: `/credentials/${type}/${instance}/${field}`,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return { strategy: "secrets-manager", mounts };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolve secret values from Secrets Manager and return them as env var entries.
|
|
74
|
+
* Used by Lambda to pass secrets as environment variables.
|
|
75
|
+
*/
|
|
76
|
+
async resolveSecretValues(credRefs) {
|
|
77
|
+
const env = {};
|
|
78
|
+
for (const credRef of credRefs) {
|
|
79
|
+
const { type, instance } = parseCredentialRef(credRef);
|
|
80
|
+
const fields = await this.listSecretFields(type, instance);
|
|
81
|
+
for (const field of fields) {
|
|
82
|
+
const secretName = this.awsSecretName(type, instance, field);
|
|
83
|
+
const envName = `AL_SECRET_${type}__${instance}__${field}`;
|
|
84
|
+
try {
|
|
85
|
+
const res = await this.smClient.send(new GetSecretValueCommand({
|
|
86
|
+
SecretId: secretName,
|
|
87
|
+
}));
|
|
88
|
+
if (res.SecretString) {
|
|
89
|
+
env[envName] = res.SecretString;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
if (err.name !== "ResourceNotFoundException")
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return env;
|
|
99
|
+
}
|
|
100
|
+
// --- ECR ---
|
|
101
|
+
async ecrImageExists(repositoryName, imageTag, onProgress) {
|
|
102
|
+
try {
|
|
103
|
+
const res = await this.ecrClient.send(new BatchGetImageCommand({
|
|
104
|
+
repositoryName,
|
|
105
|
+
imageIds: [{ imageTag }],
|
|
106
|
+
}));
|
|
107
|
+
return (res.images?.length ?? 0) > 0;
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
if (err.name === "ImageNotFoundException")
|
|
111
|
+
return false;
|
|
112
|
+
onProgress?.(`Cache check failed: ${err.message ?? err}`);
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// --- S3 ---
|
|
117
|
+
async ensureBuildBucket() {
|
|
118
|
+
if (this.config.buildBucket) {
|
|
119
|
+
return this.config.buildBucket;
|
|
120
|
+
}
|
|
121
|
+
const accountId = this.getAccountId();
|
|
122
|
+
const bucket = AWS_CONSTANTS.buildBucket(accountId, this.config.awsRegion);
|
|
123
|
+
try {
|
|
124
|
+
await this.s3Client.send(new HeadBucketCommand({ Bucket: bucket }));
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
if (err.name === "NotFound" || err.$metadata?.httpStatusCode === 404) {
|
|
128
|
+
await this.s3Client.send(new CreateBucketCommand({ Bucket: bucket }));
|
|
129
|
+
}
|
|
130
|
+
else if (err.name !== "Forbidden") {
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return bucket;
|
|
135
|
+
}
|
|
136
|
+
// --- CodeBuild ---
|
|
137
|
+
async ensureCodeBuildProject(projectName, bucket) {
|
|
138
|
+
const accountId = this.getAccountId();
|
|
139
|
+
try {
|
|
140
|
+
const status = await this.cbClient.send(new BatchGetBuildsCommand({ ids: [`${projectName}:dummy`] }));
|
|
141
|
+
void status;
|
|
142
|
+
}
|
|
143
|
+
catch { }
|
|
144
|
+
const serviceRole = `arn:aws:iam::${accountId}:role/${AWS_CONSTANTS.CODEBUILD_ROLE}`;
|
|
145
|
+
try {
|
|
146
|
+
await this.cbClient.send(new CreateProjectCommand({
|
|
147
|
+
name: projectName,
|
|
148
|
+
source: {
|
|
149
|
+
type: "S3",
|
|
150
|
+
location: `${bucket}/`,
|
|
151
|
+
},
|
|
152
|
+
artifacts: { type: "NO_ARTIFACTS" },
|
|
153
|
+
environment: {
|
|
154
|
+
type: "LINUX_CONTAINER",
|
|
155
|
+
computeType: "BUILD_GENERAL1_MEDIUM",
|
|
156
|
+
image: "aws/codebuild/standard:7.0",
|
|
157
|
+
privilegedMode: true,
|
|
158
|
+
environmentVariables: [
|
|
159
|
+
{ name: "IMAGE_URI", value: "placeholder" },
|
|
160
|
+
{ name: "ECR_REGISTRY", value: "placeholder" },
|
|
161
|
+
{ name: "DOCKERFILE", value: "Dockerfile" },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
serviceRole,
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
if (err.name !== "ResourceAlreadyExistsException") {
|
|
169
|
+
throw err;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async buildImageCodeBuild(opts, onProgress) {
|
|
174
|
+
onProgress?.("Preparing build context");
|
|
175
|
+
const { join, relative, isAbsolute } = await import("path");
|
|
176
|
+
const { readFileSync, writeFileSync } = await import("fs");
|
|
177
|
+
const { randomUUID, createHash } = await import("crypto");
|
|
178
|
+
const resolvedDockerfile = isAbsolute(opts.dockerfile)
|
|
179
|
+
? opts.dockerfile
|
|
180
|
+
: join(opts.contextDir, opts.dockerfile);
|
|
181
|
+
const relPath = relative(opts.contextDir, resolvedDockerfile);
|
|
182
|
+
let dockerfileTar;
|
|
183
|
+
let tempDockerfile;
|
|
184
|
+
const needsCopy = relPath.startsWith("..");
|
|
185
|
+
const needsRewrite = !!opts.baseImage;
|
|
186
|
+
if (needsCopy || needsRewrite) {
|
|
187
|
+
tempDockerfile = join(opts.contextDir, `.Dockerfile.${randomUUID().slice(0, 8)}`);
|
|
188
|
+
let content = readFileSync(resolvedDockerfile, "utf-8");
|
|
189
|
+
if (needsRewrite && opts.baseImage) {
|
|
190
|
+
content = content.replace(/^FROM\s+\S+/m, `FROM ${opts.baseImage}`);
|
|
191
|
+
}
|
|
192
|
+
writeFileSync(tempDockerfile, content);
|
|
193
|
+
dockerfileTar = relative(opts.contextDir, tempDockerfile);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
dockerfileTar = relPath;
|
|
197
|
+
}
|
|
198
|
+
const { readdirSync, readFileSync: readFileSyncBuf } = await import("fs");
|
|
199
|
+
const hash = createHash("sha256");
|
|
200
|
+
const hashFile = (p) => {
|
|
201
|
+
hash.update(p);
|
|
202
|
+
hash.update(readFileSyncBuf(join(opts.contextDir, p)));
|
|
203
|
+
};
|
|
204
|
+
const hashDir = (dir) => {
|
|
205
|
+
const entries = readdirSync(join(opts.contextDir, dir), { withFileTypes: true })
|
|
206
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
207
|
+
for (const entry of entries) {
|
|
208
|
+
const p = join(dir, entry.name);
|
|
209
|
+
if (entry.isDirectory())
|
|
210
|
+
hashDir(p);
|
|
211
|
+
else
|
|
212
|
+
hashFile(p);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
hashFile(dockerfileTar);
|
|
216
|
+
hashFile("package.json");
|
|
217
|
+
hashDir("dist");
|
|
218
|
+
if (tempDockerfile) {
|
|
219
|
+
try {
|
|
220
|
+
const { rmSync } = await import("fs");
|
|
221
|
+
rmSync(tempDockerfile);
|
|
222
|
+
}
|
|
223
|
+
catch { }
|
|
224
|
+
}
|
|
225
|
+
const contentHash = hash.digest("hex").slice(0, 16);
|
|
226
|
+
const nameTag = opts.tag.replace(":", "-");
|
|
227
|
+
const hashTag = `${nameTag}-${contentHash}`;
|
|
228
|
+
const remoteTag = `${this.config.ecrRepository}:${hashTag}`;
|
|
229
|
+
onProgress?.(`Checking cache (${hashTag})`);
|
|
230
|
+
const repoName = this.config.ecrRepository.split("/").pop();
|
|
231
|
+
const imageExists = await this.ecrImageExists(repoName, hashTag, onProgress);
|
|
232
|
+
if (imageExists) {
|
|
233
|
+
onProgress?.("Image unchanged — reusing cached build");
|
|
234
|
+
return remoteTag;
|
|
235
|
+
}
|
|
236
|
+
if (needsCopy || needsRewrite) {
|
|
237
|
+
tempDockerfile = join(opts.contextDir, `.Dockerfile.${randomUUID().slice(0, 8)}`);
|
|
238
|
+
let content = readFileSync(resolvedDockerfile, "utf-8");
|
|
239
|
+
if (needsRewrite && opts.baseImage) {
|
|
240
|
+
content = content.replace(/^FROM\s+\S+/m, `FROM ${opts.baseImage}`);
|
|
241
|
+
}
|
|
242
|
+
writeFileSync(tempDockerfile, content);
|
|
243
|
+
dockerfileTar = relative(opts.contextDir, tempDockerfile);
|
|
244
|
+
}
|
|
245
|
+
const { tmpdir } = await import("os");
|
|
246
|
+
const tarPath = join(tmpdir(), `${AWS_CONSTANTS.BUILD_S3_PREFIX}-${randomUUID().slice(0, 8)}.tar.gz`);
|
|
247
|
+
try {
|
|
248
|
+
execFileSync("tar", [
|
|
249
|
+
"czf", tarPath,
|
|
250
|
+
"-C", opts.contextDir,
|
|
251
|
+
dockerfileTar, "package.json", "dist",
|
|
252
|
+
], {
|
|
253
|
+
encoding: "utf-8",
|
|
254
|
+
timeout: 60_000,
|
|
255
|
+
env: { ...process.env, COPYFILE_DISABLE: "1" },
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
finally {
|
|
259
|
+
if (tempDockerfile) {
|
|
260
|
+
try {
|
|
261
|
+
const { rmSync } = await import("fs");
|
|
262
|
+
rmSync(tempDockerfile);
|
|
263
|
+
}
|
|
264
|
+
catch { }
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
onProgress?.("Uploading to S3");
|
|
268
|
+
const bucket = await this.ensureBuildBucket();
|
|
269
|
+
const s3Key = `${AWS_CONSTANTS.BUILD_S3_PREFIX}/${nameTag}-${Date.now()}.tar.gz`;
|
|
270
|
+
await this.s3Client.send(new PutObjectCommand({
|
|
271
|
+
Bucket: bucket,
|
|
272
|
+
Key: s3Key,
|
|
273
|
+
Body: createReadStream(tarPath),
|
|
274
|
+
}));
|
|
275
|
+
try {
|
|
276
|
+
const { rmSync } = await import("fs");
|
|
277
|
+
rmSync(tarPath);
|
|
278
|
+
}
|
|
279
|
+
catch { }
|
|
280
|
+
const projectName = AWS_CONSTANTS.CODEBUILD_PROJECT;
|
|
281
|
+
await this.ensureCodeBuildProject(projectName, bucket);
|
|
282
|
+
const registry = this.config.ecrRepository.split("/")[0];
|
|
283
|
+
const buildspec = [
|
|
284
|
+
"version: 0.2",
|
|
285
|
+
"phases:",
|
|
286
|
+
" pre_build:",
|
|
287
|
+
" commands:",
|
|
288
|
+
" - tar xzf *.tar.gz && rm -f *.tar.gz",
|
|
289
|
+
" - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY",
|
|
290
|
+
" build:",
|
|
291
|
+
" commands:",
|
|
292
|
+
" - docker build -t $IMAGE_URI -f $DOCKERFILE .",
|
|
293
|
+
" - docker push $IMAGE_URI",
|
|
294
|
+
].join("\n");
|
|
295
|
+
const buildRes = await this.cbClient.send(new StartBuildCommand({
|
|
296
|
+
projectName,
|
|
297
|
+
sourceTypeOverride: "S3",
|
|
298
|
+
sourceLocationOverride: `${bucket}/${s3Key}`,
|
|
299
|
+
buildspecOverride: buildspec,
|
|
300
|
+
environmentVariablesOverride: [
|
|
301
|
+
{ name: "IMAGE_URI", value: remoteTag },
|
|
302
|
+
{ name: "ECR_REGISTRY", value: registry },
|
|
303
|
+
{ name: "DOCKERFILE", value: dockerfileTar },
|
|
304
|
+
],
|
|
305
|
+
}));
|
|
306
|
+
const buildId = buildRes.build?.id;
|
|
307
|
+
if (!buildId)
|
|
308
|
+
throw new Error("CodeBuild did not return a build ID");
|
|
309
|
+
onProgress?.("Queued — waiting for CodeBuild");
|
|
310
|
+
while (true) {
|
|
311
|
+
await sleep(10_000);
|
|
312
|
+
const status = await this.cbClient.send(new BatchGetBuildsCommand({ ids: [buildId] }));
|
|
313
|
+
const build = status.builds?.[0];
|
|
314
|
+
if (!build)
|
|
315
|
+
throw new Error(`CodeBuild build ${buildId} not found`);
|
|
316
|
+
if (build.currentPhase) {
|
|
317
|
+
const phaseLabels = {
|
|
318
|
+
SUBMITTED: "Submitted",
|
|
319
|
+
QUEUED: "Queued",
|
|
320
|
+
PROVISIONING: "Provisioning build environment",
|
|
321
|
+
DOWNLOAD_SOURCE: "Downloading source",
|
|
322
|
+
INSTALL: "Installing dependencies",
|
|
323
|
+
PRE_BUILD: "Logging in to ECR",
|
|
324
|
+
BUILD: "Building and pushing image",
|
|
325
|
+
POST_BUILD: "Finalizing",
|
|
326
|
+
UPLOAD_ARTIFACTS: "Uploading artifacts",
|
|
327
|
+
FINALIZING: "Finalizing",
|
|
328
|
+
COMPLETED: "Complete",
|
|
329
|
+
};
|
|
330
|
+
const label = phaseLabels[build.currentPhase] || build.currentPhase;
|
|
331
|
+
onProgress?.(label);
|
|
332
|
+
}
|
|
333
|
+
if (build.buildComplete) {
|
|
334
|
+
if (build.buildStatus !== "SUCCEEDED") {
|
|
335
|
+
const logs = build.logs?.deepLink || "";
|
|
336
|
+
throw new Error(`CodeBuild build failed (${build.buildStatus}). Logs: ${logs}`);
|
|
337
|
+
}
|
|
338
|
+
return remoteTag;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// --- CloudWatch Logs ---
|
|
343
|
+
logGroupsCreated = new Set();
|
|
344
|
+
async ensureLogGroup(logGroupName) {
|
|
345
|
+
if (this.logGroupsCreated.has(logGroupName))
|
|
346
|
+
return;
|
|
347
|
+
try {
|
|
348
|
+
await this.logsClient.send(new CreateLogGroupCommand({ logGroupName }));
|
|
349
|
+
}
|
|
350
|
+
catch (err) {
|
|
351
|
+
if (err.name !== "ResourceAlreadyExistsException")
|
|
352
|
+
throw err;
|
|
353
|
+
}
|
|
354
|
+
this.logGroupsCreated.add(logGroupName);
|
|
355
|
+
}
|
|
356
|
+
async getLogEvents(logGroup, logStream, nextToken) {
|
|
357
|
+
const res = await this.logsClient.send(new GetLogEventsCommand({
|
|
358
|
+
logGroupName: logGroup,
|
|
359
|
+
logStreamName: logStream,
|
|
360
|
+
startFromHead: true,
|
|
361
|
+
nextToken,
|
|
362
|
+
}));
|
|
363
|
+
return {
|
|
364
|
+
events: (res.events || []).map((e) => ({ message: e.message?.trimEnd() || "" })),
|
|
365
|
+
nextForwardToken: res.nextForwardToken,
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
async filterLogEvents(logGroupName, logStreamPrefix, limit) {
|
|
369
|
+
const res = await this.logsClient.send(new FilterLogEventsCommand({
|
|
370
|
+
logGroupName,
|
|
371
|
+
logStreamNamePrefix: logStreamPrefix,
|
|
372
|
+
limit,
|
|
373
|
+
}));
|
|
374
|
+
return (res.events ?? [])
|
|
375
|
+
.map((e) => e.message?.trimEnd() ?? "")
|
|
376
|
+
.filter(Boolean);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
function sleep(ms) {
|
|
380
|
+
return new Promise((r) => setTimeout(r, ms));
|
|
381
|
+
}
|
|
382
|
+
//# sourceMappingURL=aws-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-shared.js","sourceRoot":"","sources":["../../src/docker/aws-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,28 +32,17 @@ export interface ECSFargateConfig {
|
|
|
32
32
|
export declare class ECSFargateRuntime implements ContainerRuntime {
|
|
33
33
|
readonly needsGateway = false;
|
|
34
34
|
private config;
|
|
35
|
-
private prefix;
|
|
36
35
|
private ecsClient;
|
|
37
|
-
private
|
|
38
|
-
private logsClient;
|
|
39
|
-
private cbClient;
|
|
40
|
-
private s3Client;
|
|
41
|
-
private ecrClient;
|
|
36
|
+
private shared;
|
|
42
37
|
constructor(config: ECSFargateConfig);
|
|
43
38
|
private static readonly STARTED_BY_PREFIX;
|
|
44
39
|
static readonly LOG_GROUP: string;
|
|
45
|
-
private logGroupCreated;
|
|
46
|
-
private ensureLogGroup;
|
|
47
40
|
isAgentRunning(agentName: string): Promise<boolean>;
|
|
48
41
|
listRunningAgents(): Promise<RunningAgent[]>;
|
|
49
42
|
prepareCredentials(credRefs: string[]): Promise<RuntimeCredentials>;
|
|
50
43
|
cleanupCredentials(_creds: RuntimeCredentials): void;
|
|
51
44
|
buildImage(opts: BuildImageOpts): Promise<string>;
|
|
52
45
|
pushImage(_localImage: string): Promise<string>;
|
|
53
|
-
private buildImageCodeBuild;
|
|
54
|
-
private ecrImageExists;
|
|
55
|
-
private ensureBuildBucket;
|
|
56
|
-
private ensureCodeBuildProject;
|
|
57
46
|
launch(opts: RuntimeLaunchOpts): Promise<string>;
|
|
58
47
|
streamLogs(taskArn: string, onLine: (line: string) => void, onStderr?: (text: string) => void): {
|
|
59
48
|
stop: () => void;
|
|
@@ -63,12 +52,8 @@ export declare class ECSFargateRuntime implements ContainerRuntime {
|
|
|
63
52
|
remove(_taskArn: string): Promise<void>;
|
|
64
53
|
fetchLogs(agentName: string, limit: number): Promise<string[]>;
|
|
65
54
|
getTaskUrl(taskArn: string): string | null;
|
|
66
|
-
private awsSecretName;
|
|
67
|
-
private listSecretFields;
|
|
68
55
|
private registerTaskDefinition;
|
|
69
56
|
private runTask;
|
|
70
|
-
private getLogEvents;
|
|
71
57
|
private deriveTaskRoleArn;
|
|
72
|
-
private getAccountId;
|
|
73
58
|
}
|
|
74
59
|
//# sourceMappingURL=ecs-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecs-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/ecs-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ecs-runtime.d.ts","sourceRoot":"","sources":["../../src/docker/ecs-runtime.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAe,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIvI,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAkB,YAAW,gBAAgB;IACxD,QAAQ,CAAC,YAAY,SAAS;IAE9B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,gBAAgB;IAWpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IACrE,MAAM,CAAC,QAAQ,CAAC,SAAS,SAA2B;IAI9C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnD,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA6B5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAM9C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO/C,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDtD,UAAU,CACR,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAChC;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;IAwCjB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBrE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;YAiB5B,sBAAsB;YAwDtB,OAAO;IA6DrB,OAAO,CAAC,iBAAiB;CAM1B"}
|