@intentius/terragucci 0.4.0 → 0.4.2

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/types.d.ts CHANGED
@@ -261,6 +261,27 @@ export interface ProjectSettings {
261
261
  };
262
262
  /** A cron schedule for tf-drift, or false. */
263
263
  drift?: string | false;
264
+ /**
265
+ * The command that writes the roots before any job reads them, such as
266
+ * CDK Terrain's `npx cdktn synth`. Run from the repo's root, in the check,
267
+ * plan, apply and drift jobs, on their own checkout.
268
+ */
269
+ synth?: string;
270
+ /**
271
+ * Chat notifications: the names of the secrets holding a Slack or Teams
272
+ * incoming webhook. An apply job whose wave waits, is refused or fails
273
+ * posts to each (notify.ts).
274
+ */
275
+ notify?: {
276
+ slack?: string;
277
+ teams?: string;
278
+ };
279
+ /**
280
+ * Cost estimates per root in the plan note: Infracost on the customer's
281
+ * own key (`key_secret`, default INFRACOST_API_KEY), or a `command` that
282
+ * prints Infracost's JSON (report/cost.ts).
283
+ */
284
+ cost?: CostSettings;
264
285
  /**
265
286
  * GitLab only: the cron of the comments schedule, or false. The pipeline
266
287
  * gets a `comments` job that reads new merge request notes on that
@@ -342,6 +363,13 @@ export interface TerragucciConfig extends ProjectSettings {
342
363
  }
343
364
  /** The response a project takes to an event: its setting, or the event's default. */
344
365
  export declare function responseTo(settings: ProjectSettings, event: RespondEvent): string;
366
+ /** `cost: true`, or the secret holding the estimator's key and the command to run instead of Infracost. */
367
+ export type CostSettings = true | {
368
+ key_secret?: string;
369
+ command?: string;
370
+ };
371
+ /** The secret Infracost's key is read from when `cost.key_secret` is unset; the job gets it as this variable too. */
372
+ export declare const COST_KEY_SECRET = "INFRACOST_API_KEY";
345
373
  /** Settings with terragucci's defaults filled in. Detection fills `roots`, `binary` and `forge` later. */
346
374
  export interface ResolvedSettings extends ProjectSettings {
347
375
  gate: Gate;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/terragucci",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "The whole Terraform lifecycle, handled: one config file, generated pipelines for GitHub, GitLab and Forgejo.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",