@intentius/terragucci 0.4.9 → 0.4.10
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/report.schema.json +63 -3
- package/dist/run.schema.json +35 -0
- package/dist/terragucci.mjs +732 -629
- package/dist/terragucci.mjs.map +4 -4
- package/dist/terragucci.schema.json +16 -2
- package/dist/types.d.ts +8 -0
- package/package.json +1 -1
|
@@ -161,9 +161,16 @@
|
|
|
161
161
|
"minLength": 1
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
+
},
|
|
165
|
+
"compose": {
|
|
166
|
+
"type": "boolean"
|
|
167
|
+
},
|
|
168
|
+
"compose_max": {
|
|
169
|
+
"type": "integer",
|
|
170
|
+
"minimum": 2
|
|
164
171
|
}
|
|
165
172
|
},
|
|
166
|
-
"description": "The canary wave, the jobs one wave spreads across, and
|
|
173
|
+
"description": "The canary wave, the jobs one wave spreads across, extra apply order, and whether a change's roots apply as one composed run."
|
|
167
174
|
},
|
|
168
175
|
"drift": {
|
|
169
176
|
"anyOf": [
|
|
@@ -1810,9 +1817,16 @@
|
|
|
1810
1817
|
"minLength": 1
|
|
1811
1818
|
}
|
|
1812
1819
|
}
|
|
1820
|
+
},
|
|
1821
|
+
"compose": {
|
|
1822
|
+
"type": "boolean"
|
|
1823
|
+
},
|
|
1824
|
+
"compose_max": {
|
|
1825
|
+
"type": "integer",
|
|
1826
|
+
"minimum": 2
|
|
1813
1827
|
}
|
|
1814
1828
|
},
|
|
1815
|
-
"description": "The canary wave, the jobs one wave spreads across, and
|
|
1829
|
+
"description": "The canary wave, the jobs one wave spreads across, extra apply order, and whether a change's roots apply as one composed run."
|
|
1816
1830
|
},
|
|
1817
1831
|
"drift": {
|
|
1818
1832
|
"anyOf": [
|
package/dist/types.d.ts
CHANGED
|
@@ -385,11 +385,15 @@ export interface ProjectSettings {
|
|
|
385
385
|
/**
|
|
386
386
|
* `canary`: globs for the wave that applies first. `jobs`: the most jobs one wave's roots or units spread across (GitHub and Forgejo).
|
|
387
387
|
* `after`: plain roots only, for a root or glob the roots or globs it applies after, beside the order its `terraform_remote_state` reads give.
|
|
388
|
+
* `compose`: plain roots only, opt-in beside the waves: the roots a change reaches plan as one composed run and apply as one (./compose.ts). Default false.
|
|
389
|
+
* `compose_max`: the most roots one composed run covers; a change that reaches more applies in waves. Default 10.
|
|
388
390
|
*/
|
|
389
391
|
waves?: {
|
|
390
392
|
canary?: string[];
|
|
391
393
|
jobs?: number;
|
|
392
394
|
after?: Record<string, string[]>;
|
|
395
|
+
compose?: boolean;
|
|
396
|
+
compose_max?: number;
|
|
393
397
|
};
|
|
394
398
|
/** A cron schedule for tf-drift, or false. */
|
|
395
399
|
drift?: string | false;
|
|
@@ -778,6 +782,10 @@ export interface RegistrySettings {
|
|
|
778
782
|
download?: "tarball" | "git-tags" | "oci";
|
|
779
783
|
}
|
|
780
784
|
/** Why a control repo's projects take no `rollouts` job: each project's pipeline sees only its own roots. */
|
|
785
|
+
/** Why `waves.compose` is refused with `binary: choudoufu`: one run would have to carry several estates (INTENTIUS/choudoufu#2059). */
|
|
786
|
+
export declare const COMPOSE_NOT_CHOUDOUFU = "a composed run splits one working state back into each root's state, and choudoufu keeps no state to split, so leave waves.compose unset with binary: choudoufu";
|
|
787
|
+
/** Why `waves.compose` is refused in a Terragrunt repo. */
|
|
788
|
+
export declare const COMPOSE_NOT_TERRAGRUNT = "a Terragrunt repo's units apply through terragrunt, one run per unit, so they cannot compose; leave waves.compose unset";
|
|
781
789
|
export declare const WAVE_JOBS_NOT_PR_APPLY = "apply.when: pull-request applies every wave in the one job a comment starts, so a wave has no jobs to spread across; leave waves.jobs unset";
|
|
782
790
|
/** Why a control repo's projects take no `rollouts` job: each project's pipeline sees only its own roots. */
|
|
783
791
|
export declare const ROLLOUTS_SINGLE_REPO = "a control repo's rollout plans its waves across every project, and a project's pipeline sees only its own roots; leave rollouts unset and run terragucci respond rollout --mode apply on a schedule in the control repo";
|
package/package.json
CHANGED