You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: Enable reading multiple agent control schemas
* chore: Make main more maintainable
* chore: Add back in SHA validation
* chore: Add test coverage, remove duplicate tests, parameterize tests
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: Fix small go formatting issues
* chore: Documentation updates
* chore: Update to agreed-upon agent types
* revert: Manual revert of chore: Enable reading multiple agent control schemas
---------
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+14-18Lines changed: 14 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,9 @@
2
2
3
3
# Agent Metadata Action
4
4
5
-
A GitHub Action that reads agent configuration metadata from the calling repository. This action parses the `.fleetControl/configurationDefinitions.yml` file and makes the configuration data available in New Relic.
5
+
A GitHub Action that reads agent configuration metadata from the calling repository. There are 2 scearios to use this action:
6
+
1. An agent release - This action parses the `.fleetControl/configurationDefinitions.yml` file and makes the configuration data and metadata available in New Relic.
7
+
2. A docs update for an agent release - This action parses the frontmatter of the docs mdx files and makes the metadata available in New Relic.
6
8
7
9
## Installation
8
10
@@ -25,13 +27,14 @@ This action requires OAuth credentials to authenticate with New Relic services.
25
27
These must be passed as action inputs using the `with:` parameter in your workflow.
26
28
27
29
### Example Workflow For Releasing a New Agent Version
28
-
This action automatically checks out your repository at the specified version tag, then reads the `.fleetControl/configurationDefinitions.yml` file and other associated files in `/fleetControl` and saves the agent information in New Relic. The action handles the checkout internally, so you don't need to include a separate `actions/checkout` step. If you do not want to use this action, you can call New Relic directly to add the agent information.
30
+
This action automatically checks out your repository at the specified version tag, then reads the `.fleetControl/configurationDefinitions.yml` file and other associated files in `/fleetControl` and saves the agent information in New Relic.
agent-type: dotnet # Required: The type of agent (e.g., dotnet, java, python)
46
-
version: 1.0.0 # Required: will be used to check out appropriate release tag
48
+
agent-type: dotnet-agent # Required for agent release workflow: The type of agent (e.g., nodejs-agent, java-agent)
49
+
version: 1.0.0 # Required for agent release workflow: will be used to check out appropriate release tag
47
50
cache: true # Optional: Enable Go build cache (default: true)
48
51
```
49
52
50
-
### Example Workflow For Updating Docs Metadata on an Existing Agent Version
51
-
This action automatically checks out the calling repo's commit, detects the changed release notes and saves the agent metadata in New Relic. The action handles the checkout internally, so you don't need to include a separate `actions/checkout` step. If you do not want to use this action, you can call New Relic directly to add the agent metadata.
52
-
53
+
### Example Workflow For Updating Docs Metadata for a new/existing Agent Version
54
+
This action should be triggered on a push to the main docs branch. It will automatically detect the changed release notes in the push and save the agent metadata in New Relic.
53
55
54
56
```yaml
55
57
name: Process Agent Metadata
@@ -75,30 +77,24 @@ For the agent scenario, the action expects a YAML file at `.fleetControl/configu
75
77
76
78
```yaml
77
79
configurationDefinitions:
78
-
- platform: "kubernetes" # or "host" or "all" if there is no distinction
80
+
- platform: "KUBERNETESCLUSTER" # or "HOST" or "ALL" if there is no distinction
79
81
description: "Description of the configuration"
80
-
type: "config-type"
82
+
type: "agent-config"
81
83
version: "1.0.0" -- config schema version
82
-
format: "json" -- format of the agent config file
84
+
format: "yml" -- format of the agent config file
83
85
schema: "./schemas/config-schema.json"
84
86
```
85
87
86
-
**All fields are required.** The action validates each configuration entry and will fail with a clear error message if any required field is missing (version, platform, description, type, format, schema).
87
88
88
89
**Dec 2025 - schema temporarily optional until full functionality is ready
89
90
90
91
**Schema paths must be relative to the `.fleetControl` directory and cannot use directory traversal (`..`) for security.
91
92
92
93
## Building
93
94
94
-
To build the action locally:
95
-
96
95
```bash
97
96
# Build the binary
98
97
go build -o agent-metadata-action ./cmd/agent-metadata-action
0 commit comments