hatchkit 0.1.16 → 0.1.17
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.d.ts.map +1 -1
- package/dist/adopt.js +364 -166
- package/dist/adopt.js.map +1 -1
- package/dist/deploy/coolify-app.d.ts +16 -0
- package/dist/deploy/coolify-app.d.ts.map +1 -1
- package/dist/deploy/coolify-app.js +34 -16
- package/dist/deploy/coolify-app.js.map +1 -1
- package/dist/deploy/rollback.d.ts +5 -0
- package/dist/deploy/rollback.d.ts.map +1 -1
- package/dist/deploy/rollback.js +95 -2
- package/dist/deploy/rollback.js.map +1 -1
- package/dist/index.js +21 -8
- package/dist/index.js.map +1 -1
- package/dist/provision/index.d.ts +20 -0
- package/dist/provision/index.d.ts.map +1 -1
- package/dist/provision/index.js +6 -0
- package/dist/provision/index.js.map +1 -1
- package/dist/utils/cloudflare-api.d.ts +3 -0
- package/dist/utils/cloudflare-api.d.ts.map +1 -1
- package/dist/utils/cloudflare-api.js +14 -0
- package/dist/utils/cloudflare-api.js.map +1 -1
- package/dist/utils/run-ledger.d.ts +47 -1
- package/dist/utils/run-ledger.d.ts.map +1 -1
- package/dist/utils/run-ledger.js +15 -0
- package/dist/utils/run-ledger.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
/** One unit of mutation we know how to undo.
|
|
1
|
+
/** One unit of mutation we know how to undo.
|
|
2
|
+
*
|
|
3
|
+
* CRITICAL safety invariant: every kind here describes something
|
|
4
|
+
* hatchkit (create OR adopt) actually *created*. The undo path is
|
|
5
|
+
* free to delete the named resource. Code that records into the
|
|
6
|
+
* ledger MUST NOT record state that pre-existed — otherwise undo
|
|
7
|
+
* will destroy the user's own data.
|
|
8
|
+
*
|
|
9
|
+
* The `scaffold` kind in particular is `rm -rf <path>` — only ever
|
|
10
|
+
* recorded by `hatchkit create` (which generates the project dir
|
|
11
|
+
* itself). `hatchkit adopt` operates on existing repos and uses
|
|
12
|
+
* the fine-grained kinds (`manifest`, `dotenvxKeysFile`,
|
|
13
|
+
* `scaffoldedFile`, `gitInit`) instead — never `scaffold`. */
|
|
2
14
|
export type LedgerStep = {
|
|
3
15
|
kind: "scaffold";
|
|
4
16
|
path: string;
|
|
@@ -8,6 +20,12 @@ export type LedgerStep = {
|
|
|
8
20
|
} | {
|
|
9
21
|
kind: "glitchtip";
|
|
10
22
|
project: string;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "openpanel";
|
|
25
|
+
project: string;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "resend";
|
|
28
|
+
client: string;
|
|
11
29
|
} | {
|
|
12
30
|
kind: "tfvars";
|
|
13
31
|
path: string;
|
|
@@ -21,6 +39,9 @@ export type LedgerStep = {
|
|
|
21
39
|
kind: "terraformApplied";
|
|
22
40
|
stackDir: string;
|
|
23
41
|
tfvarsPath: string;
|
|
42
|
+
} | {
|
|
43
|
+
kind: "coolifyProject";
|
|
44
|
+
uuid: string;
|
|
24
45
|
} | {
|
|
25
46
|
kind: "coolifyApp";
|
|
26
47
|
uuid: string;
|
|
@@ -31,6 +52,24 @@ export type LedgerStep = {
|
|
|
31
52
|
kind: "mlService";
|
|
32
53
|
platform: string;
|
|
33
54
|
name: string;
|
|
55
|
+
} | {
|
|
56
|
+
kind: "manifest";
|
|
57
|
+
path: string;
|
|
58
|
+
} | {
|
|
59
|
+
kind: "dotenvxKeysFile";
|
|
60
|
+
path: string;
|
|
61
|
+
} | {
|
|
62
|
+
kind: "scaffoldedFile";
|
|
63
|
+
path: string;
|
|
64
|
+
} | {
|
|
65
|
+
kind: "gitInit";
|
|
66
|
+
path: string;
|
|
67
|
+
} | {
|
|
68
|
+
kind: "cloudflareDnsRecord";
|
|
69
|
+
zoneId: string;
|
|
70
|
+
recordId: string;
|
|
71
|
+
name: string;
|
|
72
|
+
type: "A" | "AAAA" | "CNAME";
|
|
34
73
|
};
|
|
35
74
|
export interface LedgerData {
|
|
36
75
|
/** Project slug. Also the filename. */
|
|
@@ -51,6 +90,13 @@ export declare class RunLedger {
|
|
|
51
90
|
static start(name: string): RunLedger;
|
|
52
91
|
/** Load the ledger for a project, if one exists. */
|
|
53
92
|
static load(name: string): RunLedger | null;
|
|
93
|
+
/** Resume an existing ledger (preserving recorded steps), or start
|
|
94
|
+
* a new one. Used by `hatchkit adopt --resume` so a partial first
|
|
95
|
+
* run's ledger entries survive into the second run — destroy of
|
|
96
|
+
* the union is then the safe outcome if --resume itself fails.
|
|
97
|
+
* Clears `finishedAt` so handleAdoptFailure knows we're in flight
|
|
98
|
+
* again even if the previous attempt called `complete()`. */
|
|
99
|
+
static resumeOrStart(name: string): RunLedger;
|
|
54
100
|
/** Append a step and flush immediately. */
|
|
55
101
|
record(step: LedgerStep): void;
|
|
56
102
|
/** Mark the run finished. The ledger sticks around so `hatchkit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ledger.d.ts","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"AAoBA
|
|
1
|
+
{"version":3,"file":"run-ledger.d.ts","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/run-ledger.js
CHANGED
|
@@ -61,6 +61,21 @@ export class RunLedger {
|
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
+
/** Resume an existing ledger (preserving recorded steps), or start
|
|
65
|
+
* a new one. Used by `hatchkit adopt --resume` so a partial first
|
|
66
|
+
* run's ledger entries survive into the second run — destroy of
|
|
67
|
+
* the union is then the safe outcome if --resume itself fails.
|
|
68
|
+
* Clears `finishedAt` so handleAdoptFailure knows we're in flight
|
|
69
|
+
* again even if the previous attempt called `complete()`. */
|
|
70
|
+
static resumeOrStart(name) {
|
|
71
|
+
const existing = RunLedger.load(name);
|
|
72
|
+
if (existing) {
|
|
73
|
+
existing.data.finishedAt = undefined;
|
|
74
|
+
existing.flush();
|
|
75
|
+
return existing;
|
|
76
|
+
}
|
|
77
|
+
return RunLedger.start(name);
|
|
78
|
+
}
|
|
64
79
|
/** Append a step and flush immediately. */
|
|
65
80
|
record(step) {
|
|
66
81
|
this.data.steps.push(step);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ledger.js","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"run-ledger.js","sourceRoot":"","sources":["../../src/utils/run-ledger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED