OpAMP Config Catalog Service Prompt
Purpose
Use this prompt to describe the provider-side config catalog feature intent and boundaries when implementing or extending it.
Prompt
Build and maintain an OpAMP provider feature called Config Catalog that is fully configuration-driven.
Requirements:
- Read catalog configuration from
opamp.config_catalog in opamp.json.
- Scan configured folders and include only files matching configured extensions.
- For each file, inspect the top comment block and extract
config-service: key=value metadata fields.
- Build a table view showing:
- folder location
- filename
- last edited timestamp (filesystem-derived)
- one column per discovered metadata key
- Leave metadata cells blank when values are missing.
- Expose a catalog API endpoint returning rows + dynamic columns.
- Expose a catalog UI and help page.
- Reuse config-service visual language:
- base CSS
- logo
- footer conventions
- Keep UI behavior aligned with provider main table patterns:
- sortable columns
- client-side filtering
- pagination
- Treat catalog selection checkboxes as an always-available capability in normal catalog use so
selected/unselected filtering does not depend on a separate mode toggle.
- Preserve current standalone behavior and allow provider deployments to operate without the
catalog feature enabled.
- Provide tests:
- unit tests for scanner/metadata extraction
- endpoint tests for catalog API/UI routes
- Playwright tests for navigation and rendered table expectations
Non-goals
- Do not validate file content semantics.
- Do not mutate scanned files.
- Do not require metadata fields to exist.
Notes
- Configuration must support adding future catalog features without code rewrites.
- Missing/invalid source folders should fail softly (skip source, continue).