Files
puppet-catalog-tools/internal/puppetserver/testdata/catalog_response.json
T
unkin-agent a76480d454
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
unwrap the catalog response and classify failures correctly
- unwrap the {"catalog": ...} envelope, still accepting a bare catalog
- report an environment-less response as a protocol mismatch, not an ENC problem
- make Resource.Line a pointer and Resource.Params() map absent onto empty
- render a missing manifest location as "(source unknown)"
- retry compile failures caused by the compiler's PuppetDB query
- stop retrying manifest errors the compiler returns as HTTP 500
- add a trimmed real-server response fixture and tests for each shape
2026-09-12 16:58:59 +10:00

270 lines
6.5 KiB
JSON

{
"catalog": {
"tags": [
"settings",
"roles::infra::incus::node"
],
"name": "prodnxsr0009.main.unkin.net",
"version": "979c188c3437099863e0b53c57942ef7ed6523a3",
"code_id": null,
"catalog_uuid": "8d7f423e-5bf1-4b64-97b4-4a20c67ec59f",
"catalog_format": 2,
"environment": "develop",
"resources": [
{
"type": "Stage",
"title": "main",
"tags": [
"stage"
],
"exported": false,
"kind": "compilable_type",
"parameters": {
"name": "main"
}
},
{
"type": "Class",
"title": "Settings",
"tags": [
"class",
"settings"
],
"exported": false,
"kind": "unknown"
},
{
"type": "Class",
"title": "Profiles::Puppet::Agent",
"tags": [
"class",
"profiles::puppet::agent",
"profiles",
"puppet",
"agent",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"exported": false,
"kind": "unknown",
"parameters": {
"version": "7.37.2",
"openvox_enable": true
}
},
{
"type": "Anchor",
"title": "selinux::end",
"tags": [
"anchor",
"selinux::end",
"selinux",
"end",
"class",
"selinux::module",
"module",
"frr_local",
"profiles::selinux::frr",
"profiles",
"frr",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/external_modules/selinux/manifests/init.pp",
"line": 111,
"exported": false,
"kind": "compilable_type"
},
{
"type": "File",
"title": "/opt/puppetlabs/puppet/cache/puppet-selinux/modules/frr_local.loaded",
"tags": [
"file",
"selinux::module",
"selinux",
"module",
"frr_local",
"class",
"profiles::selinux::frr",
"profiles",
"frr",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/external_modules/selinux/manifests/module.pp",
"line": 177,
"exported": false,
"kind": "compilable_type"
},
{
"type": "Package",
"title": "openvox-agent",
"tags": [
"package",
"openvox-agent",
"class",
"profiles::puppet::agent",
"profiles",
"puppet",
"agent",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/site/profiles/manifests/puppet/agent.pp",
"line": 58,
"exported": false,
"kind": "compilable_type",
"parameters": {
"ensure": "7.37.2",
"require": "Yumrepo[openvox]"
}
},
{
"type": "Service",
"title": "puppet",
"tags": [
"service",
"puppet",
"class",
"profiles::puppet::agent",
"profiles",
"agent",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/site/profiles/manifests/puppet/agent.pp",
"line": 81,
"exported": false,
"kind": "compilable_type",
"parameters": {
"ensure": "running",
"enable": true,
"hasrestart": true,
"require": "Package[openvox-agent]"
}
},
{
"type": "File",
"title": "/etc/dns-updater/key",
"tags": [
"file",
"class",
"profiles::dns::updater",
"profiles",
"dns",
"updater",
"profiles::dns::base",
"base",
"profiles::base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/site/profiles/manifests/dns/updater.pp",
"line": 97,
"exported": false,
"kind": "compilable_type",
"parameters": {
"ensure": "file",
"owner": "root",
"group": "root",
"mode": "0600",
"show_diff": false,
"content": "REDACTED-IN-FIXTURE"
},
"sensitive_parameters": [
"content"
]
},
{
"type": "Haproxy::Balancermember",
"title": "prodnxsr0009.main.unkin.net_9443",
"tags": [
"be_ceph_dashboard_au-syd1-prod",
"haproxy::balancermember",
"haproxy",
"balancermember",
"prodnxsr0009.main.unkin.net_9443",
"profiles::haproxy::balancemember",
"profiles",
"balancemember",
"class",
"profiles::ceph::dashboard",
"ceph",
"dashboard",
"profiles::base",
"base",
"roles::infra::incus::node",
"roles",
"infra",
"incus",
"node"
],
"file": "/etc/puppetlabs/code/environments/develop/site/profiles/manifests/haproxy/balancemember.pp",
"line": 12,
"exported": true,
"kind": "defined_type",
"parameters": {
"listening_service": "be_ceph_dashboard",
"ports": [
9443
],
"server_names": "prodnxsr0009",
"ipaddresses": "198.18.23.9",
"options": [
"cookie prodnxsr0009",
"ssl",
"verify none",
"check",
"inter 2s",
"rise 3",
"fall 2"
],
"tag": "be_ceph_dashboard_au-syd1-prod"
}
}
],
"edges": [
{
"source": "Stage[main]",
"target": "Class[Settings]"
},
{
"source": "Stage[main]",
"target": "Class[main]"
}
],
"classes": [
"settings",
"profiles::puppet::agent"
]
}
}