@intentius/chant 0.15.1 → 0.15.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/dist/op/builders.d.ts +41 -1
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/index.d.ts +1 -1
- package/dist/op/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/op/builders.ts +69 -1
- package/src/op/index.ts +2 -1
package/dist/op/builders.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare function gate(signalName: string, opts?: {
|
|
|
27
27
|
timeout?: string;
|
|
28
28
|
description?: string;
|
|
29
29
|
}): GateStep;
|
|
30
|
-
/** Run
|
|
30
|
+
/** Run an npm build script in the given project directory. `opts.script` selects the script (default `build`, e.g. `build:aws`); `opts.env` adds env vars. */
|
|
31
31
|
export declare const build: (path: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
32
32
|
/** Run `kubectl apply -f <manifest>`. Defaults to the `longInfra` profile (override via `opts.profile`). */
|
|
33
33
|
export declare const kubectlApply: (manifest: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
@@ -80,6 +80,33 @@ export declare const k3dDown: (name: string, opts?: Record<string, unknown>) =>
|
|
|
80
80
|
export declare const flociUp: (opts?: Record<string, unknown>) => ActivityStep;
|
|
81
81
|
/** Stop and remove the local Floci emulator container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
82
82
|
export declare const flociDown: (opts?: Record<string, unknown>) => ActivityStep;
|
|
83
|
+
/**
|
|
84
|
+
* Boot a local floci-az (Azure emulator) and return its ARM `endpoint` — the
|
|
85
|
+
* typed twin of {@link flociUp} for `azApply`, so the emulator lifecycle is a
|
|
86
|
+
* modeled step, not a `docker run` shell. Provided by the azure lexicon; loaded
|
|
87
|
+
* when the project lists `azure`. Idempotent; defaults to the `longInfra`
|
|
88
|
+
* profile. `opts` accepts `name`, `port`, `image`, `timeoutMs`, `intervalMs`.
|
|
89
|
+
*/
|
|
90
|
+
export declare const flociAzUp: (opts?: Record<string, unknown>) => ActivityStep;
|
|
91
|
+
/** Stop and remove the local floci-az container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
92
|
+
export declare const flociAzDown: (opts?: Record<string, unknown>) => ActivityStep;
|
|
93
|
+
/**
|
|
94
|
+
* Boot a local floci-gcp (GCP emulator) and return its `endpoint` — the typed
|
|
95
|
+
* twin of {@link flociUp} for `gcpApply`, so the emulator lifecycle is a modeled
|
|
96
|
+
* step, not a `docker run` shell. Provided by the gcp lexicon; loaded when the
|
|
97
|
+
* project lists `gcp`. Idempotent; defaults to the `longInfra` profile. `opts`
|
|
98
|
+
* accepts `name`, `port`, `image`, `timeoutMs`, `intervalMs`.
|
|
99
|
+
*/
|
|
100
|
+
export declare const flociGcpUp: (opts?: Record<string, unknown>) => ActivityStep;
|
|
101
|
+
/** Stop and remove the local floci-gcp container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
102
|
+
export declare const flociGcpDown: (opts?: Record<string, unknown>) => ActivityStep;
|
|
103
|
+
/**
|
|
104
|
+
* Assert an HTTP endpoint responds as expected — a typed verify step replacing
|
|
105
|
+
* `shell("curl -fs ...")`. Fails the phase if the status/body doesn't match.
|
|
106
|
+
* Defaults to the `fastIdempotent` profile. `opts` accepts `method`, `status`
|
|
107
|
+
* (default any 2xx), `contains` (body substring), `retries`, `intervalMs`.
|
|
108
|
+
*/
|
|
109
|
+
export declare const httpCheck: (url: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
83
110
|
/**
|
|
84
111
|
* Ensure an Azure resource group exists before an ARM apply. `az deployment
|
|
85
112
|
* group create` (the `arm` apply target) fails without its group, so place this
|
|
@@ -102,6 +129,19 @@ export declare const azGroupDelete: (resourceGroup: string, opts?: Record<string
|
|
|
102
129
|
export declare const azApply: (templatePath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
103
130
|
/** Delete the Azure (ARM) resources in a built template — the inverse of {@link azApply}. Defaults to the `longInfra` profile (override via `opts.profile`). `opts` requires `resourceGroup`. */
|
|
104
131
|
export declare const azDelete: (templatePath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
132
|
+
/**
|
|
133
|
+
* Deploy a built CloudFormation template by calling the CloudFormation API
|
|
134
|
+
* directly (create-or-update + poll) — the direct twin of {@link azApply} /
|
|
135
|
+
* {@link gcpApply} for AWS, targeting a local Floci emulator or real AWS by
|
|
136
|
+
* endpoint override. Speaks the CFN API over HTTP rather than shelling `aws`
|
|
137
|
+
* (that path is still `nativeApply({ target: "cloudformation" })`). Provided by
|
|
138
|
+
* the aws lexicon; loaded when the project lists `aws`. Defaults to the
|
|
139
|
+
* `longInfra` profile. `opts` requires `stackName`; accepts `endpoint`, `region`,
|
|
140
|
+
* `capabilities`, `timeoutMs`, `intervalMs`.
|
|
141
|
+
*/
|
|
142
|
+
export declare const awsApply: (templatePath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
143
|
+
/** Delete a CloudFormation stack — the inverse of {@link awsApply}. Defaults to the `longInfra` profile (override via `opts.profile`). `opts` requires `stackName`. */
|
|
144
|
+
export declare const awsDelete: (templatePath: string, opts?: Record<string, unknown>) => ActivityStep;
|
|
105
145
|
/**
|
|
106
146
|
* Apply chant's built GCP (CNRM) resources directly to the GCS REST API,
|
|
107
147
|
* targeting a local floci-gcp emulator or real GCP by endpoint override — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAEpE;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,eAAe,CAEjB;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAChC,YAAY,CAOd;AAED,oFAAoF;AACpF,wBAAgB,IAAI,CAClB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,QAAQ,CAOV;AAsBD,
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/op/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Op, phase, activity, gate, build, kubectlApply, helmInstall, waitForStack, gitlabPipeline, lifecycleSnapshot, shell, teardown, k3dUp, k3dDown, flociUp, flociDown, azGroupEnsure, azGroupDelete, azApply, azDelete, gcpApply, gcpDelete, policyGate } from "./builders.js";
|
|
1
|
+
export { Op, phase, activity, gate, build, kubectlApply, helmInstall, waitForStack, gitlabPipeline, lifecycleSnapshot, shell, teardown, k3dUp, k3dDown, flociUp, flociDown, flociAzUp, flociAzDown, flociGcpUp, flociGcpDown, httpCheck, azGroupEnsure, azGroupDelete, azApply, azDelete, awsApply, awsDelete, gcpApply, gcpDelete, policyGate } from "./builders.js";
|
|
2
2
|
export { OpResource } from "./resource.js";
|
|
3
3
|
export { safeHeartbeat, sleep } from "./activity-runtime.js";
|
|
4
4
|
export type { OpConfig, PhaseDefinition, StepDefinition, ActivityStep, GateStep } from "./types.js";
|
package/dist/op/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/op/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EACzE,cAAc,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EACtF,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/op/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EACzE,cAAc,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EACtF,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAC3D,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnI,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
|
package/package.json
CHANGED
package/src/op/builders.ts
CHANGED
|
@@ -78,7 +78,7 @@ function takeProfile(
|
|
|
78
78
|
return { args, profile };
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
/** Run
|
|
81
|
+
/** Run an npm build script in the given project directory. `opts.script` selects the script (default `build`, e.g. `build:aws`); `opts.env` adds env vars. */
|
|
82
82
|
export const build = (path: string, opts?: Record<string, unknown>): ActivityStep => {
|
|
83
83
|
const { args, profile } = takeProfile(opts);
|
|
84
84
|
return activity("chantBuild", { path, ...args }, profile);
|
|
@@ -172,6 +172,53 @@ export const flociDown = (opts?: Record<string, unknown>): ActivityStep => {
|
|
|
172
172
|
return activity("flociDown", args, profile ?? "fastIdempotent");
|
|
173
173
|
};
|
|
174
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Boot a local floci-az (Azure emulator) and return its ARM `endpoint` — the
|
|
177
|
+
* typed twin of {@link flociUp} for `azApply`, so the emulator lifecycle is a
|
|
178
|
+
* modeled step, not a `docker run` shell. Provided by the azure lexicon; loaded
|
|
179
|
+
* when the project lists `azure`. Idempotent; defaults to the `longInfra`
|
|
180
|
+
* profile. `opts` accepts `name`, `port`, `image`, `timeoutMs`, `intervalMs`.
|
|
181
|
+
*/
|
|
182
|
+
export const flociAzUp = (opts?: Record<string, unknown>): ActivityStep => {
|
|
183
|
+
const { args, profile } = takeProfile(opts);
|
|
184
|
+
return activity("flociAzUp", args, profile ?? "longInfra");
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/** Stop and remove the local floci-az container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
188
|
+
export const flociAzDown = (opts?: Record<string, unknown>): ActivityStep => {
|
|
189
|
+
const { args, profile } = takeProfile(opts);
|
|
190
|
+
return activity("flociAzDown", args, profile ?? "fastIdempotent");
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Boot a local floci-gcp (GCP emulator) and return its `endpoint` — the typed
|
|
195
|
+
* twin of {@link flociUp} for `gcpApply`, so the emulator lifecycle is a modeled
|
|
196
|
+
* step, not a `docker run` shell. Provided by the gcp lexicon; loaded when the
|
|
197
|
+
* project lists `gcp`. Idempotent; defaults to the `longInfra` profile. `opts`
|
|
198
|
+
* accepts `name`, `port`, `image`, `timeoutMs`, `intervalMs`.
|
|
199
|
+
*/
|
|
200
|
+
export const flociGcpUp = (opts?: Record<string, unknown>): ActivityStep => {
|
|
201
|
+
const { args, profile } = takeProfile(opts);
|
|
202
|
+
return activity("flociGcpUp", args, profile ?? "longInfra");
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
/** Stop and remove the local floci-gcp container. Defaults to the `fastIdempotent` profile (override via `opts.profile`). */
|
|
206
|
+
export const flociGcpDown = (opts?: Record<string, unknown>): ActivityStep => {
|
|
207
|
+
const { args, profile } = takeProfile(opts);
|
|
208
|
+
return activity("flociGcpDown", args, profile ?? "fastIdempotent");
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Assert an HTTP endpoint responds as expected — a typed verify step replacing
|
|
213
|
+
* `shell("curl -fs ...")`. Fails the phase if the status/body doesn't match.
|
|
214
|
+
* Defaults to the `fastIdempotent` profile. `opts` accepts `method`, `status`
|
|
215
|
+
* (default any 2xx), `contains` (body substring), `retries`, `intervalMs`.
|
|
216
|
+
*/
|
|
217
|
+
export const httpCheck = (url: string, opts?: Record<string, unknown>): ActivityStep => {
|
|
218
|
+
const { args, profile } = takeProfile(opts);
|
|
219
|
+
return activity("httpCheck", { url, ...args }, profile ?? "fastIdempotent");
|
|
220
|
+
};
|
|
221
|
+
|
|
175
222
|
/**
|
|
176
223
|
* Ensure an Azure resource group exists before an ARM apply. `az deployment
|
|
177
224
|
* group create` (the `arm` apply target) fails without its group, so place this
|
|
@@ -210,6 +257,27 @@ export const azDelete = (templatePath: string, opts?: Record<string, unknown>):
|
|
|
210
257
|
return activity("azDelete", { templatePath, ...args }, profile ?? "longInfra");
|
|
211
258
|
};
|
|
212
259
|
|
|
260
|
+
/**
|
|
261
|
+
* Deploy a built CloudFormation template by calling the CloudFormation API
|
|
262
|
+
* directly (create-or-update + poll) — the direct twin of {@link azApply} /
|
|
263
|
+
* {@link gcpApply} for AWS, targeting a local Floci emulator or real AWS by
|
|
264
|
+
* endpoint override. Speaks the CFN API over HTTP rather than shelling `aws`
|
|
265
|
+
* (that path is still `nativeApply({ target: "cloudformation" })`). Provided by
|
|
266
|
+
* the aws lexicon; loaded when the project lists `aws`. Defaults to the
|
|
267
|
+
* `longInfra` profile. `opts` requires `stackName`; accepts `endpoint`, `region`,
|
|
268
|
+
* `capabilities`, `timeoutMs`, `intervalMs`.
|
|
269
|
+
*/
|
|
270
|
+
export const awsApply = (templatePath: string, opts?: Record<string, unknown>): ActivityStep => {
|
|
271
|
+
const { args, profile } = takeProfile(opts);
|
|
272
|
+
return activity("awsApply", { templatePath, ...args }, profile ?? "longInfra");
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
/** Delete a CloudFormation stack — the inverse of {@link awsApply}. Defaults to the `longInfra` profile (override via `opts.profile`). `opts` requires `stackName`. */
|
|
276
|
+
export const awsDelete = (templatePath: string, opts?: Record<string, unknown>): ActivityStep => {
|
|
277
|
+
const { args, profile } = takeProfile(opts);
|
|
278
|
+
return activity("awsDelete", { templatePath, ...args }, profile ?? "longInfra");
|
|
279
|
+
};
|
|
280
|
+
|
|
213
281
|
/**
|
|
214
282
|
* Apply chant's built GCP (CNRM) resources directly to the GCS REST API,
|
|
215
283
|
* targeting a local floci-gcp emulator or real GCP by endpoint override — the
|
package/src/op/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Op, phase, activity, gate, build, kubectlApply, helmInstall, waitForStack,
|
|
2
2
|
gitlabPipeline, lifecycleSnapshot, shell, teardown, k3dUp, k3dDown, flociUp, flociDown,
|
|
3
|
-
|
|
3
|
+
flociAzUp, flociAzDown, flociGcpUp, flociGcpDown, httpCheck,
|
|
4
|
+
azGroupEnsure, azGroupDelete, azApply, azDelete, awsApply, awsDelete, gcpApply, gcpDelete, policyGate } from "./builders";
|
|
4
5
|
export { OpResource } from "./resource";
|
|
5
6
|
export { safeHeartbeat, sleep } from "./activity-runtime";
|
|
6
7
|
export type { OpConfig, PhaseDefinition, StepDefinition, ActivityStep, GateStep } from "./types";
|