@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.
@@ -27,7 +27,7 @@ export declare function gate(signalName: string, opts?: {
27
27
  timeout?: string;
28
28
  description?: string;
29
29
  }): GateStep;
30
- /** Run `npm run build` (or `chant build`) in the given project directory. */
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":"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"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"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"}
@@ -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";
@@ -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;AAC9G,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant",
3
- "version": "0.15.1",
3
+ "version": "0.15.3",
4
4
  "description": "Declarative infrastructure-as-code toolkit — TypeScript on Node.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -78,7 +78,7 @@ function takeProfile(
78
78
  return { args, profile };
79
79
  }
80
80
 
81
- /** Run `npm run build` (or `chant build`) in the given project directory. */
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
- azGroupEnsure, azGroupDelete, azApply, azDelete, gcpApply, gcpDelete, policyGate } from "./builders";
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";