elastic / elastic/package-spec

[Change Proposal] Define reusable fields to use in the build dependency system

Open
#746 1 comment 1 reaction 0 assignees View on GitHub
discuss stale
Dominant language
Go
Stars
20
Forks
93
Avg merge
15h 10m
Merged PRs (30d)
12

Description

Problem Statement
===============

The [`endpoint` package](https://github.com/elastic/endpoint-package/) defines many custom fields (not part of ECS, and many are specific to this process, and wouldn't be good candidates for becoming ECS fields), and many of those custom fields are used across 5+ data stream definitions.

The endpoint package currently uses the [ecs build tooling](https://github.com/elastic/ecs/blob/main/USAGE.md) to generate our data stream definitions. In order to migrate to use the `elastic-package` tool for building, those field definitions (field type, description, etc) would need to be repeated in each of our data streams. This would be a prohibitive amount of duplication to maintain.

For pure ecs fields, that duplication is avoided by the external dependency system to import the field.

Using a similar system to define our fields in one place and "import" them via this dependency system would solve that duplication problem.

Proposal
========

The dependency system is extended to be able to import field definitions from a local folder as another source.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.