Skip to content

Add a new discovery parameter based on datasets #1336

@mrodm

Description

@mrodm

Relates elastic/package-spec#919

Add a new mechanism to discover content packages. This mechanism should be based on datasets.

Packages define this new mechanism in the package manifests as:

discovery:
  fields: []
  datasets:
    - name: nginx.access
    - name: nginx.error

Example of query:

GET /search?discovery=datasets:nginx.access,hostmetricsreceiver.otel

Package Registry service should return all the packages that define at least one of the datasets present in the query parameter. For instance, given the query from above, these packages would be part of the response:

discovery:
  fields: []
  datasets:
    - name: nginx.access
    - name: nginx.error
discovery:
  fields: []
  datasets:
    - name: hostmetricsreceiver.otel
    - name: other.dataset

Some requirements for these queries related to discovery of packages:

  • Queries based on discovery.fields:
    • All discovery fields in the package manifest must appear in the query parameter
    GET /search?discovery=fields:host.ip,event.dataset:nginx.other`
    
  • Queries based on discovery.datasets:
    • At least one discovery dataset in the package manifest must appear in the query parameter:
    GET /search?discovery=datasets:nginx.other` will return packages based on `discovery.datasets` values
    
  • Queries to use both mechanism to discovery packages (multiple discovery parameters):
    • Both conditions for discovery must be fulfilled (fields and datasets).
    GET /search?discovery=datasets:nginx.other&discovery=fields:host.ip`
    

Metadata

Metadata

Assignees

Labels

Team:EcosystemLabel for the Packages Ecosystem team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions