Skip to content

Commit 0aa6f60

Browse files
feat: flatten platform on agent type definition schema (NR-568041) (#2572)
1 parent c825532 commit 0aa6f60

76 files changed

Lines changed: 4136 additions & 4342 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ Remember that the keywords that you can use are the following:
1414

1515
## Unreleased
1616

17+
### enhancement
18+
- Agent type definitions now use a flat per-platform schema (one YAML file per `(platform, operating_system)` pair).
19+
Agent type FQNs and configuration values are unchanged, so this is **not a breaking change** for end users.
20+
Internal authors of custom agent type definitions need to migrate their YAMLs — see [docs/INTEGRATING_AGENTS.md](docs/INTEGRATING_AGENTS.md).
21+
1722
## v1.16.1 - 2026-06-04
1823

1924
### 🐞 Bug fixes

agent-control/agent-type-registry/README.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,36 @@
33
Any `*.yaml` file defined in this folder or any subfolder will be embedded into the agent control binary
44
at compilation time. These files define the agent-type registry.
55

6+
Each YAML file describes a single agent type definition. The metadata declares a `platform`
7+
(`host` or `kubernetes`) and, when `platform: host`, also an `operating_system` (`linux` or
8+
`windows`). An agent that targets multiple host operating systems and/or kubernetes is split
9+
into one file per `(platform, operating_system)` pair, all sharing the same `namespace`,
10+
`name` and `version`. At startup, Agent Control loads only the definitions whose `platform`
11+
(and `operating_system`, when `platform: host`) match the binary it's running in: the on-host
12+
binary loads `host` definitions matching its OS, and the Kubernetes binary loads `kubernetes`
13+
definitions.
14+
615
## Files organization recommendations
716

8-
The following structure is recommended:
17+
The following naming convention is recommended:
918

1019
```
1120
agent-type-registry/
1221
├─ namespace/
13-
│ ├─ agent_type_name-version.yaml
22+
│ ├─ <platform>[-<operating_system>]-<agent_type_name>-<version>.yaml
1423
```
1524

25+
For `platform: host`, the operating system (`linux` or `windows`) is included; for
26+
`platform: kubernetes` it is omitted.
27+
1628
Example:
1729

1830
```
1931
agent-type-registry/
2032
├─ newrelic/
21-
│ ├─ com.newrelic.infrastructure-0.1.0.yaml
22-
│ ├─ io-opentelemetry.collector-0.1.0.yaml
33+
│ ├─ kubernetes-com.newrelic.infrastructure-0.1.0.yaml
34+
│ ├─ host-linux-com.newrelic.infrastructure-0.1.0.yaml
35+
│ ├─ host-windows-com.newrelic.infrastructure-0.1.0.yaml
36+
│ ├─ kubernetes-io.opentelemetry.collector-0.1.0.yaml
37+
│ ├─ host-linux-io.opentelemetry.collector-0.1.0.yaml
2338
```

agent-control/agent-type-registry/newrelic/com.newrelic.apm_dotnet-0.1.0.yaml

Lines changed: 0 additions & 109 deletions
This file was deleted.

agent-control/agent-type-registry/newrelic/com.newrelic.apm_java-0.1.0.yaml

Lines changed: 0 additions & 115 deletions
This file was deleted.

agent-control/agent-type-registry/newrelic/com.newrelic.apm_node-0.1.0.yaml

Lines changed: 0 additions & 109 deletions
This file was deleted.

0 commit comments

Comments
 (0)