.agents/skills/integrations-lifecycle/how-tos/prometheus-profile-metadata.md
Stock Prometheus profile YAML and collector metadata.yaml are separate source
catalogs. Adding a profile does not create an integration page, so every stock
profile contribution must make a deliberate catalog disposition.
src/go/plugin/go.d/config/go.d/prometheus.profiles/default/*.yaml
controls runtime profile matching, app identity, profile-owned fallback and
relabel policy, scoped autogen policy, and chart templates. The strict
profile envelope is decoded by
src/go/plugin/go.d/collector/prometheus/promprofiles/profile.go.metadata.yaml controls public integration entries
and generated documentation. Discovery uses the */metadata.yaml pattern and
enumerated collector roots (integrations/_common.py:16-29, :96-111,
:136-162).profiles job option
(src/go/plugin/go.d/collector/prometheus/metadata.yaml:175-203). That is
configuration documentation, not an application catalog generated from stock
profile files.src/go/plugin/go.d/collector/prometheus/taxonomy.yaml:1-5). Adding an
application metadata module does not make those runtime contexts stable.integrations/gen_integrations.py imports collector entries through
load_collectors (integrations/gen_integrations.py:10-23) and renders the
metadata modules (:740-756). It never scans the profile directory.
For every stock profile:
metadata.yaml authoritative. Do not add documentation keys
to the strict runtime profile envelope.profiles from application examples so they exercise default
automatic selection. Do not copy proof-descriptor candidate/support
composition into deployment configuration; exact proof composition isolates
declared evidence dependencies, while an exact job makes every named support
namespace mandatory.app when automatic selection provides one unambiguous application
identity. Keep it only for an intentional override, genuine app conflict, or
an endpoint for which no selected profile supplies one.overview.data_collection.metrics_description. Summarize the entities,
capabilities, and processing stages; do not copy the complete chart/family
ledger.metadata.yaml through integrations/gen_integrations.py.src/collectors/COLLECTORS.md.python3 integrations/gen_taxonomy.py --check-only.integrations/integrations.js,
integrations/integrations.json, and integrations/taxonomy.json are not
staged or committed.Files read:
../SKILL.md../pipeline.md../schema-reference.mdintegrations/_common.pyintegrations/gen_integrations.pyintegrations/gen_docs_integrations.pyintegrations/gen_taxonomy.pysrc/go/plugin/go.d/collector/prometheus/metadata.yamlsrc/go/plugin/go.d/collector/prometheus/promprofiles/profile.gosrc/go/plugin/go.d/collector/prometheus/taxonomy.yamlCommands run:
rg 'metadata.yaml|prometheus.profiles|taxonomy.yaml' integrations src/go/plugin/go.d/collector/prometheuspython3 integrations/gen_integrations.pypython3 integrations/gen_docs_integrations.py -c go.d.plugin/prometheuspython3 integrations/gen_taxonomy.py --check-onlygit diff --check