Components and Repository Layout
This page is the repository-level map of runtime components, supporting packages, build entry points, and top-level folders.
Minimum Runtime
There are two useful definitions of required:
- The
provideris sufficient to run an OpAMP server and its operator surfaces. - The
providerplus at least oneconsumeris required for an end-to-end OpAMP exchange with a managed or simulated agent.
Every other runtime component is optional. Optional services can be embedded where supported or deployed independently, so adopting one feature does not require deploying the entire repository.
Component Inventory
| Component | Role | Status in a minimal deployment | Primary documentation |
|---|---|---|---|
provider |
OpAMP server/control plane with HTTP and WebSocket transports, Web UI, API, and optional MCP routes | Required for the server side | Provider guide |
consumer |
OpAMP client framework and built-in plugins for Fluent Bit, Fluentd, Elastic Agent, Elastic Heartbeat, Vector, and simulation | Required for an end-to-end session | Consumer guide |
config-service |
Configuration editor, validation API, and Python-served browser UI | Optional; standalone or provider-integrated | Config service guide |
catalog-service |
Configuration discovery/catalog API and browser UI | Optional; standalone or provider-integrated | Catalog service guide |
client-config-generator-service |
Schema-driven consumer configuration generator with load, validation, and safe-save APIs | Optional; enabled by the default provider configuration and standalone-capable | Generator guide |
svr-credentials-mgr |
Authoring, credential-value storage, client assignment, and delivery of OpAMP connection settings | Optional standalone service | Credentials manager guide |
agent_broker |
Collaboration broker for deterministic ChatOps and optional AI-assisted MCP tool planning | Optional separate process | Conversation broker guide |
cli |
Local operator launcher for guided start, stop, restart, status, and demo workflows | Optional convenience tool | Operator CLI guide |
consumer-sim |
Multi-instance simulator launcher for demonstrations, tests, and repeatable validation | Optional; development and test use only | Simulator guide |
mcp |
Installable MCP client configuration tool and compatibility wrappers | Optional integration tooling | MCP setup guide |
dev-tools |
Developer CLI for testing, security gates, packaging, SBOMs, releases, generated assets, and maintenance | Development/build tooling | Developer tools guide |
shared |
Common utilities used across runtime packages | Internal library code | Shared package notes |
proto |
OpAMP Protobuf definitions and generated protocol artifacts | Internal build/runtime input | Source folder |
Runtime Relationships
flowchart LR
Operator[Operator] --> Provider[Provider]
Collaboration[Chat / AI client] --> Broker[Conversation broker]
Broker -->|MCP| Provider
CLI[Operator CLI] -. lifecycle .-> Provider
CLI -. lifecycle .-> Consumer[Consumer]
Provider <-->|OpAMP HTTP or WebSocket| Consumer
Consumer --> Agent[Managed observability agent]
Provider -. optional integration .-> ConfigService[Config service]
Provider -. optional integration .-> CatalogService[Catalog service]
Provider -. optional integration .-> Generator[Client config generator]
Credentials[Credentials manager] -. connection settings .-> Provider
Simulator[Consumer simulator] -. launches .-> Consumer
The provider and consumer are independently deployable. Optional services are outside the core OpAMP loop and can be introduced only for the workflows that need them.
Build and Packaging
The main developer entry points are:
python dev-tools/main.py build artefact all
python dev-tools/main.py build release-assets
python scripts/security_checks.py
build artefact alldiscovers buildable top-level components with apyproject.tomland creates source distributions and wheels underdist/<component>/. This includes the broker, catalog, CLI, client config generator, config service, consumer, simulator, MCP tooling, provider, and credentials manager.build release-assetsruns the repository security gate before packaging and, by default, builds release wheels and CycloneDX SBOMs forprovider,consumer,catalog-service,client-config-generator-service,cli, andconsumer-sim. Its--componentsoption can select a subset of those release targets.scripts/security_checks.pyis the compatibility entry point for the full repository security gate.svr-credentials-mgr/plaintext-keyring/is a nested package and is built/tested from its own packaging metadata rather than by first-level component discovery.
Generated outputs such as dist/, coverage reports, runtime logs, process state, and
server snapshots are local artifacts rather than source components.
For the detailed command matrix and output paths, see the developer build, test, and release guide.
Top-Level Folder Summary
| Folder | Purpose |
|---|---|
.githooks/ |
Repository-managed Git hooks. |
.github/ |
GitHub workflows and repository automation. |
agent_broker/ |
Optional conversation broker package, collaboration adapters, and operational documentation. |
catalog-service/ |
Optional configuration catalog service, browser assets, and tests. |
cli/ |
Optional local operator CLI and its component documentation. |
client-config-generator-service/ |
Consumer configuration generator service, schema, browser UI, and API. |
cloud/ |
Provider-neutral and cloud-specific deployment automation and operator guidance. |
config/ |
Shared default and scenario-specific OpAMP JSON configuration files. |
config-service/ |
Optional configuration editor/validation service, definitions, schemas, browser assets, and tests. |
consumer/ |
OpAMP consumer framework, built-in agent plugins, tests, and configuration examples. |
consumer-sim/ |
Development/test simulator launcher, instance definitions, schemas, and docs. |
dev-tools/ |
Consolidated developer CLI, test/security/build/release helpers, and retained tool reports. |
docs/ |
Product, operator, architecture, development, and roadmap documentation. |
github-landingpage/ |
Source for the repository’s published documentation landing page. |
mcp/ |
MCP client configuration package, defaults, and compatibility wrappers. |
proto/ |
Protobuf definitions and generated OpAMP protocol artifacts. |
provider/ |
OpAMP provider/server package, browser console, APIs, and tests. |
quick-references/ |
Generated or curated agent configuration reference material. |
scripts/ |
Compatibility wrappers and low-level operational helpers that remain outside dev-tools. |
security/ |
Repository security configuration and supporting policy files. |
shared/ |
Shared runtime utilities used by provider and consumer code. |
svr-credentials-mgr/ |
Optional connection-settings credentials manager and nested keyring backend package. |
tests/ |
Repository-level tests, Playwright prompt template, and container regression scenarios. |
OpAMP