This service is responsible for storing and retrieving metadata, enabling the UI to populate dropdowns with previously entered metadata keys and values. The metadata is stored in a separate file for each project in favor of security.
Read more about Metadata Broker here.
See the Documentation to get started using the Metadata Broker.
To develop in the Metadata Broker Service, the following development prerequisites are required:
- Go (1.23.8 or later)
- Python with venv (3.1.0 or later)
- Make
- Buf
- A running deployment of the Edge Management Framework
To build and test Metadata Broker, you can use the following commands:
# Build the project
make build
# Run the project locally
make run
# If working in a containerized setup, you can use this to build a docker image
make docker-build
# Push the image to a public Amazon ECR registry
make docker-push
There are some additional make
targets to support developer activities:
generate
- generates the OpenAPI spec and rest clienttest
- runs tests for the Go code and rego rulesmod-update
- runs bothmod tidy
andmod vendor
lint
- runs linting on the code
Since all metadata is tied to a project, let's select a project first:
export PRJ=testProject
Now, create a metadata key/value pair:
curl -X POST \
-H "Content-Type: application/json" \
-H "ActiveProjectID: $PRJ" \
http://localhost:9988/metadata.orchestrator.apis/v1/metadata \
-d '{
"metadata": [
{"key": "color", "value": "red"},
{"key": "color", "value": "blue"}
]
}'
Get all metadata for a project:
curl -X GET -H "ActiveProjectID: $PRJ" http://localhost:9988/metadata.orchestrator.apis/v1/metadata
Delete a specific key/value pair:
curl -X DELETE -H "ActiveProjectID: $PRJ" http://localhost:9988/metadata.orchestrator.apis/v1/metadata?key=color&value=red
Delete all metadata in a project:
curl -X DELETE http://localhost:9988/metadata.orchestrator.apis/v1/project/$PRJ
Note: This will only delete the project from the Metadata Broker service's file storage. The actual project will still exist in the Edge Management Framework system.
To learn how to contribute to the project, see the Contributor's Guide. The project will accept contributions through Pull-Requests (PRs). PRs must be built successfully by the CI pipeline, pass linter verifications and unit tests.
To learn more about the project, its community, and governance, visit the Edge Orchestrator Community.
For support, start with Troubleshooting.
The Metadata Broker service is licensed under Apache 2.0.
Last Updated Date: April 15, 2025