@intentius/terragucci 0.4.38 → 0.4.39
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/estate.schema.json +62 -0
- package/dist/report-index.schema.json +19 -1
- package/dist/report.schema.json +37 -1
- package/dist/terragucci.mjs +849 -817
- package/dist/terragucci.mjs.map +4 -4
- package/dist/versions.schema.json +64 -0
- package/package.json +1 -1
package/dist/estate.schema.json
CHANGED
|
@@ -85,9 +85,48 @@
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
},
|
|
89
|
+
"versions": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"description": "The versions every root runs, from each project's versions.json: per binary, provider and module source, each version in use, newest first, and the roots on it. Absent until an apply records them.",
|
|
92
|
+
"required": ["binaries", "providers", "modules"],
|
|
93
|
+
"properties": {
|
|
94
|
+
"binaries": {
|
|
95
|
+
"type": "array",
|
|
96
|
+
"items": { "type": "object", "required": ["binary", "versions"], "properties": { "binary": { "type": "string" }, "versions": { "type": "array", "items": { "$ref": "#/$defs/versionRow" } } } }
|
|
97
|
+
},
|
|
98
|
+
"providers": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"items": { "type": "object", "required": ["provider", "versions"], "properties": { "provider": { "type": "string" }, "versions": { "type": "array", "items": { "$ref": "#/$defs/versionRow" } } } }
|
|
101
|
+
},
|
|
102
|
+
"modules": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"items": { "type": "object", "required": ["source", "versions"], "properties": { "source": { "type": "string" }, "versions": { "type": "array", "items": { "$ref": "#/$defs/versionRow" } } } }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
88
107
|
}
|
|
89
108
|
},
|
|
90
109
|
"$defs": {
|
|
110
|
+
"versionRow": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"description": "One version in use and the roots on it. An absent version: the binary did not say, or the module's source names none.",
|
|
113
|
+
"required": ["roots"],
|
|
114
|
+
"properties": {
|
|
115
|
+
"version": { "type": "string" },
|
|
116
|
+
"roots": {
|
|
117
|
+
"type": "array",
|
|
118
|
+
"items": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"required": ["project", "root"],
|
|
121
|
+
"properties": {
|
|
122
|
+
"project": { "type": "string" },
|
|
123
|
+
"root": { "type": "string" },
|
|
124
|
+
"call": { "type": "string", "description": "For a module, the call's address in the root." }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
91
130
|
"graphRoot": {
|
|
92
131
|
"type": "object",
|
|
93
132
|
"required": ["project", "root"],
|
|
@@ -215,6 +254,29 @@
|
|
|
215
254
|
"status": { "enum": ["live", "destroy-failed"] }
|
|
216
255
|
}
|
|
217
256
|
}
|
|
257
|
+
},
|
|
258
|
+
"secrets": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"description": "Per root, the sensitive attributes its state holds and how many a write-only argument or an ephemeral resource could keep out, and for a choudoufu root its estate, record store and strict { secrets } setting. From the newest drift check that recorded them, else the newest plan of a push, else the newest plan of a pull request. Absent until a run records them.",
|
|
261
|
+
"required": ["run", "roots"],
|
|
262
|
+
"properties": {
|
|
263
|
+
"run": { "$ref": "#/$defs/run" },
|
|
264
|
+
"roots": {
|
|
265
|
+
"type": "array",
|
|
266
|
+
"items": {
|
|
267
|
+
"type": "object",
|
|
268
|
+
"required": ["root"],
|
|
269
|
+
"properties": {
|
|
270
|
+
"root": { "type": "string" },
|
|
271
|
+
"in_state": { "type": "integer" },
|
|
272
|
+
"movable": { "type": "integer" },
|
|
273
|
+
"estate": { "type": "string" },
|
|
274
|
+
"record_store": { "type": "string" },
|
|
275
|
+
"secrets": { "type": "string" }
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
218
280
|
}
|
|
219
281
|
}
|
|
220
282
|
},
|
|
@@ -60,7 +60,25 @@
|
|
|
60
60
|
"pull_request": { "type": "string" },
|
|
61
61
|
"pull_request_url": { "type": "string" },
|
|
62
62
|
"job_url": { "type": "string" },
|
|
63
|
-
"trace_url": { "type": "string" }
|
|
63
|
+
"trace_url": { "type": "string" },
|
|
64
|
+
"secrets": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"description": "A tf-plan or tf-drift row: each root whose plan leaves sensitive attributes in state, how many, and how many a write-only argument or an ephemeral resource could keep out. Absent when none.",
|
|
67
|
+
"items": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"required": ["root", "in_state", "movable"],
|
|
70
|
+
"properties": { "root": { "type": "string" }, "in_state": { "type": "integer" }, "movable": { "type": "integer" } }
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"estates": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"description": "A tf-plan or tf-drift row: each choudoufu root's estate, record store and strict { secrets } setting. Absent when none.",
|
|
76
|
+
"items": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"required": ["root", "estate", "record_store", "secrets"],
|
|
79
|
+
"properties": { "root": { "type": "string" }, "estate": { "type": "string" }, "record_store": { "type": "string" }, "secrets": { "type": "string" } }
|
|
80
|
+
}
|
|
81
|
+
}
|
|
64
82
|
}
|
|
65
83
|
}
|
|
66
84
|
}
|
package/dist/report.schema.json
CHANGED
|
@@ -147,7 +147,9 @@
|
|
|
147
147
|
"write_only": { "type": "array", "items": { "type": "string" } },
|
|
148
148
|
"kind": { "enum": ["tags", "description", "unknown"] },
|
|
149
149
|
"fold": { "$ref": "#/$defs/fold" },
|
|
150
|
-
"why": { "type": "string" }
|
|
150
|
+
"why": { "type": "string" },
|
|
151
|
+
"perpetual": { "const": true, "description": "A tf-plan's update or replacement the root's last applied waves each made too, to the same address with the same action and attributes, from the project's changes.json in the reports bucket (minor 43). The note folds it under Changes on every run; the plan, its digests and the gate read none of it." },
|
|
152
|
+
"streak": { "type": "integer", "minimum": 1, "description": "With perpetual: how many of the root's newest applied waves in a row made the change (minor 43)." }
|
|
151
153
|
}
|
|
152
154
|
}
|
|
153
155
|
},
|
|
@@ -202,6 +204,21 @@
|
|
|
202
204
|
"type": "array",
|
|
203
205
|
"items": { "$ref": "#/$defs/resource" }
|
|
204
206
|
},
|
|
207
|
+
"versions": {
|
|
208
|
+
"description": "On a tf-apply wave, a root that applied or had nothing to apply: the providers its .terraform.lock.hcl locks and the remote module calls init recorded in .terraform/modules/modules.json, nested calls included, at the applied commit (minor 42).",
|
|
209
|
+
"type": "object",
|
|
210
|
+
"required": ["providers", "modules"],
|
|
211
|
+
"properties": {
|
|
212
|
+
"providers": {
|
|
213
|
+
"type": "array",
|
|
214
|
+
"items": { "type": "object", "required": ["provider", "version"], "properties": { "provider": { "type": "string" }, "version": { "type": "string" } } }
|
|
215
|
+
},
|
|
216
|
+
"modules": {
|
|
217
|
+
"type": "array",
|
|
218
|
+
"items": { "type": "object", "required": ["call", "source"], "properties": { "call": { "type": "string" }, "source": { "type": "string" }, "version": { "type": "string" } } }
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
205
222
|
"applied_changes": {
|
|
206
223
|
"description": "On a tf-apply wave, a root that applied: what the apply did to each resource, and the top-level attributes an update or a replacement changed, by name. Never a value (minor 15).",
|
|
207
224
|
"type": "array",
|
|
@@ -307,6 +324,25 @@
|
|
|
307
324
|
"wave": { "type": "integer" },
|
|
308
325
|
"module": { "type": "string" }
|
|
309
326
|
}
|
|
327
|
+
},
|
|
328
|
+
"secrets": {
|
|
329
|
+
"type": "object",
|
|
330
|
+
"description": "The sensitive attributes its state holds once its plan applies (minor 42): in_state counts each resource instance's top-level attribute marked sensitive and set, movable those a write-only argument or an ephemeral resource could keep out on the root's binary and provider versions. Never a value. Absent when its plan leaves none.",
|
|
331
|
+
"required": ["in_state", "movable"],
|
|
332
|
+
"properties": {
|
|
333
|
+
"in_state": { "type": "integer" },
|
|
334
|
+
"movable": { "type": "integer" }
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"live": {
|
|
338
|
+
"type": "object",
|
|
339
|
+
"description": "A choudoufu root under a live block (minor 42): its estate, its record store (s3://<bucket>/<prefix>, local, or the store's type) and its strict { secrets } setting, store when unset.",
|
|
340
|
+
"required": ["estate", "record_store", "secrets"],
|
|
341
|
+
"properties": {
|
|
342
|
+
"estate": { "type": "string" },
|
|
343
|
+
"record_store": { "type": "string" },
|
|
344
|
+
"secrets": { "type": "string" }
|
|
345
|
+
}
|
|
310
346
|
}
|
|
311
347
|
}
|
|
312
348
|
}
|