Skip to content

open-edge-platform/orch-metadata-broker

Repository files navigation

Orch Metadata Broker Service

Overview

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.

Get Started

See the Documentation to get started using the Metadata Broker.

Develop

To develop in the Metadata Broker Service, the following development prerequisites are required:

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 client
  • test - runs tests for the Go code and rego rules
  • mod-update - runs both mod tidy and mod 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.

Contribute

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.

Community and Support

To learn more about the project, its community, and governance, visit the Edge Orchestrator Community.

For support, start with Troubleshooting.

License

The Metadata Broker service is licensed under Apache 2.0.

Last Updated Date: April 15, 2025

About

Manages metadata across multiple Orchestrator services.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 9