BREAKING CHANGES:
- cli: The default CLI behavior when no product flags are passed in is now to auto-detect installed products and check each one.
Previously, the behavior was to run only host diagnostics. If you want to still get just host diagnostics, use the flag
autodetect=false
. [GH-152] - cli: The previously-deprecated command line flag
-all
has now been removed. Similar behavior has been implemented with
product auto-detection, in which all installed HashiCorp products are automatically checked by simply executinghcdiag
with no flags. [GH-153] - runner: The "runner" object in Results.json has been renamed to "params". It is now omitted if the Runner doesn't take params. [GH-150]
IMPROVEMENTS:
- HCL: Add docker-log and journald-log runners to HCL. [GH-166]
- README: Replaced references to Seekers with Runners. [GH-154]
- README: Various improvements to configuration docs. [GH-154]
- agent: Add agent redactions. [GH-183]
- agent: Reduce duplication via a type union customRunners and type-specific HCLConfig to Runner map functions. [GH-151]
- agent: Refactor agent.Setup() by migrating HCL runner setup into each product's New function. [GH-161]
- core: Upgrade to go 1.18.3. [GH-151]
- docs: Begin including changelog details into the repo for each pull request. [GH-145]
- hcl: Add JSON tagging to every hcl field, omitting empty blocks and collections. [GH-204]
- hcl: Add custom (HCL) agent redactions. [GH-183]
- hcl: Add redact blocks to product, host, and runners in HCL. [GH-169]
- hcl: Extract HCL package to prepare for additional HCL configuration options. [GH-159]
- hcl: Migrate customRunners creation to the HCL package to enable adding more runners to HCL. [GH-159]
- log/journald: check if journald present on system; otherwise skip [GH-167]
- network: Do not collect Network Interface hardware addresses. [GH-207]
- op: Add "skip" status for things that were intentionally skipped. [GH-167]
- op: Rename seeker to Op. [GH-147]
- op: Store Runners on Products and change Runners interface to return an Op. [GH-149]
- product: Add product redactions and pass redactions into runners. [GH-183]
- redact: Add ApplyMany function. [GH-173]
- redact: Add redact package and Redact type that allows a regex to be applied to a reader and written to a writer. [GH-171]
- redact: Add redact.JSON() [GH-177]
- redact: Add redact.String() and redact.Bytes(). [GH-174]
- redact: Add redaction flow. [GH-183]
- redact: Add unit tests to document regular expression capture groups being used in redaction replacement strings. [GH-197]
- redact: Implement default Terraform Enterprise redactions. [GH-207]
- redact: Improve testing around redaction of strings and byte slices. [GH-198]
- redact: Redact email addresses by default. [GH-207]
- redact: Remove Apply function. [GH-195]
- runner/host: Enable redaction on host.Disk, host.Info, host.Network, and host.Process runners. [GH-192]
- runner: Add TFE commands for data collection [GH-186]
- runner: DockerNotFoundError should result in skipped runner, not error. [GH-201]
- runner: Redact JSON and string results in Command.Run() [GH-177]
- runner: Redact results in shell and http runners. [GH-174]
- runner: The Processes runner now gives more detailed process information: process name, PID, and PPID. [GH-160]
- runner: The Seeker type has been reworked into the immutable Op struct, and Runners return an Op rather than being stored on a seeker. This should make contributing Runners significantly easier, and simplifies reporting. [GH-150]
- runner: add redactions pass-through for higher-order host runners. [GH-189]
- security: bump golang.org/x/sys due to GO-2022-0493 [GH-210]
- stop using the deprecated io/ioutil package [GH-190]
- upgrade to 22.04, install gcc and use go 1.18 in vagrant VM [GH-168]
- util: copyfiles now accepts redactions and scans files line by line to apply many redactions at once. [GH-180]
- util: migrate copyfiles_test.go to test tables. [GH-185]
BUG FIXES:
- cli: Error and exit when the first arg to hcdiag is in subcommand form, rather than silently accepting invalid input. [GH-155]
- hcl: Do not serialize hcl.Redact.Match to json. Ensures matchers are not leaked in Manifest.json. [GH-203]
- hcl: Ensure redact "literal", which is not implemented yet, doesn't pass HCL validation. [GH-204]
- runner: Fixed a redaction and reporting issue where HTTPer incorrectly flattened and redacted JSON responses as strings. [GH-215]