@intentius/chant 0.124.44 → 0.124.45

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.
Files changed (72) hide show
  1. package/dist/ci-identity.d.ts +183 -12
  2. package/dist/ci-identity.d.ts.map +1 -1
  3. package/dist/ci-identity.js +362 -53
  4. package/dist/cli/handlers/build.d.ts.map +1 -1
  5. package/dist/cli/handlers/build.js +17 -1
  6. package/dist/cli/handlers/pr-env.d.ts +8 -2
  7. package/dist/cli/handlers/pr-env.d.ts.map +1 -1
  8. package/dist/cli/handlers/pr-env.js +126 -225
  9. package/dist/cli/handlers/pr.d.ts +3 -0
  10. package/dist/cli/handlers/pr.d.ts.map +1 -1
  11. package/dist/cli/handlers/pr.js +1 -0
  12. package/dist/components/cli-support.d.ts +2 -0
  13. package/dist/components/cli-support.d.ts.map +1 -1
  14. package/dist/components/cli-support.js +4 -2
  15. package/dist/components/fan-out-support.d.ts +3 -0
  16. package/dist/components/fan-out-support.d.ts.map +1 -1
  17. package/dist/components/fan-out-support.js +1 -1
  18. package/dist/components/pr-env-run.d.ts +270 -0
  19. package/dist/components/pr-env-run.d.ts.map +1 -0
  20. package/dist/components/pr-env-run.js +440 -0
  21. package/dist/components/pr-environment.d.ts +89 -14
  22. package/dist/components/pr-environment.d.ts.map +1 -1
  23. package/dist/components/pr-environment.js +94 -8
  24. package/dist/components/pr-pipeline.d.ts +10 -1
  25. package/dist/components/pr-pipeline.d.ts.map +1 -1
  26. package/dist/op/op-waves.d.ts +17 -0
  27. package/dist/op/op-waves.d.ts.map +1 -1
  28. package/dist/op/op-waves.js +23 -1
  29. package/dist/pr-forge.d.ts +15 -1
  30. package/dist/pr-forge.d.ts.map +1 -1
  31. package/dist/pr-forge.js +28 -16
  32. package/dist/pr-requires.d.ts +5 -1
  33. package/dist/pr-requires.d.ts.map +1 -1
  34. package/dist/wave-runtime.mjs +179 -179
  35. package/dist/workspace/ci-cloud-identity.d.ts +3 -1
  36. package/dist/workspace/ci-cloud-identity.d.ts.map +1 -1
  37. package/dist/workspace/ci-cloud-identity.js +16 -1
  38. package/dist/workspace/ci-run.d.ts +35 -8
  39. package/dist/workspace/ci-run.d.ts.map +1 -1
  40. package/dist/workspace/ci-run.js +95 -21
  41. package/dist/workspace/ci-secrets.d.ts.map +1 -1
  42. package/dist/workspace/ci-secrets.js +4 -3
  43. package/dist/workspace/declaration.d.ts +10 -0
  44. package/dist/workspace/declaration.d.ts.map +1 -1
  45. package/dist/workspace/declaration.js +17 -1
  46. package/dist/workspace/declaration.schema.json +36 -1
  47. package/package.json +1 -1
  48. package/src/ci-identity-targets.test.ts +275 -0
  49. package/src/ci-identity.ts +394 -61
  50. package/src/cli/handlers/build.ts +15 -1
  51. package/src/cli/handlers/pr-env.ts +136 -227
  52. package/src/cli/handlers/pr.ts +4 -0
  53. package/src/components/cli-support.ts +6 -1
  54. package/src/components/fan-out-support.ts +4 -1
  55. package/src/components/pr-env-run.test.ts +290 -0
  56. package/src/components/pr-env-run.ts +634 -0
  57. package/src/components/pr-environment.ts +159 -12
  58. package/src/components/pr-pipeline.ts +10 -1
  59. package/src/op/op-waves.ts +38 -1
  60. package/src/pr-forge-bundle.test.ts +1 -1
  61. package/src/pr-forge.ts +44 -17
  62. package/src/pr-requires.test.ts +43 -6
  63. package/src/pr-requires.ts +5 -1
  64. package/src/workspace/ci-cloud-identity.test.ts +20 -0
  65. package/src/workspace/ci-cloud-identity.ts +14 -1
  66. package/src/workspace/ci-run.test.ts +74 -1
  67. package/src/workspace/ci-run.ts +122 -29
  68. package/src/workspace/ci-secrets.test.ts +1 -1
  69. package/src/workspace/ci-secrets.ts +4 -3
  70. package/src/workspace/declaration.schema.json +36 -1
  71. package/src/workspace/declaration.test.ts +7 -0
  72. package/src/workspace/declaration.ts +24 -2
@@ -21,6 +21,17 @@
21
21
  * identity. The record job plans the merged commit with the plan identity,
22
22
  * and the apply jobs trade for the apply identity.
23
23
  *
24
+ * Per target (#4332): a rule with `targets` covers only the targets those
25
+ * globs match, the Terraform roots or Op wave runs inside one member, so
26
+ * one member's targets can plan and apply as different identities. A
27
+ * target takes the first rule that covers its environment, member and
28
+ * target ({@link resolveTargetCloudIdentity}). The plan job then trades for
29
+ * every plan identity the member's targets take, keeps the credentials of
30
+ * each in a file named by {@link CLOUD_TARGETS_ENV}, and a product hands
31
+ * each target's tool its own with {@link targetCloudEnv}. An apply splits
32
+ * into one job per apply identity ({@link cloudIdentityGroups},
33
+ * {@link cloudIdentityWave}), so no job holds two targets' apply tokens.
34
+ *
24
35
  * The trade is terragucci's `oidc-trade.ts` (INTENTIUS/terragucci e6cb431,
25
36
  * packages/terragucci/src/oidc-trade.ts) with these clients:
26
37
  *
@@ -41,12 +52,21 @@
41
52
  /** The clouds `ci.identity.cloud` names. */
42
53
  export declare const CLOUDS: readonly ["aws", "gcp", "azure"];
43
54
  export type Cloud = (typeof CLOUDS)[number];
44
- /** One rule: the environments and members it covers, and their two identities. */
55
+ /** One rule: the environments, members and targets it covers, and their two identities. */
45
56
  export interface CloudIdentityRule {
46
57
  /** Environment-name globs. Absent: every environment. */
47
58
  environments?: string[];
48
59
  /** Member-name globs. Absent: every member, and a pipeline outside a workspace member. */
49
60
  members?: string[];
61
+ /**
62
+ * Target globs (#4332): the targets inside the member the rule covers,
63
+ * such as Terraform roots or Op wave run targets. `*` matches within one
64
+ * `/` segment, `**` across segments, `?` one character. Absent: every
65
+ * target, and the pipeline as a whole.
66
+ */
67
+ targets?: string[];
68
+ /** The name of the apply job group its targets form (#4332). Default: from its first target glob. */
69
+ name?: string;
50
70
  /** The identity the plan and record jobs take. */
51
71
  plan: string;
52
72
  /** The identity the apply jobs take. */
@@ -89,45 +109,151 @@ export interface CloudIdentityDeclaration {
89
109
  gcp?: GcpCloudIdentity;
90
110
  azure?: AzureCloudIdentity;
91
111
  }
92
- /** What one job trades for: per cloud, the one identity and where to trade it. */
112
+ /**
113
+ * What one job trades for, per cloud: the job's own identity and where to
114
+ * trade it, and with `targets` (#4332) the identities of the targets that
115
+ * take another, first match wins. A cloud names its own identity, or
116
+ * targets, or both.
117
+ */
93
118
  export interface CloudTradeSpec {
94
119
  aws?: {
95
- role: string;
120
+ role?: string;
121
+ targets?: Array<{
122
+ targets: string[];
123
+ role: string;
124
+ }>;
96
125
  region: string;
97
126
  audience: string;
98
127
  endpoint?: string;
99
128
  };
100
129
  gcp?: {
101
- serviceAccount: string;
130
+ serviceAccount?: string;
131
+ targets?: Array<{
132
+ targets: string[];
133
+ serviceAccount: string;
134
+ }>;
102
135
  provider: string;
103
136
  audience: string;
104
137
  stsEndpoint?: string;
105
138
  iamEndpoint?: string;
106
139
  };
107
140
  azure?: {
108
- clientId: string;
141
+ clientId?: string;
142
+ targets?: Array<{
143
+ targets: string[];
144
+ clientId: string;
145
+ }>;
109
146
  tenantId: string;
110
147
  audience: string;
111
148
  subscriptionId?: string;
112
149
  authority?: string;
113
150
  };
114
151
  }
152
+ /** The key a cloud's trade names its identity under. */
153
+ export declare const IDENTITY_KEY: {
154
+ readonly aws: "role";
155
+ readonly gcp: "serviceAccount";
156
+ readonly azure: "clientId";
157
+ };
115
158
  /** A pipeline's two trades: the plan and record jobs', and the apply jobs'. */
116
159
  export interface PipelineCloudIdentity {
117
160
  plan: CloudTradeSpec;
118
161
  apply: CloudTradeSpec;
119
162
  }
120
- /** The first rule that covers `env` and `member`, or undefined. */
121
- export declare function ruleFor(rules: readonly CloudIdentityRule[], env: string, member?: string): CloudIdentityRule | undefined;
163
+ /**
164
+ * A glob over a name (#4296): `*` and `?` within the name, `[...]` classes,
165
+ * `{a,b}` alternatives, a leading `!` negates. The grammar `ciMemberGlobs`
166
+ * documents, with no dependency, so this module bundles small (#4332).
167
+ */
168
+ export declare function nameGlobMatch(glob: string, name: string): boolean;
169
+ /**
170
+ * A glob over a target (#4332): `*` within one `/` segment, `**` across
171
+ * segments (and `a/**\/b` across none), `?` one character. The reading of
172
+ * `targetGlobMatch` in ./op/gate-quorum.ts and the terraform lexicon's unit
173
+ * globs, so a root's glob means one thing in each.
174
+ */
175
+ export declare function targetGlobMatch(glob: string, target: string): boolean;
176
+ /**
177
+ * The first rule that covers `env`, `member` and `target`, or undefined.
178
+ * With no `target`, the first rule that names no targets: the pipeline's own.
179
+ */
180
+ export declare function ruleFor(rules: readonly CloudIdentityRule[], env: string, member?: string, target?: string): CloudIdentityRule | undefined;
122
181
  /**
123
182
  * The plan and apply trades of the pipeline for `env` and `member`, or
124
183
  * undefined when no rule of any cloud covers them. A cloud no rule covers
125
- * is left out of both.
184
+ * is left out of both. Each cloud's own identity is the first rule with no
185
+ * `targets` that covers the pipeline; the rules with `targets` before it
186
+ * are the cloud's `targets` (#4332), so the plan trade holds every plan
187
+ * identity a target of the member takes, and the apply trade every apply
188
+ * identity.
126
189
  */
127
190
  export declare function resolveCloudIdentity(decl: CloudIdentityDeclaration | undefined, env: string, member?: string): PipelineCloudIdentity | undefined;
191
+ /**
192
+ * The plan and apply trades of one target (#4332): per cloud, the first
193
+ * rule that covers `env`, `member` and `target`. Undefined when no rule of
194
+ * any cloud covers it. Each trade names one identity per cloud and no
195
+ * `targets`.
196
+ */
197
+ export declare function resolveTargetCloudIdentity(decl: CloudIdentityDeclaration | undefined, env: string, member: string | undefined, target: string): PipelineCloudIdentity | undefined;
198
+ /** The name a pull request environment's rule is matched against (#4330): any pull request's, as `pr-*` covers it. */
199
+ export declare const PR_ENV_IDENTITY_PROBE = "pr-1";
200
+ /**
201
+ * The trade a pull request environment's jobs take (#4330): per cloud, the
202
+ * apply identity of the rules {@link resolveCloudIdentity} gives `pr-1` and
203
+ * `member`, from the rules that name `environments` only. env-up runs the
204
+ * change's code with that identity, so a rule with no `environments`, which
205
+ * covers every environment, is never one it gets: give pull request
206
+ * environments a rule of their own, such as `environments: ["pr-*"]`, whose
207
+ * identity reaches only what they may touch. Undefined when no such rule
208
+ * covers them.
209
+ */
210
+ export declare function resolvePrEnvCloudIdentity(decl: CloudIdentityDeclaration | undefined, member?: string): CloudTradeSpec | undefined;
211
+ /** One apply job's targets (#4332): those that take the same identities, per cloud. */
212
+ export interface CloudIdentityGroup {
213
+ /** A job-name-safe name: the first rule with `targets` they took (its `name`, or one from its first glob), else `default`. */
214
+ name: string;
215
+ /** The group's targets, in the order given. */
216
+ targets: string[];
217
+ /** Their plan and apply trades, one identity per cloud. Undefined when no rule covers them. */
218
+ identity?: PipelineCloudIdentity;
219
+ }
220
+ /** The name of the apply job group for {@link CloudIdentityGroup}s with no rule of their own. */
221
+ export declare const DEFAULT_IDENTITY_GROUP = "default";
222
+ /**
223
+ * `targets` grouped by the identities they take (#4332), so each group's
224
+ * apply runs in a job of its own with its group's identities alone.
225
+ * Targets that take the same plan and apply identity in every cloud are one
226
+ * group. The groups come in the order their first target comes, with
227
+ * `default` (the targets no rule with `targets` took) last. Names are
228
+ * unique: a second group of one name gets `-2`.
229
+ */
230
+ export declare function cloudIdentityGroups(decl: CloudIdentityDeclaration | undefined, env: string, member: string | undefined, targets: readonly string[]): CloudIdentityGroup[];
231
+ /**
232
+ * An Op wave's cloud identities over its run targets (#4332), as
233
+ * `OpWave.cloud` and `OpWave.jobs` (./op/op-waves.ts) take them. With two
234
+ * or more {@link cloudIdentityGroups}, the deciding job trades for every
235
+ * plan identity of the targets and each group's job for its group's apply
236
+ * identities alone. With one group, the wave's one job trades for that
237
+ * group's apply identities, and `jobs` is absent. Neither, when no rule
238
+ * covers a target.
239
+ */
240
+ export declare function cloudIdentityWave(decl: CloudIdentityDeclaration | undefined, env: string, member: string | undefined, targets: readonly string[]): {
241
+ cloud?: CloudTradeSpec;
242
+ jobs?: Array<{
243
+ name: string;
244
+ runs: string[];
245
+ cloud?: CloudTradeSpec;
246
+ }>;
247
+ };
248
+ /**
249
+ * Why one job may not apply under `spec` (#4332), or undefined: a cloud
250
+ * whose trade names more than one identity would hand one job the apply
251
+ * tokens of targets that apply as different identities.
252
+ */
253
+ export declare function oneApplyIdentityProblem(spec: CloudTradeSpec): string | undefined;
128
254
  /** The clouds a trade covers, in {@link CLOUDS} order. */
129
255
  export declare function tradedClouds(spec: CloudTradeSpec): Cloud[];
130
- /** Every identity a trade names: the role, the service account, the client id. */
256
+ /** Every identity a trade names, once each: the roles, the service accounts, the client ids, its targets' too (#4332). */
131
257
  export declare function tradeIdentities(spec: CloudTradeSpec): string[];
132
258
  /**
133
259
  * The problems of a declared `ci.identity.cloud`, each with its JSON
@@ -158,15 +284,37 @@ export declare const TRADED_VARS: Record<Cloud, readonly string[]>;
158
284
  * file of `export` lines a GitLab script sources, mode 0600.
159
285
  */
160
286
  export type TradeFormat = "github-env" | "sh";
287
+ /**
288
+ * The variable the trade sets when a cloud names `targets` (#4332): the
289
+ * path of a JSON file, mode 0600 and outside the checkout, with each
290
+ * identity's credentials and which targets take it. {@link targetCloudEnv}
291
+ * reads it.
292
+ */
293
+ export declare const CLOUD_TARGETS_ENV = "CHANT_CLOUD_TARGETS";
294
+ /** The file {@link CLOUD_TARGETS_ENV} names: per cloud, the job's own identity, the targets that take another, and each identity's variables. */
295
+ export interface CloudTargetsFile {
296
+ version: 1;
297
+ clouds: Partial<Record<Cloud, {
298
+ default?: string;
299
+ targets: Array<{
300
+ targets: string[];
301
+ identity: string;
302
+ }>;
303
+ vars: Record<string, Record<string, string>>;
304
+ }>>;
305
+ }
161
306
  /**
162
307
  * The trade, a script for `node -e` with no dependency, so it runs before
163
308
  * the checkout and reads none of the change's files. argv 1 is the file it
164
309
  * writes and argv 2 its {@link TradeFormat}; {@link TRADE_SPEC_ENV} is the
165
310
  * spec. The token comes from a cloud's {@link idTokenVar} when the job has
166
311
  * it (GitLab's `id_tokens`), else from the forge's request URL with the
167
- * cloud's audience. A value that holds anything but printable ASCII with no
168
- * space is refused, so no answer can add a line of its own to the file. The
169
- * script never prints a token.
312
+ * cloud's audience, once per cloud. Each identity of a cloud (its own, and
313
+ * its targets', #4332) is traded with that one token. The job's own
314
+ * identity's variables go in the file; with targets, every identity's go in
315
+ * the {@link CLOUD_TARGETS_ENV} file too. A value that holds anything but
316
+ * printable ASCII with no space is refused, so no answer can add a line of
317
+ * its own to the file. The script never prints a token.
170
318
  */
171
319
  export declare const TRADE_JS: string;
172
320
  /**
@@ -187,4 +335,27 @@ export declare function gitlabTradeLines(extraUnset?: readonly string[]): string
187
335
  export declare function gitlabTradeIdTokens(spec: CloudTradeSpec): Record<string, {
188
336
  aud: string;
189
337
  }>;
338
+ /**
339
+ * `env` for one target's tool (#4332): the job's environment with each
340
+ * cloud's credentials replaced by those of the identity `target` takes, as
341
+ * the trade left them in the {@link CLOUD_TARGETS_ENV} file. A target that
342
+ * no rule with `targets` covers keeps the job's own identity. Without the
343
+ * file (no cloud names targets), `env` as it is. terragucci's `rootRoleEnv`
344
+ * (roles.ts at INTENTIUS/terragucci ca05bd9).
345
+ */
346
+ export declare function targetCloudEnv(env: Readonly<Record<string, string | undefined>>, target: string, read?: (path: string) => string): Record<string, string | undefined>;
347
+ /**
348
+ * The identity `target` takes in one cloud of a {@link CloudTargetsFile}:
349
+ * the first entry whose globs match, else the job's own. Undefined when
350
+ * the job has none for that cloud.
351
+ */
352
+ export declare function targetIdentityIn(cloud: {
353
+ default?: string;
354
+ targets: Array<{
355
+ targets: string[];
356
+ identity: string;
357
+ }>;
358
+ }, target: string): string | undefined;
359
+ /** The {@link CloudTargetsFile} at `path`, refused when it is not one. */
360
+ export declare function readTargetsFile(path: string, read?: (path: string) => string): CloudTargetsFile;
190
361
  //# sourceMappingURL=ci-identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ci-identity.d.ts","sourceRoot":"","sources":["../src/ci-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-identity.d.ts","sourceRoot":"","sources":["../src/ci-identity.ts"],"names":[],"mappings":"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"}