53007a9257
Compile a host's catalog in a base and a test environment over the puppetserver API, then diff the two. - add catalog-diff CLI with cobra flags, config precedence and exit codes - add puppetserver mTLS client for POST /puppet/v4/catalog - add pdbmux fact client - add catalog normalisation, diff engine and text/JSON renderers - add Makefile, nfpm RPM packaging and woodpecker pipelines
97 lines
1.9 KiB
JSON
97 lines
1.9 KiB
JSON
{
|
|
"hostname": "host.example.net",
|
|
"base_environment": "develop",
|
|
"test_environment": "benvin_test",
|
|
"compiled": {
|
|
"benvin_test": true,
|
|
"develop": true
|
|
},
|
|
"changes": [
|
|
{
|
|
"diff_type": "!",
|
|
"type": "Exec",
|
|
"title": "reload",
|
|
"structure": [
|
|
"parameters",
|
|
"environment",
|
|
"PATH"
|
|
],
|
|
"old_value": "/bin",
|
|
"new_value": "/usr/bin",
|
|
"severity": "critical"
|
|
},
|
|
{
|
|
"diff_type": "~",
|
|
"type": "File",
|
|
"title": "/etc/motd",
|
|
"structure": [
|
|
"parameters",
|
|
"content"
|
|
],
|
|
"old_value": "old",
|
|
"new_value": "new",
|
|
"old_file": "site.pp",
|
|
"old_line": 10,
|
|
"new_file": "site.pp",
|
|
"new_line": 19,
|
|
"severity": "critical"
|
|
},
|
|
{
|
|
"diff_type": "~",
|
|
"type": "Mysql::Db",
|
|
"title": "app",
|
|
"structure": [
|
|
"parameters",
|
|
"password"
|
|
],
|
|
"old_value": "redacted:sha256:f52fbd32b2b3b86f",
|
|
"new_value": "redacted:sha256:fb8c2e2b85ca81eb",
|
|
"severity": "normal"
|
|
},
|
|
{
|
|
"diff_type": "+",
|
|
"type": "Notify",
|
|
"title": "added",
|
|
"structure": null,
|
|
"old_value": null,
|
|
"new_value": {
|
|
"message": "hi"
|
|
},
|
|
"new_file": "new.pp",
|
|
"new_line": 3,
|
|
"severity": "normal"
|
|
},
|
|
{
|
|
"diff_type": "-",
|
|
"type": "Notify",
|
|
"title": "gone",
|
|
"structure": null,
|
|
"old_value": {
|
|
"message": "bye"
|
|
},
|
|
"new_value": null,
|
|
"old_file": "old.pp",
|
|
"old_line": 1,
|
|
"severity": "normal"
|
|
},
|
|
{
|
|
"diff_type": "~",
|
|
"type": "Package",
|
|
"title": "vim",
|
|
"structure": [
|
|
"parameters",
|
|
"provider"
|
|
],
|
|
"old_value": null,
|
|
"new_value": "dnf",
|
|
"severity": "critical"
|
|
}
|
|
],
|
|
"summary": {
|
|
"added": 1,
|
|
"removed": 1,
|
|
"changed": 4,
|
|
"critical": 3
|
|
}
|
|
}
|