@nac3/forge-cli 0.2.0-alpha.23 → 0.2.0-alpha.24
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.
|
@@ -23,6 +23,6 @@ export declare class AwsEcsAdapter implements DeployAdapter {
|
|
|
23
23
|
reason?: string;
|
|
24
24
|
}>;
|
|
25
25
|
plan(input: DeployInput): Promise<DeployPlan>;
|
|
26
|
-
apply(
|
|
26
|
+
apply(input: DeployInput): Promise<DeployResult>;
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=aws_adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws_adapter.d.ts","sourceRoot":"","sources":["../../src/deploy/aws_adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EACV,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAC3D,MAAM,cAAc,CAAC;AAEtB,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,KAAK,CAAU;IAC7B,QAAQ,CAAC,WAAW,SAEqC;IAEzD,OAAO,IAAI,IAAI,EAAE;IAEX,UAAU,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBvD,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAuB7C,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"aws_adapter.d.ts","sourceRoot":"","sources":["../../src/deploy/aws_adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EACV,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAC3D,MAAM,cAAc,CAAC;AAEtB,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,EAAE,EAAG,KAAK,CAAU;IAC7B,QAAQ,CAAC,WAAW,SAEqC;IAEzD,OAAO,IAAI,IAAI,EAAE;IAEX,UAAU,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBvD,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAuB7C,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAqDvD"}
|
|
@@ -46,20 +46,53 @@ export class AwsEcsAdapter {
|
|
|
46
46
|
],
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
async apply(
|
|
50
|
-
/*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* The proper migration is a follow-up: refactor aws.ts to
|
|
54
|
-
* accept DeployInput + return DeployResult, then route the
|
|
55
|
-
* `yf deploy aws` command through this adapter.
|
|
49
|
+
async apply(input) {
|
|
50
|
+
/* alpha.23+: AwsEcsAdapter.apply() wires through to the
|
|
51
|
+
* existing aws.ts imperative path. Returns the unified
|
|
52
|
+
* DeployResult shape the DeployAdapter contract expects.
|
|
56
53
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
* The user MUST have `yujin.forge.json::deploys.aws`
|
|
55
|
+
* populated (region + cluster + service + image) -- we
|
|
56
|
+
* read it via readDeployConfig() + use input.projectSlug
|
|
57
|
+
* as the override for the service name if the config
|
|
58
|
+
* doesn't set one. */
|
|
59
|
+
const { resolveAwsCredentials, readDeployConfig, planDeploy, applyDeploy } = await import('./aws.js');
|
|
60
|
+
const creds = await resolveAwsCredentials();
|
|
61
|
+
if (!creds) {
|
|
62
|
+
throw new Error('AwsEcsAdapter.apply: aws_access_key_id / aws_secret_access_key '
|
|
63
|
+
+ 'missing from vault. Run `yf vault set aws_access_key_id` and '
|
|
64
|
+
+ '`yf vault set aws_secret_access_key`.');
|
|
65
|
+
}
|
|
66
|
+
/* Look up the canonical config from yujin.forge.json. The
|
|
67
|
+
* adapter contract does not carry region / cluster / image
|
|
68
|
+
* because those are AWS-specific. The project config is the
|
|
69
|
+
* source of truth. */
|
|
70
|
+
const cwd = process.cwd();
|
|
71
|
+
const config = await readDeployConfig(cwd);
|
|
72
|
+
if (!config) {
|
|
73
|
+
throw new Error('AwsEcsAdapter.apply: yujin.forge.json::deploys.aws missing. '
|
|
74
|
+
+ 'Add: { "deploys": { "aws": { "region": "...", "cluster": "...", '
|
|
75
|
+
+ '"service": "' + input.projectSlug + '", "image": "..." } } }');
|
|
76
|
+
}
|
|
77
|
+
const plan = planDeploy(config);
|
|
78
|
+
const t0 = Date.now();
|
|
79
|
+
const r = await applyDeploy(plan, creds);
|
|
80
|
+
const seconds = Math.round((Date.now() - t0) / 1000);
|
|
81
|
+
if (!r.ok) {
|
|
82
|
+
throw new Error('AwsEcsAdapter.apply failed: ' + r.message
|
|
83
|
+
+ (r.detail ? ' -- ' + r.detail : ''));
|
|
84
|
+
}
|
|
85
|
+
/* AWS ECS does not expose a service URL directly. The
|
|
86
|
+
* canonical "where is my app" is the ALB DNS name -- not
|
|
87
|
+
* known here without a separate ELB lookup. Return a
|
|
88
|
+
* descriptive identifier so callers can show something
|
|
89
|
+
* useful + look up the real URL in the dashboard. */
|
|
90
|
+
return {
|
|
91
|
+
url: 'arn://' + (r.task_definition_arn ?? plan.config.service),
|
|
92
|
+
deployed_at: new Date().toISOString(),
|
|
93
|
+
build_seconds: seconds,
|
|
94
|
+
logs_tail: [r.message],
|
|
95
|
+
};
|
|
63
96
|
}
|
|
64
97
|
}
|
|
65
98
|
//# sourceMappingURL=aws_adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws_adapter.js","sourceRoot":"","sources":["../../src/deploy/aws_adapter.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,aAAa;IACf,EAAE,GAAG,KAAc,CAAC;IACpB,WAAW,GAClB,+EAA+E;UAC7E,oDAAoD,CAAC;IAEzD,OAAO,KAAa,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEhD,KAAK,CAAC,UAAU;QACd;;;qDAG6C;QAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACtF,IAAI,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAChC,4DAA4D;QAC5D,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAAC,CAAC;QAChE,MAAM,CAAC;YAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oDAAoD,EAAE,CAAC;QAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAkB;QAC3B,OAAO;YACL,SAAS,EAAE;gBACT,eAAe,GAAG,KAAK,CAAC,WAAW,GAAG,UAAU;gBAChD,eAAe,GAAG,KAAK,CAAC,WAAW,GAAG,oBAAoB;gBAC1D,+BAA+B,GAAG,KAAK,CAAC,WAAW;gBACnD,YAAY,GAAG,KAAK,CAAC,WAAW,GAAG,YAAY;gBAC/C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE;YACD;;0BAEc;YACd,kBAAkB,EAAE,EAAE;YACtB,iBAAiB,EAAG,EAAE;YACtB,KAAK,EAAE;gBACL,kDAAkD;gBAClD,sEAAsE;gBACtE,uFAAuF;gBACvF,2GAA2G;aAC5G;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"aws_adapter.js","sourceRoot":"","sources":["../../src/deploy/aws_adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nac3/forge-cli",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.24",
|
|
4
4
|
"description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pablo Kuschnirof <pablo@rpaforce.com>",
|