@intentic/cli 1.125.1 → 1.132.0
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/adopt/adopt.command.d.ts.map +1 -1
- package/dist/adopt/adopt.command.js +47 -19
- package/dist/adopt/adopt.command.js.map +1 -1
- package/dist/adopt/adopt.d.ts +1 -1
- package/dist/adopt/adopt.d.ts.map +1 -1
- package/dist/adopt/adopt.js +9 -16
- package/dist/adopt/adopt.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +7 -2
- package/dist/app.js.map +1 -1
- package/dist/apply/access.d.ts.map +1 -1
- package/dist/apply/apply-lock.d.ts.map +1 -1
- package/dist/apply/apply-lock.js.map +1 -1
- package/dist/apply/apply.command.d.ts.map +1 -1
- package/dist/apply/apply.command.js +77 -16
- package/dist/apply/apply.command.js.map +1 -1
- package/dist/apply/migrate.d.ts.map +1 -1
- package/dist/demo.js +5 -4
- package/dist/demo.js.map +1 -1
- package/dist/deployments/deployments.command.d.ts.map +1 -1
- package/dist/deployments/deployments.command.js +3 -3
- package/dist/deployments/deployments.command.js.map +1 -1
- package/dist/deployments/deployments.d.ts +4 -1
- package/dist/deployments/deployments.d.ts.map +1 -1
- package/dist/deployments/deployments.js +6 -3
- package/dist/deployments/deployments.js.map +1 -1
- package/dist/destroy/destroy.command.d.ts +3 -0
- package/dist/destroy/destroy.command.d.ts.map +1 -0
- package/dist/destroy/destroy.command.js +73 -0
- package/dist/destroy/destroy.command.js.map +1 -0
- package/dist/env.config.d.ts +2 -1
- package/dist/env.config.d.ts.map +1 -1
- package/dist/env.config.js +1 -0
- package/dist/env.config.js.map +1 -1
- package/dist/host-ssh-tunnel/host-ssh-tunnel.d.ts.map +1 -1
- package/dist/host-ssh-tunnel/host-ssh-tunnel.js +7 -6
- package/dist/host-ssh-tunnel/host-ssh-tunnel.js.map +1 -1
- package/dist/init/init.d.ts.map +1 -1
- package/dist/init/init.js +5 -7
- package/dist/init/init.js.map +1 -1
- package/dist/init/scaffold-app.d.ts.map +1 -1
- package/dist/init/scaffold-app.js +5 -8
- package/dist/init/scaffold-app.js.map +1 -1
- package/dist/lib/artifact.d.ts.map +1 -1
- package/dist/lib/cf-tunnel.d.ts +0 -3
- package/dist/lib/cf-tunnel.d.ts.map +1 -1
- package/dist/lib/cf-tunnel.js +0 -1
- package/dist/lib/cf-tunnel.js.map +1 -1
- package/dist/lib/events-file.d.ts +3 -0
- package/dist/lib/events-file.d.ts.map +1 -0
- package/dist/lib/events-file.js +18 -0
- package/dist/lib/events-file.js.map +1 -0
- package/dist/lib/known-hosts.d.ts.map +1 -1
- package/dist/lib/output.d.ts +5 -0
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +49 -2
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/run-log.d.ts +1 -0
- package/dist/lib/run-log.d.ts.map +1 -1
- package/dist/lib/run-log.js +10 -3
- package/dist/lib/run-log.js.map +1 -1
- package/dist/lib/templates.d.ts.map +1 -1
- package/dist/lib/templates.js.map +1 -1
- package/dist/lib/version.js.map +1 -1
- package/dist/pipelines/adopt-pipelines.d.ts +0 -1
- package/dist/pipelines/adopt-pipelines.d.ts.map +1 -1
- package/dist/pipelines/adopt-pipelines.js +1 -1
- package/dist/pipelines/adopt-pipelines.js.map +1 -1
- package/dist/pipelines/control-plane-sync.d.ts +11 -0
- package/dist/pipelines/control-plane-sync.d.ts.map +1 -1
- package/dist/pipelines/control-plane-sync.js +20 -1
- package/dist/pipelines/control-plane-sync.js.map +1 -1
- package/dist/plan/plan.command.d.ts.map +1 -1
- package/dist/plan/plan.command.js +71 -10
- package/dist/plan/plan.command.js.map +1 -1
- package/dist/resolve/resolve.command.d.ts.map +1 -1
- package/dist/resolve/resolve.command.js +6 -2
- package/dist/resolve/resolve.command.js.map +1 -1
- package/dist/resolve/resolve.d.ts.map +1 -1
- package/dist/restore/restore.command.d.ts.map +1 -1
- package/dist/restore/restore.command.js +39 -34
- package/dist/restore/restore.command.js.map +1 -1
- package/dist/sandbox-tunnel/sandbox-tunnel.d.ts.map +1 -1
- package/dist/sandbox-tunnel/sandbox-tunnel.js +5 -4
- package/dist/sandbox-tunnel/sandbox-tunnel.js.map +1 -1
- package/dist/secrets/generated-secrets.d.ts.map +1 -1
- package/dist/secrets/secret-store.d.ts.map +1 -1
- package/dist/secrets/secret-store.js +13 -14
- package/dist/secrets/secret-store.js.map +1 -1
- package/dist/secrets/secrets.command.d.ts.map +1 -1
- package/dist/secrets/secrets.command.js +1 -1
- package/dist/secrets/secrets.command.js.map +1 -1
- package/dist/secrets/secrets.d.ts.map +1 -1
- package/package.json +17 -16
- package/templates/workflows/apply.yaml.eta +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.command.d.ts","sourceRoot":"","sources":["../../src/adopt/adopt.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"adopt.command.d.ts","sourceRoot":"","sources":["../../src/adopt/adopt.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAmBlE,eAAO,MAAM,KAAK,iDA0HhB,CAAC"}
|
|
@@ -1,23 +1,36 @@
|
|
|
1
1
|
import { dirname, join } from "node:path";
|
|
2
|
-
import { forgejoApi } from "@intentic/providers";
|
|
2
|
+
import { FORGEJO_HTTP_PORT, forgejoApi, overSsh, sshExecutor } from "@intentic/providers";
|
|
3
3
|
import { secretDigest, writeSyncState } from "@intentic/scaffold";
|
|
4
4
|
import { buildCommand } from "@stricli/core";
|
|
5
5
|
import { loadConfig } from "../env.config.js";
|
|
6
6
|
import { ARTIFACT_FILE, ARTIFACT_PATH, CONFIG_FILE, INTENT_DIR, loadEnvFile, readArtifact, TARGET_DIR } from "../lib/artifact.js";
|
|
7
|
-
import { createOutput } from "../lib/output.js";
|
|
7
|
+
import { createOutput, teeOutput } from "../lib/output.js";
|
|
8
8
|
import { withRunLog } from "../lib/run-log.js";
|
|
9
9
|
import { version } from "../lib/version.js";
|
|
10
10
|
import { collectSecretValues, GIT_TOKEN_SECRET, GIT_USER_SECRET, setRepoSecrets, writeControlPlaneWorkflows, } from "../pipelines/adopt-pipelines.js";
|
|
11
11
|
import { forgejoIdentity } from "../pipelines/control-plane-sync.js";
|
|
12
|
+
import { createEventsFileSink } from "../lib/events-file.js";
|
|
12
13
|
import { readGeneratedSecrets } from "../secrets/generated-secrets.js";
|
|
13
14
|
import { adoptRepos } from "./adopt.js";
|
|
14
15
|
export const adopt = buildCommand({
|
|
15
16
|
docs: { brief: "Push the local intent and desired-state repos to the provisioned Forgejo" },
|
|
16
17
|
parameters: {
|
|
17
|
-
flags: {
|
|
18
|
+
flags: {
|
|
19
|
+
artifact: { kind: "parsed", parse: String, optional: true, brief: `Path to the artifact (default: ${ARTIFACT_PATH})` },
|
|
20
|
+
baseUrl: {
|
|
21
|
+
kind: "parsed",
|
|
22
|
+
parse: String,
|
|
23
|
+
optional: true,
|
|
24
|
+
brief: "Override the transport authority for the REST calls + push (default: an SSH port-forward to Forgejo on the host); origin stays on the public git domain either way",
|
|
25
|
+
},
|
|
26
|
+
},
|
|
18
27
|
},
|
|
19
28
|
async func(flags) {
|
|
20
|
-
const
|
|
29
|
+
const config = loadConfig();
|
|
30
|
+
const primary = createOutput(withRunLog(this.process.stdout, "adopt"), config.intenticOutput);
|
|
31
|
+
const out = config.intenticEventsFile === ""
|
|
32
|
+
? primary
|
|
33
|
+
: teeOutput(primary, createOutput(createEventsFileSink(config.intenticEventsFile, "adopt"), "ndjson"));
|
|
21
34
|
const artifact = flags.artifact ?? ARTIFACT_PATH;
|
|
22
35
|
const targetDir = dirname(artifact);
|
|
23
36
|
const intentDir = join(dirname(targetDir), INTENT_DIR);
|
|
@@ -28,9 +41,10 @@ export const adopt = buildCommand({
|
|
|
28
41
|
out.result({ repos: [], reason: "no control plane" });
|
|
29
42
|
return;
|
|
30
43
|
}
|
|
31
|
-
const { domain, user, adminPasswordRef: ref } = forgejoIdentity(graph);
|
|
44
|
+
const { domain, user, adminPasswordRef: ref, ssh } = forgejoIdentity(graph);
|
|
32
45
|
const generatedValues = await readGeneratedSecrets(targetDir);
|
|
33
|
-
const
|
|
46
|
+
const secretValue = (source, key) => source === "generated" ? generatedValues[key] : process.env[key];
|
|
47
|
+
const password = secretValue(ref.source, ref.key);
|
|
34
48
|
if (password === undefined || password === "") {
|
|
35
49
|
throw new Error(`forgejo admin password (${ref.source} secret ${ref.key}) is not available`);
|
|
36
50
|
}
|
|
@@ -47,23 +61,37 @@ export const adopt = buildCommand({
|
|
|
47
61
|
forgejoPasswordKey: ref.key,
|
|
48
62
|
};
|
|
49
63
|
await writeControlPlaneWorkflows(intentDir, targetDir, inputs);
|
|
50
|
-
const baseUrl = `https://${domain}`;
|
|
51
|
-
const repos = await adoptRepos({
|
|
52
|
-
baseUrl,
|
|
53
|
-
user,
|
|
54
|
-
password,
|
|
55
|
-
repos: [
|
|
56
|
-
{ dir: intentDir, name: INTENT_DIR },
|
|
57
|
-
{ dir: targetDir, name: TARGET_DIR },
|
|
58
|
-
],
|
|
59
|
-
log: out.log,
|
|
60
|
-
});
|
|
61
64
|
const intentSecrets = { [GIT_USER_SECRET]: user, [GIT_TOKEN_SECRET]: password };
|
|
62
65
|
if (desiredStateSecrets["CLOUDFLARE_API_TOKEN"] !== undefined) {
|
|
63
66
|
intentSecrets["CLOUDFLARE_API_TOKEN"] = desiredStateSecrets["CLOUDFLARE_API_TOKEN"];
|
|
64
67
|
}
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
const run = async (baseUrl) => {
|
|
69
|
+
const repos = await adoptRepos({
|
|
70
|
+
baseUrl,
|
|
71
|
+
originBaseUrl: `https://${domain}`,
|
|
72
|
+
user,
|
|
73
|
+
password,
|
|
74
|
+
repos: [
|
|
75
|
+
{ dir: intentDir, name: INTENT_DIR },
|
|
76
|
+
{ dir: targetDir, name: TARGET_DIR },
|
|
77
|
+
],
|
|
78
|
+
log: out.log,
|
|
79
|
+
});
|
|
80
|
+
await setRepoSecrets({ api: forgejoApi, baseUrl, user, password, owner: user, name: INTENT_DIR, secrets: intentSecrets });
|
|
81
|
+
await setRepoSecrets({ api: forgejoApi, baseUrl, user, password, owner: user, name: TARGET_DIR, secrets: desiredStateSecrets });
|
|
82
|
+
return repos;
|
|
83
|
+
};
|
|
84
|
+
let repos;
|
|
85
|
+
if (flags.baseUrl !== undefined) {
|
|
86
|
+
repos = await run(flags.baseUrl);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const sshKey = secretValue(ssh.sshKeyRef.source, ssh.sshKeyRef.key);
|
|
90
|
+
if (sshKey === undefined || sshKey === "") {
|
|
91
|
+
throw new Error(`host ssh key (${ssh.sshKeyRef.source} secret ${ssh.sshKeyRef.key}) is not available`);
|
|
92
|
+
}
|
|
93
|
+
repos = await overSsh(sshExecutor, { address: ssh.address, user: ssh.user, sshKey, port: ssh.port ?? 22, via: ssh.via ?? "direct" }, FORGEJO_HTTP_PORT, run);
|
|
94
|
+
}
|
|
67
95
|
const pushedAt = new Date().toISOString();
|
|
68
96
|
await writeSyncState(targetDir, Object.fromEntries(Object.entries(desiredStateSecrets).map(([key, value]) => [key, { digest: secretDigest(value), pushedAt }])));
|
|
69
97
|
out.text(`set ${Object.keys(intentSecrets).length} secret(s) on ${user}/${INTENT_DIR}, ${Object.keys(desiredStateSecrets).length} on ${user}/${TARGET_DIR}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.command.js","sourceRoot":"","sources":["../../src/adopt/adopt.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"adopt.command.js","sourceRoot":"","sources":["../../src/adopt/adopt.command.ts"],"names":[],"mappings":"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"}
|
package/dist/adopt/adopt.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ForgejoApi } from "@intentic/providers";
|
|
2
2
|
import { type GitRunner } from "@intentic/scaffold";
|
|
3
|
-
export type { GitRunner };
|
|
4
3
|
export interface AdoptRepo {
|
|
5
4
|
readonly dir: string;
|
|
6
5
|
readonly name: string;
|
|
7
6
|
}
|
|
8
7
|
export interface AdoptOptions {
|
|
9
8
|
readonly baseUrl: string;
|
|
9
|
+
readonly originBaseUrl: string;
|
|
10
10
|
readonly user: string;
|
|
11
11
|
readonly password: string;
|
|
12
12
|
readonly repos: readonly AdoptRepo[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/adopt/adopt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/adopt/adopt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,SAAS;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAGzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;CAC5B;AAMD,eAAO,MAAM,UAAU,YAAmB,YAAY,KAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAyBtH,CAAC"}
|
package/dist/adopt/adopt.js
CHANGED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
import { forgejoApi } from "@intentic/providers";
|
|
2
|
-
import { defaultGit } from "@intentic/scaffold";
|
|
2
|
+
import { defaultGit, gitCommitAll } from "@intentic/scaffold";
|
|
3
3
|
export const adoptRepos = async (options) => {
|
|
4
4
|
const api = options.api ?? forgejoApi;
|
|
5
5
|
const git = options.git ?? defaultGit;
|
|
6
|
-
const { baseUrl, user, password, repos, log } = options;
|
|
7
|
-
const email = `${user}@${new URL(
|
|
6
|
+
const { baseUrl, originBaseUrl, user, password, repos, log } = options;
|
|
7
|
+
const email = `${user}@${new URL(originBaseUrl).host}`;
|
|
8
8
|
const authHeader = `AUTHORIZATION: basic ${Buffer.from(`${user}:${password}`).toString("base64")}`;
|
|
9
|
-
|
|
10
|
-
for (const { dir, name } of repos) {
|
|
9
|
+
return Promise.all(repos.map(async ({ dir, name }) => {
|
|
11
10
|
const existing = await api.findRepo({ baseUrl, user, password, owner: user, name });
|
|
12
11
|
if (existing === undefined) {
|
|
13
12
|
await api.createRepo({ baseUrl, user, password, owner: user, ownerIsOrg: false, name, private: true, autoInit: false });
|
|
14
13
|
log(`created ${user}/${name} in Forgejo`);
|
|
15
14
|
}
|
|
16
|
-
await
|
|
17
|
-
const
|
|
18
|
-
if (status.stdout.trim() !== "") {
|
|
19
|
-
await git(dir, ["-c", `user.name=${user}`, "-c", `user.email=${email}`, "commit", "-m", "intentic adopt"]);
|
|
20
|
-
}
|
|
21
|
-
await git(dir, ["branch", "-M", "main"]);
|
|
22
|
-
const cloneUrl = `${baseUrl}/${user}/${name}.git`;
|
|
15
|
+
await gitCommitAll(dir, "intentic adopt", { name: user, email }, git);
|
|
16
|
+
const cloneUrl = `${originBaseUrl}/${user}/${name}.git`;
|
|
23
17
|
const remotes = (await git(dir, ["remote"])).stdout.split("\n").map((line) => line.trim());
|
|
24
18
|
await git(dir, remotes.includes("origin") ? ["remote", "set-url", "origin", cloneUrl] : ["remote", "add", "origin", cloneUrl]);
|
|
25
|
-
await git(dir, ["-c", `http.extraHeader=${authHeader}`, "push",
|
|
19
|
+
await git(dir, ["-c", `http.extraHeader=${authHeader}`, "push", `${baseUrl}/${user}/${name}.git`, "main"]);
|
|
26
20
|
log(`pushed ${dir} → ${cloneUrl}`);
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
return pushed;
|
|
21
|
+
return { name, cloneUrl };
|
|
22
|
+
}));
|
|
30
23
|
};
|
|
31
24
|
//# sourceMappingURL=adopt.js.map
|
package/dist/adopt/adopt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/adopt/adopt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/adopt/adopt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AA2B9E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAqB,EAAmE,EAAE;IACvH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;IACtC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,wBAAwB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAGnG,OAAO,OAAO,CAAC,GAAG,CACd,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxH,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,aAAa,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,GAAG,aAAa,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC;QACxD,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3F,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE/H,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,oBAAoB,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3G,GAAG,CAAC,UAAU,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CACL,CAAC;AACN,CAAC,CAAC"}
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,GAAG,6EA0Bf,CAAC"}
|
package/dist/app.js
CHANGED
|
@@ -3,10 +3,12 @@ import { addAppCommand } from "./add-app/add-app.command.js";
|
|
|
3
3
|
import { adopt } from "./adopt/adopt.command.js";
|
|
4
4
|
import { apply } from "./apply/apply.command.js";
|
|
5
5
|
import { deploymentsCommand } from "./deployments/deployments.command.js";
|
|
6
|
+
import { destroy } from "./destroy/destroy.command.js";
|
|
6
7
|
import { loadConfig } from "./env.config.js";
|
|
7
8
|
import { hostSshTunnel } from "./host-ssh-tunnel/host-ssh-tunnel.command.js";
|
|
8
9
|
import { init } from "./init/init.command.js";
|
|
9
10
|
import { version } from "./lib/version.js";
|
|
11
|
+
import { recordRunFailure } from "./lib/run-log.js";
|
|
10
12
|
import { logsCommand } from "./logs/logs.command.js";
|
|
11
13
|
import { monorepoCommand } from "./monorepo/monorepo.command.js";
|
|
12
14
|
import { planCommand } from "./plan/plan.command.js";
|
|
@@ -15,10 +17,12 @@ import { restore } from "./restore/restore.command.js";
|
|
|
15
17
|
import { sandboxTunnel } from "./sandbox-tunnel/sandbox-tunnel.command.js";
|
|
16
18
|
import { secretsCommand } from "./secrets/secrets.command.js";
|
|
17
19
|
const formatException = (exc) => {
|
|
20
|
+
const message = exc instanceof Error ? exc.message : String(exc);
|
|
21
|
+
recordRunFailure(message);
|
|
18
22
|
if (exc instanceof Error) {
|
|
19
|
-
return loadConfig().intenticDebug ? (exc.stack ??
|
|
23
|
+
return loadConfig().intenticDebug ? (exc.stack ?? message) : message;
|
|
20
24
|
}
|
|
21
|
-
return
|
|
25
|
+
return message;
|
|
22
26
|
};
|
|
23
27
|
export const app = buildApplication(buildRouteMap({
|
|
24
28
|
routes: {
|
|
@@ -28,6 +32,7 @@ export const app = buildApplication(buildRouteMap({
|
|
|
28
32
|
resolve: resolveCommand,
|
|
29
33
|
plan: planCommand,
|
|
30
34
|
apply,
|
|
35
|
+
destroy,
|
|
31
36
|
adopt,
|
|
32
37
|
restore,
|
|
33
38
|
secrets: secretsCommand,
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,MAAM,eAAe,GAAG,CAAC,GAAY,EAAU,EAAE;IAC7C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACzE,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAC/B,aAAa,CAAC;IACV,MAAM,EAAE;QACJ,IAAI;QACJ,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,OAAO;QACP,KAAK;QACL,OAAO;QACP,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,WAAW;QACjB,aAAa;QACb,aAAa;KAChB;IACD,IAAI,EAAE,EAAE,KAAK,EAAE,qCAAqC,EAAE;CACzD,CAAC,EACF;IACI,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE;IACxC,OAAO,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;IAC/C,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;CAClH,CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/apply/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgBvF,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAG3B,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxG;AAKD,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/apply/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgBvF,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAG3B,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxG;AAKD,eAAO,MAAM,aAAa,UACf,iBAAiB,WACf,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAC/D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,KAClD,WAAW,EAuBb,CAAC;AAeF,eAAO,MAAM,mBAAmB,YAAa,SAAS,WAAW,EAAE,KAAG,MASrE,CAAC;AAWF,eAAO,MAAM,eAAe,SAAgB,MAAM,WAAW,SAAS,WAAW,EAAE,KAAG,OAAO,CAAC,IAAI,CAMjG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-lock.d.ts","sourceRoot":"","sources":["../../src/apply/apply-lock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAe7E,MAAM,WAAW,SAAS;IAEtB,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAqED,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"apply-lock.d.ts","sourceRoot":"","sources":["../../src/apply/apply-lock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAe7E,MAAM,WAAW,SAAS;IAEtB,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAqED,eAAO,MAAM,gBAAgB,aACf,WAAW,WACZ,SAAS,SAAS,EAAE,YACpB;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAC9G,OAAO,CAAC,SAAS,CA4DnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-lock.js","sourceRoot":"","sources":["../../src/apply/apply-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAYnC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAE9C,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAC;AAWpC,MAAM,OAAO,GAAG,CAAC,MAAiB,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AAIlF,MAAM,YAAY,GAAG,CAAC,OAA6B,EAAe,EAAE;IAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAIF,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,GAAG,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;AAItG,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CAAC,cAAc,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;AAIxG,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CACzE,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC;;OAE7B,QAAQ;;;6DAG8C,MAAM,MAAM,KAAK,wBAAwB,GAAG;;;;;;;;yBAQhF,CAAC;AAE1B,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,GAAW,EAAU,EAAE,CACxD,GAAG,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,oDAAoD,QAAQ;cACjF,KAAK,oCAAoC,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CACvE,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,QAAQ;;;iBAGjC,KAAK,sEAAsE,MAAM,MAAM,KAAK,wBAAwB,GAAG,oDAAoD,CAAC;AAE7L,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,GAAW,EAAU,EAAE,CACzD,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,QAAQ;;;iBAGnC,KAAK,8FAA8F,CAAC;AAErH,MAAM,GAAG,GAAG,KAAK,EAAE,QAAqB,EAAE,MAAiB,EAAE,OAAe,EAAsB,EAAE;IAChG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;AACL,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,QAAqB,EACrB,OAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"apply-lock.js","sourceRoot":"","sources":["../../src/apply/apply-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.command.d.ts","sourceRoot":"","sources":["../../src/apply/apply.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply.command.d.ts","sourceRoot":"","sources":["../../src/apply/apply.command.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAgB,KAAK,cAAc,EAAgB,MAAM,eAAe,CAAC;AAyBhF,eAAO,MAAM,KAAK,iDAwPhB,CAAC"}
|
|
@@ -2,18 +2,20 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
|
-
import { applyMoves, createStore, prune, reconcile, resolveInputs, rewriteGraphForMoves } from "@intentic/engine";
|
|
6
|
-
import { createProviders, createSshExecutor, createSshProbe, hostTarget } from "@intentic/providers";
|
|
5
|
+
import { applyMoves, collectOrphans, createStore, prune, pruneOrphans, ReadinessTimeoutError, reconcile, resolveInputs, rewriteGraphForMoves, } from "@intentic/engine";
|
|
6
|
+
import { connectWithRetry, createProviders, createSshExecutor, createSshProbe, hostTarget, readinessDiagnostics } from "@intentic/providers";
|
|
7
7
|
import { buildCommand, numberParser } from "@stricli/core";
|
|
8
|
+
import { collectSecretUsage, subgraph } from "@intentic/graph";
|
|
8
9
|
import { loadConfig } from "../env.config.js";
|
|
9
10
|
import { ACCESS_FILE, ARTIFACT_PATH, LAST_APPLIED_FILE, loadEnvFile, readArtifact, STATUS_FILE, writeStatus } from "../lib/artifact.js";
|
|
10
11
|
import { createKnownHostsStore } from "../lib/known-hosts.js";
|
|
11
|
-
import { createOutput } from "../lib/output.js";
|
|
12
|
+
import { createOutput, createRedactor, teeOutput } from "../lib/output.js";
|
|
12
13
|
import { withRunLog } from "../lib/run-log.js";
|
|
13
14
|
import { ensureGeneratedSecrets } from "../secrets/generated-secrets.js";
|
|
14
15
|
import { generatedSecretStore } from "../secrets/secret-store.js";
|
|
15
16
|
import { collectSecrets } from "../secrets/secrets.js";
|
|
16
17
|
import { collectAccess, formatAccessSummary, writeAccessFile } from "./access.js";
|
|
18
|
+
import { createEventsFileSink } from "../lib/events-file.js";
|
|
17
19
|
import { acquireApplyLock } from "./apply-lock.js";
|
|
18
20
|
import { detectHostMoves, migrateHosts } from "./migrate.js";
|
|
19
21
|
const DEFAULT_MAX_ITERATIONS = 5;
|
|
@@ -34,14 +36,33 @@ export const apply = buildCommand({
|
|
|
34
36
|
optional: true,
|
|
35
37
|
brief: "Path to the last successfully-applied artifact; resources absent from the new one are pruned after convergence",
|
|
36
38
|
},
|
|
39
|
+
yes: {
|
|
40
|
+
kind: "boolean",
|
|
41
|
+
brief: "Confirm deletions: without it, pending prunes are listed and left in place (converge still runs)",
|
|
42
|
+
},
|
|
43
|
+
target: {
|
|
44
|
+
kind: "parsed",
|
|
45
|
+
parse: String,
|
|
46
|
+
optional: true,
|
|
47
|
+
brief: "Comma-separated resource ids: reconcile only these and their dependencies (prune and orphan scan are skipped)",
|
|
48
|
+
},
|
|
37
49
|
},
|
|
38
50
|
},
|
|
39
51
|
async func(flags) {
|
|
40
|
-
const
|
|
52
|
+
const config = loadConfig();
|
|
53
|
+
const redactor = createRedactor();
|
|
54
|
+
const primary = createOutput(redactor.wrap(withRunLog(this.process.stdout, "apply")), config.intenticOutput);
|
|
55
|
+
const eventsSink = config.intenticEventsFile === "" ? undefined : createEventsFileSink(config.intenticEventsFile, "apply");
|
|
56
|
+
const out = eventsSink === undefined ? primary : teeOutput(primary, createOutput(redactor.wrap(eventsSink), "ndjson"));
|
|
41
57
|
const artifact = flags.artifact ?? ARTIFACT_PATH;
|
|
42
58
|
const dir = dirname(artifact);
|
|
43
59
|
loadEnvFile(dir);
|
|
44
|
-
const
|
|
60
|
+
const full = await readArtifact(artifact);
|
|
61
|
+
const targetIds = flags.target
|
|
62
|
+
?.split(",")
|
|
63
|
+
.map((id) => id.trim())
|
|
64
|
+
.filter((id) => id !== "");
|
|
65
|
+
const graph = targetIds === undefined ? full : subgraph(full, targetIds);
|
|
45
66
|
const ssh = createSshExecutor(createKnownHostsStore(dir));
|
|
46
67
|
const previousPath = flags.previous ?? join(dir, LAST_APPLIED_FILE);
|
|
47
68
|
const previous = existsSync(previousPath) ? await readArtifact(previousPath) : undefined;
|
|
@@ -60,6 +81,10 @@ export const apply = buildCommand({
|
|
|
60
81
|
}
|
|
61
82
|
return false;
|
|
62
83
|
};
|
|
84
|
+
await Promise.all(targets.map(async (target) => {
|
|
85
|
+
const session = await connectWithRetry(ssh, target, { log: out.log });
|
|
86
|
+
await session.dispose();
|
|
87
|
+
}));
|
|
63
88
|
const oldMoveTargets = hostMoves.map((move) => hostTarget(resolveInputs(move.oldNode.inputs, createStore(), process.env, { lenient: false })));
|
|
64
89
|
const lock = await acquireApplyLock(ssh, [...targets, ...oldMoveTargets], { log: out.log });
|
|
65
90
|
const onSignal = () => {
|
|
@@ -67,8 +92,10 @@ export const apply = buildCommand({
|
|
|
67
92
|
};
|
|
68
93
|
process.once("SIGINT", onSignal);
|
|
69
94
|
process.once("SIGTERM", onSignal);
|
|
95
|
+
process.once("SIGHUP", onSignal);
|
|
70
96
|
try {
|
|
71
97
|
await ensureGeneratedSecrets(generatedSecretStore(graph, dir, ssh, true, out.log), collectSecrets(graph).generated, process.env);
|
|
98
|
+
redactor.add(collectSecretUsage(graph).map((usage) => process.env[usage.key]));
|
|
72
99
|
if (hostMoves.length > 0) {
|
|
73
100
|
await migrateHosts(hostMoves, { next: graph, ssh, env: process.env, tmpDir: tmpdir(), log: out.log });
|
|
74
101
|
}
|
|
@@ -78,7 +105,16 @@ export const apply = buildCommand({
|
|
|
78
105
|
onEvent: out.onEvent,
|
|
79
106
|
env: process.env,
|
|
80
107
|
});
|
|
81
|
-
|
|
108
|
+
let result;
|
|
109
|
+
try {
|
|
110
|
+
result = await reconcile(graph, { providers: createProviders({ ssh }), log: out.log, onEvent: out.onEvent, ...(probe !== undefined ? { probe } : {}) }, { maxIterations: flags.maxIterations ?? DEFAULT_MAX_ITERATIONS });
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
if (error instanceof ReadinessTimeoutError && targets.length > 0) {
|
|
114
|
+
out.log(await readinessDiagnostics(targets, ssh, error));
|
|
115
|
+
}
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
82
118
|
const access = collectAccess(graph, result.outcome.outputs, process.env);
|
|
83
119
|
await writeStatus(join(dir, STATUS_FILE), {
|
|
84
120
|
converged: result.converged,
|
|
@@ -87,16 +123,40 @@ export const apply = buildCommand({
|
|
|
87
123
|
access: access.map((entry) => entry.password === undefined ? entry : { ...entry, password: { source: entry.password.source, key: entry.password.key } }),
|
|
88
124
|
});
|
|
89
125
|
let pruned = { deleted: [], skipped: [] };
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
126
|
+
if (targetIds !== undefined) {
|
|
127
|
+
out.text("targeted apply — prune and orphan scan skipped");
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const pruneConfig = { providers: createProviders({ ssh }), log: out.log, onEvent: out.onEvent, env: process.env };
|
|
131
|
+
const baseline = previous !== undefined ? rewriteGraphForMoves(previous, movedApplied) : undefined;
|
|
132
|
+
const removed = baseline === undefined ? [] : Object.values(baseline.resources).filter((node) => graph.resources[node.id] === undefined);
|
|
133
|
+
const orphans = await collectOrphans(graph, pruneConfig);
|
|
134
|
+
const pending = [
|
|
135
|
+
...removed.filter((node) => node.inputs["protect"] !== true),
|
|
136
|
+
...orphans.filter((orphan) => orphan.protected !== true),
|
|
137
|
+
];
|
|
138
|
+
if (pending.length > 0 && !flags.yes) {
|
|
139
|
+
for (const entry of pending) {
|
|
140
|
+
out.text(`pending delete\t${entry.type}\t${entry.id}`);
|
|
141
|
+
}
|
|
142
|
+
out.text(`${pending.length} deletion(s) pending — re-run \`intentic apply --yes\` to prune`);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
if (pending.length > 0) {
|
|
146
|
+
await lock.renew();
|
|
147
|
+
await lock.verify();
|
|
148
|
+
}
|
|
149
|
+
if (baseline !== undefined) {
|
|
150
|
+
pruned = await prune(baseline, graph, pruneConfig);
|
|
151
|
+
}
|
|
152
|
+
const orphaned = await pruneOrphans(orphans, pruneConfig);
|
|
153
|
+
pruned = { deleted: [...pruned.deleted, ...orphaned.deleted], skipped: [...pruned.skipped, ...orphaned.skipped] };
|
|
154
|
+
if (pruned.deleted.length > 0 || pruned.skipped.length > 0) {
|
|
155
|
+
out.text(`pruned ${pruned.deleted.length} resource(s)${pruned.skipped.length > 0 ? `, ${pruned.skipped.length} left in place` : ""}`);
|
|
156
|
+
}
|
|
157
|
+
await writeFile(join(dir, LAST_APPLIED_FILE), await readFile(artifact, "utf8"));
|
|
97
158
|
}
|
|
98
159
|
}
|
|
99
|
-
await writeFile(join(dir, LAST_APPLIED_FILE), await readFile(artifact, "utf8"));
|
|
100
160
|
out.text(`${result.converged ? "converged" : "did not converge"} in ${result.iterations} iteration(s)`);
|
|
101
161
|
if (access.length > 0) {
|
|
102
162
|
await writeAccessFile(join(dir, ACCESS_FILE), access);
|
|
@@ -107,7 +167,6 @@ export const apply = buildCommand({
|
|
|
107
167
|
iterations: result.iterations,
|
|
108
168
|
steps: result.outcome.steps,
|
|
109
169
|
outputs: result.outcome.outputs,
|
|
110
|
-
orphans: result.outcome.orphans,
|
|
111
170
|
pruned,
|
|
112
171
|
access,
|
|
113
172
|
});
|
|
@@ -119,13 +178,14 @@ export const apply = buildCommand({
|
|
|
119
178
|
const summary = [
|
|
120
179
|
`**intentic apply** — ${result.converged ? "✅ converged" : "⚠️ did not converge"} in ${result.iterations} iteration(s)`,
|
|
121
180
|
`📊 ${result.outcome.steps.length} resources: ${creates} created, ${updates} updated, ${noops} unchanged`,
|
|
122
|
-
...(
|
|
181
|
+
...(pruned.deleted.length > 0 ? [`🗑️ ${pruned.deleted.length} resource(s) pruned`] : []),
|
|
123
182
|
].join("\n");
|
|
124
183
|
try {
|
|
125
184
|
await fetch(reconcileWebhook, {
|
|
126
185
|
method: "POST",
|
|
127
186
|
headers: { "Content-Type": "application/json" },
|
|
128
187
|
body: JSON.stringify({ content: summary }),
|
|
188
|
+
signal: AbortSignal.timeout(15_000),
|
|
129
189
|
});
|
|
130
190
|
}
|
|
131
191
|
catch {
|
|
@@ -136,6 +196,7 @@ export const apply = buildCommand({
|
|
|
136
196
|
finally {
|
|
137
197
|
process.removeListener("SIGINT", onSignal);
|
|
138
198
|
process.removeListener("SIGTERM", onSignal);
|
|
199
|
+
process.removeListener("SIGHUP", onSignal);
|
|
139
200
|
await lock.release();
|
|
140
201
|
await ssh.dispose?.();
|
|
141
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.command.js","sourceRoot":"","sources":["../../src/apply/apply.command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apply.command.js","sourceRoot":"","sources":["../../src/apply/apply.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/apply/migrate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAOH,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAID,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/apply/migrate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAOH,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAID,eAAO,MAAM,eAAe,aAAc,iBAAiB,QAAQ,iBAAiB,KAAG,QAAQ,EAqB9F,CAAC;AAEF,UAAU,WAAW;IACjB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAwGD,eAAO,MAAM,YAAY,UAAiB,SAAS,QAAQ,EAAE,QAAQ,WAAW,KAAG,OAAO,CAAC,IAAI,CAI9F,CAAC"}
|
package/dist/demo.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execFile, spawn } from "node:child_process";
|
|
2
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
2
3
|
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
4
|
import { createRequire } from "node:module";
|
|
4
5
|
import { join } from "node:path";
|
|
@@ -12,6 +13,7 @@ import { readGeneratedSecrets } from "./secrets/generated-secrets.js";
|
|
|
12
13
|
const { utils } = createRequire(import.meta.url)("ssh2");
|
|
13
14
|
const exec = promisify(execFile);
|
|
14
15
|
const repoRoot = fileURLToPath(new URL("../../../", import.meta.url));
|
|
16
|
+
const hostContext = fileURLToPath(new URL("../node_modules/@intentic/dind-host", import.meta.url));
|
|
15
17
|
const cliJs = join(repoRoot, "_apps/cli/dist/cli.js");
|
|
16
18
|
const stateDir = join(repoRoot, ".demo");
|
|
17
19
|
const stateFile = join(stateDir, "state.json");
|
|
@@ -33,7 +35,6 @@ const APP_URL = `https://app.${zone}`;
|
|
|
33
35
|
const log = (message) => {
|
|
34
36
|
process.stdout.write(`${message}\n`);
|
|
35
37
|
};
|
|
36
|
-
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
37
38
|
const dohHook = pathToFileURL(join(repoRoot, "_apps/cli/doh-lookup.mjs")).href;
|
|
38
39
|
const cliEnv = {
|
|
39
40
|
...process.env,
|
|
@@ -93,8 +94,8 @@ const up = async () => {
|
|
|
93
94
|
privateKey = keys.private;
|
|
94
95
|
let forgejoPassword = "";
|
|
95
96
|
let komodoPassword = "";
|
|
96
|
-
log(`▶ building the demo host image (${CONTAINER}) from
|
|
97
|
-
await run("docker", ["build", "-t", CONTAINER,
|
|
97
|
+
log(`▶ building the demo host image (${CONTAINER}) from @intentic/dind-host …`);
|
|
98
|
+
await run("docker", ["build", "-t", CONTAINER, hostContext]);
|
|
98
99
|
log("▶ starting the persistent Docker-in-Docker host …");
|
|
99
100
|
await quiet("docker", ["rm", "-f", CONTAINER]);
|
|
100
101
|
await run("docker", [
|
|
@@ -159,7 +160,7 @@ const up = async () => {
|
|
|
159
160
|
await writeFile(join(workspace, "desired-state", ".env"), envFile(privateKey, apiToken));
|
|
160
161
|
log("▶ resolve + apply — Forgejo + Komodo + tunnel + the app's CI/CD wiring …");
|
|
161
162
|
await runCli("resolve", "--config", configPath, "--out", artifactPath);
|
|
162
|
-
await runCli("apply", "--artifact", artifactPath, "--maxIterations", "8");
|
|
163
|
+
await runCli("apply", "--yes", "--artifact", artifactPath, "--maxIterations", "8");
|
|
163
164
|
const secrets = await readGeneratedSecrets(join(workspace, "desired-state"));
|
|
164
165
|
forgejoPassword = secrets["FORGEJO_ADMIN_PASSWORD"] ?? "";
|
|
165
166
|
komodoPassword = secrets["KOMODO_ADMIN_PASSWORD"] ?? "";
|