@action-llama/action-llama 0.11.2 → 0.11.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/AGENTS.md +2 -2
- package/README.md +1 -0
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/container-runner.js +9 -4
- package/dist/agents/container-runner.js.map +1 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +10 -1
- package/dist/agents/runner.js.map +1 -1
- package/dist/cli/commands/chat.js +3 -3
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +5 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/logs.d.ts.map +1 -1
- package/dist/cli/commands/logs.js +40 -22
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -0
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +5 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stop.d.ts +4 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +27 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/main.js +9 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/resolve-target.d.ts +27 -0
- package/dist/cli/resolve-target.d.ts.map +1 -0
- package/dist/cli/resolve-target.js +42 -0
- package/dist/cli/resolve-target.js.map +1 -0
- package/dist/cloud/aws/constants.d.ts +0 -2
- package/dist/cloud/aws/constants.d.ts.map +1 -1
- package/dist/cloud/aws/constants.js +0 -2
- package/dist/cloud/aws/constants.js.map +1 -1
- package/dist/cloud/aws/deploy.d.ts +3 -2
- package/dist/cloud/aws/deploy.d.ts.map +1 -1
- package/dist/cloud/aws/deploy.js +6 -93
- package/dist/cloud/aws/deploy.js.map +1 -1
- package/dist/cloud/aws/iam.d.ts +13 -0
- package/dist/cloud/aws/iam.d.ts.map +1 -1
- package/dist/cloud/aws/iam.js +70 -0
- package/dist/cloud/aws/iam.js.map +1 -1
- package/dist/cloud/aws/provider.d.ts +11 -0
- package/dist/cloud/aws/provider.d.ts.map +1 -1
- package/dist/cloud/aws/provider.js +52 -2
- package/dist/cloud/aws/provider.js.map +1 -1
- package/dist/cloud/aws/provision.d.ts.map +1 -1
- package/dist/cloud/aws/provision.js +4 -21
- package/dist/cloud/aws/provision.js.map +1 -1
- package/dist/cloud/gcp/provider.d.ts +4 -0
- package/dist/cloud/gcp/provider.d.ts.map +1 -1
- package/dist/cloud/gcp/provider.js +26 -0
- package/dist/cloud/gcp/provider.js.map +1 -1
- package/dist/cloud/provider.d.ts +6 -0
- package/dist/cloud/provider.d.ts.map +1 -1
- package/dist/cloud/provider.js.map +1 -1
- package/dist/docker/ecs-runtime.d.ts +2 -2
- package/dist/docker/ecs-runtime.d.ts.map +1 -1
- package/dist/docker/ecs-runtime.js +9 -4
- package/dist/docker/ecs-runtime.js.map +1 -1
- package/dist/docker/image.js +1 -1
- package/dist/docker/image.js.map +1 -1
- package/dist/docker/runtime.d.ts +3 -3
- package/dist/docker/runtime.d.ts.map +1 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +1 -0
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/routes/control.d.ts +1 -0
- package/dist/gateway/routes/control.d.ts.map +1 -1
- package/dist/gateway/routes/control.js +9 -0
- package/dist/gateway/routes/control.js.map +1 -1
- package/dist/scheduler/event-queue.d.ts +2 -14
- package/dist/scheduler/event-queue.d.ts.map +1 -1
- package/dist/scheduler/event-queue.js +5 -13
- package/dist/scheduler/event-queue.js.map +1 -1
- package/dist/scheduler/execution.d.ts +50 -0
- package/dist/scheduler/execution.d.ts.map +1 -0
- package/dist/scheduler/execution.js +106 -0
- package/dist/scheduler/execution.js.map +1 -0
- package/dist/scheduler/index.d.ts +2 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +39 -241
- package/dist/scheduler/index.js.map +1 -1
- package/dist/setup/scaffold.d.ts.map +1 -1
- package/dist/setup/scaffold.js +2 -1
- package/dist/setup/scaffold.js.map +1 -1
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +6 -3
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/paths.js +1 -1
- package/dist/shared/paths.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAOA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGjK"}
|
|
@@ -15,6 +15,10 @@ export async function execute(opts) {
|
|
|
15
15
|
if (opts.webUi && !opts.gateway) {
|
|
16
16
|
opts.gateway = true;
|
|
17
17
|
}
|
|
18
|
+
// Warn if --expose is used without a gateway API key configured
|
|
19
|
+
if (opts.expose && !opts.gateway) {
|
|
20
|
+
console.warn("Warning: --expose flag used but gateway is not enabled. Use -g/--gateway to enable the gateway server for external access.");
|
|
21
|
+
}
|
|
18
22
|
// Ensure all credentials are present before starting
|
|
19
23
|
await runDoctor({ project: opts.project, cloud: opts.cloud, checkOnly: opts.headless });
|
|
20
24
|
const globalConfig = loadGlobalConfig(projectPath);
|
|
@@ -60,7 +64,7 @@ export async function execute(opts) {
|
|
|
60
64
|
const { unmount } = await renderTUI(statusTracker);
|
|
61
65
|
cleanup = unmount;
|
|
62
66
|
}
|
|
63
|
-
const { cronJobs, runnerPools, gateway, webhookRegistry, webhookUrls } = await startScheduler(projectPath, globalConfig, statusTracker, opts.cloud, opts.gateway, opts.webUi);
|
|
67
|
+
const { cronJobs, runnerPools, gateway, webhookRegistry, webhookUrls } = await startScheduler(projectPath, globalConfig, statusTracker, opts.cloud, opts.gateway, opts.webUi, opts.expose);
|
|
64
68
|
const gatewayPort = gateway ? (globalConfig.gateway?.port || 8080) : null;
|
|
65
69
|
// Update scheduler info now that startup is complete
|
|
66
70
|
statusTracker.setSchedulerInfo({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAGA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBtE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { resolve } from "path";
|
|
2
|
+
import { gatewayFetch } from "../gateway-client.js";
|
|
3
|
+
export async function execute(opts) {
|
|
4
|
+
const projectPath = resolve(opts.project);
|
|
5
|
+
let response;
|
|
6
|
+
try {
|
|
7
|
+
response = await gatewayFetch({
|
|
8
|
+
project: projectPath,
|
|
9
|
+
path: "/control/stop",
|
|
10
|
+
method: "POST",
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
if (error instanceof Error && error.message.includes('ECONNREFUSED')) {
|
|
15
|
+
throw new Error("Gateway not running. Start the scheduler with --gateway (-g) flag.");
|
|
16
|
+
}
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
const data = await response.json();
|
|
20
|
+
if (response.ok) {
|
|
21
|
+
console.log(`${data.message}`);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw new Error(data.error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAyB;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC;YAC5B,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
package/dist/cli/main.js
CHANGED
|
@@ -69,11 +69,20 @@ program
|
|
|
69
69
|
.option("-H, --headless", "non-interactive mode (no TUI, no credential prompts, for CI/deploy environments)")
|
|
70
70
|
.option("-g, --gateway", "enable the HTTP gateway server (required for webhooks, locks, and web UI)")
|
|
71
71
|
.option("-w, --web-ui", "enable web dashboard at http://localhost:<port>/dashboard (auto-enables gateway)")
|
|
72
|
+
.option("-e, --expose", "bind gateway to 0.0.0.0 (public) while keeping local mode features")
|
|
72
73
|
.action(withCommand(async (opts) => {
|
|
73
74
|
initializeTelemetryForProject(opts.project);
|
|
74
75
|
const { execute } = await import("./commands/start.js");
|
|
75
76
|
await execute(opts);
|
|
76
77
|
}));
|
|
78
|
+
program
|
|
79
|
+
.command("stop")
|
|
80
|
+
.description("Stop the scheduler and clear pending webhook queues")
|
|
81
|
+
.option("-p, --project <dir>", "project directory", ".")
|
|
82
|
+
.action(withCommand(async (opts) => {
|
|
83
|
+
const { execute } = await import("./commands/stop.js");
|
|
84
|
+
await execute(opts);
|
|
85
|
+
}));
|
|
77
86
|
program
|
|
78
87
|
.command("doctor")
|
|
79
88
|
.description("Check agents, credentials, webhooks, and config — prompt to fix")
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resolution for CLI arguments that accept either an agent name or
|
|
3
|
+
* a cloud task/instance ID.
|
|
4
|
+
*
|
|
5
|
+
* Commands like `al logs` and `al kill` accept a positional argument that
|
|
6
|
+
* can be either. This module provides a single resolution path so every
|
|
7
|
+
* command handles ambiguity the same way.
|
|
8
|
+
*/
|
|
9
|
+
import type { CloudProvider } from "../cloud/provider.js";
|
|
10
|
+
export interface ResolvedTarget {
|
|
11
|
+
/** Agent name (always present after resolution) */
|
|
12
|
+
agent: string;
|
|
13
|
+
/** Cloud task/instance ID — set when the user passed an instance ID */
|
|
14
|
+
taskId?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a raw CLI argument to an agent name + optional task ID.
|
|
18
|
+
*
|
|
19
|
+
* Resolution order:
|
|
20
|
+
* 1. Try loading agent config — if it succeeds, it's an agent name.
|
|
21
|
+
* 2. If it looks like a hex task ID and we're in cloud mode, query
|
|
22
|
+
* running instances to find the owning agent.
|
|
23
|
+
* 3. Otherwise, pass through as-is (may be a valid agent without a
|
|
24
|
+
* local config directory, e.g. "scheduler").
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveTarget(raw: string, projectPath: string, cloudProvider?: CloudProvider): Promise<ResolvedTarget>;
|
|
27
|
+
//# sourceMappingURL=resolve-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-target.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-target.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared resolution for CLI arguments that accept either an agent name or
|
|
3
|
+
* a cloud task/instance ID.
|
|
4
|
+
*
|
|
5
|
+
* Commands like `al logs` and `al kill` accept a positional argument that
|
|
6
|
+
* can be either. This module provides a single resolution path so every
|
|
7
|
+
* command handles ambiguity the same way.
|
|
8
|
+
*/
|
|
9
|
+
import { loadAgentConfig } from "../shared/config.js";
|
|
10
|
+
/**
|
|
11
|
+
* Resolve a raw CLI argument to an agent name + optional task ID.
|
|
12
|
+
*
|
|
13
|
+
* Resolution order:
|
|
14
|
+
* 1. Try loading agent config — if it succeeds, it's an agent name.
|
|
15
|
+
* 2. If it looks like a hex task ID and we're in cloud mode, query
|
|
16
|
+
* running instances to find the owning agent.
|
|
17
|
+
* 3. Otherwise, pass through as-is (may be a valid agent without a
|
|
18
|
+
* local config directory, e.g. "scheduler").
|
|
19
|
+
*/
|
|
20
|
+
export async function resolveTarget(raw, projectPath, cloudProvider) {
|
|
21
|
+
// 1. Known agent name?
|
|
22
|
+
try {
|
|
23
|
+
loadAgentConfig(projectPath, raw);
|
|
24
|
+
return { agent: raw };
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Not a local agent config — continue
|
|
28
|
+
}
|
|
29
|
+
// 2. Looks like a task/instance ID? (hex, 8+ chars)
|
|
30
|
+
if (/^[0-9a-f]{8,}$/i.test(raw) && cloudProvider) {
|
|
31
|
+
const runtime = cloudProvider.createRuntime();
|
|
32
|
+
const running = await runtime.listRunningAgents();
|
|
33
|
+
const match = running.find((r) => r.taskId === raw || r.taskId.startsWith(raw));
|
|
34
|
+
if (match) {
|
|
35
|
+
return { agent: match.agentName, taskId: match.taskId };
|
|
36
|
+
}
|
|
37
|
+
throw new Error(`No running instance found matching "${raw}". Use 'al stat -c' to list instances.`);
|
|
38
|
+
}
|
|
39
|
+
// 3. Pass through (e.g. "scheduler", or an agent name without a config dir)
|
|
40
|
+
return { agent: raw };
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=resolve-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-target.js","sourceRoot":"","sources":["../../src/cli/resolve-target.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAUtD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,WAAmB,EACnB,aAA6B;IAE7B,uBAAuB;IACvB,IAAI,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,oDAAoD;IACpD,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,wCAAwC,CACnF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -42,8 +42,6 @@ export declare const AWS_CONSTANTS: {
|
|
|
42
42
|
APPRUNNER_INSTANCE_ROLE: string;
|
|
43
43
|
/** App Runner ECR access role name */
|
|
44
44
|
APPRUNNER_ACCESS_ROLE: string;
|
|
45
|
-
/** CloudWatch log group for App Runner */
|
|
46
|
-
APPRUNNER_LOG_GROUP: string;
|
|
47
45
|
/** DynamoDB table for scheduler state (locks, container registry, queues) */
|
|
48
46
|
STATE_TABLE: string;
|
|
49
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa;IACxB,yCAAyC;;IAGzC,mCAAmC;8BACT,MAAM;IAEhC,8CAA8C;;IAG9C,8BAA8B;;IAG9B,wCAAwC;;IAGxC,iCAAiC;;IAGjC,kCAAkC;;IAGlC,+BAA+B;;IAG/B,0CAA0C;6BACjB,MAAM,UAAU,MAAM;IAE/C,wCAAwC;;IAGxC,wCAAwC;gCACZ,MAAM;IAElC,qDAAqD;;IAGrD,+CAA+C;;IAG/C,gDAAgD;;IAGhD,iCAAiC;;IAGjC,2CAA2C;gCACf,MAAM;IAElC,sDAAsD;;IAGtD,oCAAoC;;IAGpC,sCAAsC;;IAGtC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa;IACxB,yCAAyC;;IAGzC,mCAAmC;8BACT,MAAM;IAEhC,8CAA8C;;IAG9C,8BAA8B;;IAG9B,wCAAwC;;IAGxC,iCAAiC;;IAGjC,kCAAkC;;IAGlC,+BAA+B;;IAG/B,0CAA0C;6BACjB,MAAM,UAAU,MAAM;IAE/C,wCAAwC;;IAGxC,wCAAwC;gCACZ,MAAM;IAElC,qDAAqD;;IAGrD,+CAA+C;;IAG/C,gDAAgD;;IAGhD,iCAAiC;;IAGjC,2CAA2C;gCACf,MAAM;IAElC,sDAAsD;;IAGtD,oCAAoC;;IAGpC,sCAAsC;;IAGtC,6EAA6E;;CAEL,CAAC"}
|
|
@@ -42,8 +42,6 @@ export const AWS_CONSTANTS = {
|
|
|
42
42
|
APPRUNNER_INSTANCE_ROLE: "al-apprunner-instance-role",
|
|
43
43
|
/** App Runner ECR access role name */
|
|
44
44
|
APPRUNNER_ACCESS_ROLE: "al-apprunner-access-role",
|
|
45
|
-
/** CloudWatch log group for App Runner */
|
|
46
|
-
APPRUNNER_LOG_GROUP: "/apprunner/al-scheduler",
|
|
47
45
|
/** DynamoDB table for scheduler state (locks, container registry, queues) */
|
|
48
46
|
STATE_TABLE: "al-state",
|
|
49
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yCAAyC;IACzC,SAAS,EAAE,mBAAmB;IAE9B,mCAAmC;IACnC,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,YAAY;IAEhE,8CAA8C;IAC9C,iBAAiB,EAAE,kBAAkB;IAErC,8BAA8B;IAC9B,cAAc,EAAE,mBAAmB;IAEnC,wCAAwC;IACxC,cAAc,EAAE,uBAAuB;IAEvC,iCAAiC;IACjC,iBAAiB,EAAE,sBAAsB;IAEzC,kCAAkC;IAClC,gBAAgB,EAAE,WAAW;IAE7B,+BAA+B;IAC/B,eAAe,EAAE,YAAY;IAE7B,0CAA0C;IAC1C,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,aAAa,SAAS,IAAI,MAAM,EAAE;IAEtF,wCAAwC;IACxC,eAAe,EAAE,WAAW;IAE5B,wCAAwC;IACxC,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAExD,qDAAqD;IACrD,kBAAkB,EAAE,GAAG;IAEvB,+CAA+C;IAC/C,iBAAiB,EAAE,IAAI;IAEvB,gDAAgD;IAChD,gBAAgB,EAAE,aAAa;IAE/B,iCAAiC;IACjC,qBAAqB,EAAE,0BAA0B;IAEjD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,cAAc;IAEpE,sDAAsD;IACtD,iBAAiB,EAAE,cAAc;IAEjC,oCAAoC;IACpC,uBAAuB,EAAE,4BAA4B;IAErD,sCAAsC;IACtC,qBAAqB,EAAE,0BAA0B;IAEjD,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cloud/aws/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,yCAAyC;IACzC,SAAS,EAAE,mBAAmB;IAE9B,mCAAmC;IACnC,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,YAAY;IAEhE,8CAA8C;IAC9C,iBAAiB,EAAE,kBAAkB;IAErC,8BAA8B;IAC9B,cAAc,EAAE,mBAAmB;IAEnC,wCAAwC;IACxC,cAAc,EAAE,uBAAuB;IAEvC,iCAAiC;IACjC,iBAAiB,EAAE,sBAAsB;IAEzC,kCAAkC;IAClC,gBAAgB,EAAE,WAAW;IAE7B,+BAA+B;IAC/B,eAAe,EAAE,YAAY;IAE7B,0CAA0C;IAC1C,WAAW,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,aAAa,SAAS,IAAI,MAAM,EAAE;IAEtF,wCAAwC;IACxC,eAAe,EAAE,WAAW;IAE5B,wCAAwC;IACxC,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAExD,qDAAqD;IACrD,kBAAkB,EAAE,GAAG;IAEvB,+CAA+C;IAC/C,iBAAiB,EAAE,IAAI;IAEvB,gDAAgD;IAChD,gBAAgB,EAAE,aAAa;IAE/B,iCAAiC;IACjC,qBAAqB,EAAE,0BAA0B;IAEjD,2CAA2C;IAC3C,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,cAAc;IAEpE,sDAAsD;IACtD,iBAAiB,EAAE,cAAc;IAEjC,oCAAoC;IACpC,uBAAuB,EAAE,4BAA4B;IAErD,sCAAsC;IACtC,qBAAqB,EAAE,0BAA0B;IAEjD,6EAA6E;IAC7E,WAAW,EAAE,UAAU;CACiD,CAAC"}
|
|
@@ -27,9 +27,10 @@ export declare function deployAppRunner(opts: AppRunnerDeployOpts): Promise<AppR
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function getAppRunnerStatus(cloudConfig: EcsCloudConfig): Promise<AppRunnerServiceInfo | null>;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Resolve the CloudWatch log group for the scheduler App Runner service.
|
|
31
|
+
* Returns null if the service is not deployed.
|
|
31
32
|
*/
|
|
32
|
-
export declare function
|
|
33
|
+
export declare function getSchedulerLogGroup(cloudConfig: EcsCloudConfig): Promise<string | null>;
|
|
33
34
|
/**
|
|
34
35
|
* Delete the scheduler App Runner service.
|
|
35
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+F9F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAG1G;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM9F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAclF"}
|
package/dist/cloud/aws/deploy.js
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* long-running container with an HTTPS endpoint for webhooks.
|
|
6
6
|
*/
|
|
7
7
|
import { AppRunnerClient, CreateServiceCommand, UpdateServiceCommand, DescribeServiceCommand, DeleteServiceCommand, ListServicesCommand, } from "@aws-sdk/client-apprunner";
|
|
8
|
-
import { CloudWatchLogsClient, FilterLogEventsCommand, DescribeLogGroupsCommand, } from "@aws-sdk/client-cloudwatch-logs";
|
|
9
8
|
import { AWS_CONSTANTS } from "./constants.js";
|
|
10
9
|
/**
|
|
11
10
|
* Deploy (create or update) the scheduler as an App Runner service.
|
|
@@ -99,48 +98,15 @@ export async function getAppRunnerStatus(cloudConfig) {
|
|
|
99
98
|
return findService(client, AWS_CONSTANTS.SCHEDULER_SERVICE);
|
|
100
99
|
}
|
|
101
100
|
/**
|
|
102
|
-
*
|
|
101
|
+
* Resolve the CloudWatch log group for the scheduler App Runner service.
|
|
102
|
+
* Returns null if the service is not deployed.
|
|
103
103
|
*/
|
|
104
|
-
export async function
|
|
105
|
-
const logsClient = new CloudWatchLogsClient({ region: cloudConfig.awsRegion });
|
|
106
|
-
// First verify the App Runner service exists
|
|
104
|
+
export async function getSchedulerLogGroup(cloudConfig) {
|
|
107
105
|
const serviceInfo = await getAppRunnerStatus(cloudConfig);
|
|
108
|
-
if (!serviceInfo)
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
// Get the service ID from the service ARN for log group discovery
|
|
106
|
+
if (!serviceInfo)
|
|
107
|
+
return null;
|
|
112
108
|
const serviceId = serviceInfo.serviceArn.split('/').pop();
|
|
113
|
-
|
|
114
|
-
// Try to find the correct log group using App Runner's naming convention
|
|
115
|
-
const logGroup = await findAppRunnerLogGroup(logsClient, serviceName, serviceId);
|
|
116
|
-
if (!logGroup) {
|
|
117
|
-
throw new Error(`No log group found for App Runner service ${serviceName}. ` +
|
|
118
|
-
`The service may not have started logging yet. Try again in a few moments.`);
|
|
119
|
-
}
|
|
120
|
-
try {
|
|
121
|
-
const allEvents = [];
|
|
122
|
-
let nextToken;
|
|
123
|
-
do {
|
|
124
|
-
const res = await logsClient.send(new FilterLogEventsCommand({
|
|
125
|
-
logGroupName: logGroup,
|
|
126
|
-
startTime: Date.now() - 24 * 3600_000,
|
|
127
|
-
...(nextToken ? { nextToken } : {}),
|
|
128
|
-
}));
|
|
129
|
-
for (const e of res.events ?? []) {
|
|
130
|
-
const msg = e.message?.trimEnd();
|
|
131
|
-
if (msg)
|
|
132
|
-
allEvents.push(msg);
|
|
133
|
-
}
|
|
134
|
-
nextToken = res.nextToken;
|
|
135
|
-
} while (nextToken);
|
|
136
|
-
return allEvents.slice(-limit);
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
if (err.name === "ResourceNotFoundException") {
|
|
140
|
-
return [];
|
|
141
|
-
}
|
|
142
|
-
throw err;
|
|
143
|
-
}
|
|
109
|
+
return `/aws/apprunner/${AWS_CONSTANTS.SCHEDULER_SERVICE}/${serviceId}/application`;
|
|
144
110
|
}
|
|
145
111
|
/**
|
|
146
112
|
* Delete the scheduler App Runner service.
|
|
@@ -158,59 +124,6 @@ export async function teardownAppRunner(cloudConfig) {
|
|
|
158
124
|
}));
|
|
159
125
|
console.log(" App Runner service deletion initiated");
|
|
160
126
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Find the CloudWatch log group for an App Runner service.
|
|
163
|
-
* App Runner creates log groups with the pattern: /aws/apprunner/{service-name}/{service-id}/application
|
|
164
|
-
*/
|
|
165
|
-
async function findAppRunnerLogGroup(logsClient, serviceName, serviceId) {
|
|
166
|
-
try {
|
|
167
|
-
let nextToken;
|
|
168
|
-
const logGroupPatterns = [
|
|
169
|
-
// Current App Runner naming pattern
|
|
170
|
-
serviceId ? `/aws/apprunner/${serviceName}/${serviceId}/application` : null,
|
|
171
|
-
// Fallback: scan for any log group matching the service name pattern
|
|
172
|
-
`/aws/apprunner/${serviceName}`,
|
|
173
|
-
// Legacy pattern (in case it still works somewhere)
|
|
174
|
-
`/apprunner/${serviceName}`,
|
|
175
|
-
].filter(Boolean);
|
|
176
|
-
// First try exact patterns
|
|
177
|
-
for (const pattern of logGroupPatterns) {
|
|
178
|
-
const res = await logsClient.send(new DescribeLogGroupsCommand({
|
|
179
|
-
logGroupNamePrefix: pattern,
|
|
180
|
-
limit: 10,
|
|
181
|
-
}));
|
|
182
|
-
if (res.logGroups && res.logGroups.length > 0) {
|
|
183
|
-
// Return the most recent log group
|
|
184
|
-
const sortedGroups = res.logGroups
|
|
185
|
-
.filter(g => g.logGroupName)
|
|
186
|
-
.sort((a, b) => (b.creationTime || 0) - (a.creationTime || 0));
|
|
187
|
-
if (sortedGroups[0]?.logGroupName) {
|
|
188
|
-
return sortedGroups[0].logGroupName;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
// Fallback: scan for any App Runner log groups containing the service name
|
|
193
|
-
do {
|
|
194
|
-
const res = await logsClient.send(new DescribeLogGroupsCommand({
|
|
195
|
-
logGroupNamePrefix: "/aws/apprunner/",
|
|
196
|
-
...(nextToken ? { nextToken } : {}),
|
|
197
|
-
limit: 50,
|
|
198
|
-
}));
|
|
199
|
-
for (const group of res.logGroups ?? []) {
|
|
200
|
-
if (group.logGroupName?.includes(serviceName)) {
|
|
201
|
-
return group.logGroupName;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
nextToken = res.nextToken;
|
|
205
|
-
} while (nextToken);
|
|
206
|
-
return null;
|
|
207
|
-
}
|
|
208
|
-
catch (err) {
|
|
209
|
-
// If we can't list log groups, fall back to the legacy pattern
|
|
210
|
-
console.warn(`Warning: Could not list CloudWatch log groups (${err.message}). Trying legacy pattern.`);
|
|
211
|
-
return AWS_CONSTANTS.APPRUNNER_LOG_GROUP;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
127
|
// --- Internal helpers ---
|
|
215
128
|
async function findService(client, serviceName) {
|
|
216
129
|
let nextToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cloud/aws/deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud/aws/iam.d.ts
CHANGED
|
@@ -23,6 +23,19 @@ export declare function grantPassRole(awsRegion: string, iamClient: IAMClient, r
|
|
|
23
23
|
* Validate that per-agent ECS task roles exist and have correct trust policies.
|
|
24
24
|
*/
|
|
25
25
|
export declare function validateEcsRoles(projectPath: string, cloud: EcsCloudConfig): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Build the ActionLlamaScheduler inline policy document for the App Runner instance role.
|
|
28
|
+
*
|
|
29
|
+
* Exported so both provision (initial create) and doctor (reconcile) use
|
|
30
|
+
* the same authoritative policy definition.
|
|
31
|
+
*/
|
|
32
|
+
export declare function buildSchedulerPolicyDocument(accountId: string, region: string, bucketName: string): Record<string, unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* Reconcile the App Runner instance role's inline policy to match the
|
|
35
|
+
* current code. Called by `al doctor -c` to fix stale policies without
|
|
36
|
+
* re-running the full provisioning wizard.
|
|
37
|
+
*/
|
|
38
|
+
export declare function reconcileAppRunnerInstancePolicy(cloud: EcsCloudConfig): Promise<void>;
|
|
26
39
|
/**
|
|
27
40
|
* Ensure the ECR repository policy grants Lambda pull access.
|
|
28
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EAKV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsKlG;AAID;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EhG;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HpG"}
|
|
1
|
+
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/cloud/aws/iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EAKV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsKlG;AAID;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EhG;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACpD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C3F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HpG"}
|
package/dist/cloud/aws/iam.js
CHANGED
|
@@ -285,6 +285,76 @@ export async function validateEcsRoles(projectPath, cloud) {
|
|
|
285
285
|
console.log(`All ${agents.length} IAM task role(s) exist and have correct trust policies.`);
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Build the ActionLlamaScheduler inline policy document for the App Runner instance role.
|
|
290
|
+
*
|
|
291
|
+
* Exported so both provision (initial create) and doctor (reconcile) use
|
|
292
|
+
* the same authoritative policy definition.
|
|
293
|
+
*/
|
|
294
|
+
export function buildSchedulerPolicyDocument(accountId, region, bucketName) {
|
|
295
|
+
return {
|
|
296
|
+
Version: "2012-10-17",
|
|
297
|
+
Statement: [
|
|
298
|
+
{ Sid: "Identity", Effect: "Allow", Action: "sts:GetCallerIdentity", Resource: "*" },
|
|
299
|
+
{ Sid: "ECS", Effect: "Allow", Action: ["ecs:RegisterTaskDefinition", "ecs:RunTask", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:StopTask"], Resource: "*" },
|
|
300
|
+
{ Sid: "Logs", Effect: "Allow", Action: ["logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents"], Resource: [`arn:aws:logs:${region}:${accountId}:log-group:/ecs/action-llama*`, `arn:aws:logs:${region}:${accountId}:log-group:/aws/lambda/al-*`, `arn:aws:logs:${region}:${accountId}:log-group:/apprunner/al-scheduler*`] },
|
|
301
|
+
{ Sid: "SecretsManager", Effect: "Allow", Action: ["secretsmanager:ListSecrets", "secretsmanager:CreateSecret", "secretsmanager:PutSecretValue", "secretsmanager:GetSecretValue"], Resource: "*" },
|
|
302
|
+
{ Sid: "PassRole", Effect: "Allow", Action: "iam:PassRole", Resource: `arn:aws:iam::${accountId}:role/al-*`, Condition: { StringEquals: { "iam:PassedToService": ["ecs-tasks.amazonaws.com", "codebuild.amazonaws.com", "lambda.amazonaws.com", "tasks.apprunner.amazonaws.com", "build.apprunner.amazonaws.com"] } } },
|
|
303
|
+
{ Sid: "IAMAgentRoles", Effect: "Allow", Action: ["iam:CreateRole", "iam:GetRole", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:AttachRolePolicy"], Resource: `arn:aws:iam::${accountId}:role/al-*` },
|
|
304
|
+
{ Sid: "IAMListRoles", Effect: "Allow", Action: "iam:ListRoles", Resource: "*" },
|
|
305
|
+
{ Sid: "ECR", Effect: "Allow", Action: ["ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:GetAuthorizationToken", "ecr:SetRepositoryPolicy", "ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload"], Resource: "*" },
|
|
306
|
+
{ Sid: "CodeBuild", Effect: "Allow", Action: ["codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:CreateProject", "codebuild:UpdateProject"], Resource: `arn:aws:codebuild:${region}:${accountId}:project/al-image-builder` },
|
|
307
|
+
{ Sid: "Lambda", Effect: "Allow", Action: ["lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:PutFunctionEventInvokeConfig", "lambda:InvokeFunction"], Resource: `arn:aws:lambda:${region}:${accountId}:function:al-*` },
|
|
308
|
+
{ Sid: "S3", Effect: "Allow", Action: ["s3:CreateBucket", "s3:PutObject", "s3:GetObject", "s3:ListBucket"], Resource: [`arn:aws:s3:::${bucketName}`, `arn:aws:s3:::${bucketName}/*`] },
|
|
309
|
+
{ Sid: "AppRunner", Effect: "Allow", Action: ["apprunner:CreateService", "apprunner:UpdateService", "apprunner:DescribeService", "apprunner:DeleteService"], Resource: `arn:aws:apprunner:${region}:${accountId}:service/al-scheduler/*` },
|
|
310
|
+
{ Sid: "AppRunnerList", Effect: "Allow", Action: "apprunner:ListServices", Resource: "*" },
|
|
311
|
+
{ Sid: "DynamoDB", Effect: "Allow", Action: ["dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:UpdateTimeToLive"], Resource: `arn:aws:dynamodb:${region}:${accountId}:table/${AWS_CONSTANTS.STATE_TABLE}` },
|
|
312
|
+
],
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Reconcile the App Runner instance role's inline policy to match the
|
|
317
|
+
* current code. Called by `al doctor -c` to fix stale policies without
|
|
318
|
+
* re-running the full provisioning wizard.
|
|
319
|
+
*/
|
|
320
|
+
export async function reconcileAppRunnerInstancePolicy(cloud) {
|
|
321
|
+
const { awsRegion, ecrRepository } = cloud;
|
|
322
|
+
if (!awsRegion || !ecrRepository) {
|
|
323
|
+
throw new ConfigError("cloud.awsRegion and cloud.ecrRepository are required in config.toml");
|
|
324
|
+
}
|
|
325
|
+
const accountMatch = ecrRepository.match(/^(\d+)\.dkr\.ecr\./);
|
|
326
|
+
if (!accountMatch) {
|
|
327
|
+
throw new ConfigError(`Cannot extract AWS account ID from cloud.ecrRepository: "${ecrRepository}".`);
|
|
328
|
+
}
|
|
329
|
+
const accountId = accountMatch[1];
|
|
330
|
+
const bucketName = cloud.buildBucket || AWS_CONSTANTS.buildBucket(accountId, awsRegion);
|
|
331
|
+
const roleName = AWS_CONSTANTS.APPRUNNER_INSTANCE_ROLE;
|
|
332
|
+
const iamClient = new IAMClient({ region: awsRegion });
|
|
333
|
+
// Verify the role exists before trying to update it
|
|
334
|
+
try {
|
|
335
|
+
await iamClient.send(new GetRoleCommand({ RoleName: roleName }));
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
if (err.name === "NoSuchEntityException") {
|
|
339
|
+
throw new CloudProviderError(`App Runner instance role "${roleName}" does not exist.\n` +
|
|
340
|
+
`Run 'al cloud init' to provision infrastructure first.`);
|
|
341
|
+
}
|
|
342
|
+
throw err;
|
|
343
|
+
}
|
|
344
|
+
const policyDoc = buildSchedulerPolicyDocument(accountId, awsRegion, bucketName);
|
|
345
|
+
try {
|
|
346
|
+
await iamClient.send(new PutRolePolicyCommand({
|
|
347
|
+
RoleName: roleName,
|
|
348
|
+
PolicyName: "ActionLlamaScheduler",
|
|
349
|
+
PolicyDocument: JSON.stringify(policyDoc),
|
|
350
|
+
}));
|
|
351
|
+
console.log(` [updated] ${roleName}: ActionLlamaScheduler policy`);
|
|
352
|
+
}
|
|
353
|
+
catch (err) {
|
|
354
|
+
throw new CloudProviderError(`Failed to update policy on ${roleName}: ${err.message}\n` +
|
|
355
|
+
`Ensure your IAM identity has iam:PutRolePolicy permission on this role.`);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
288
358
|
/**
|
|
289
359
|
* Ensure the ECR repository policy grants Lambda pull access.
|
|
290
360
|
*/
|