Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce experimental artifacts #993

Merged
merged 16 commits into from
Oct 5, 2020
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ build
.idea
*.iml
.vscode/*

# experimental exclusions
experimental/generated/elasticsearch/6
experimental/generated/docs
ebeahan marked this conversation as resolved.
Show resolved Hide resolved
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ VERSION := $(shell cat version)
# Check verifies that all of the committed files that are generated are
# up-to-date.
.PHONY: check
check: generate test fmt misspell makelint check-license-headers
check: generate experimental test fmt misspell makelint check-license-headers
# Check if diff is empty.
git diff | cat
git update-index --refresh
Expand Down Expand Up @@ -46,6 +46,11 @@ docs:
fi
./build/docs/build_docs --asciidoctor --doc ./docs/index.asciidoc --chunk=1 $(OPEN_DOCS) --out ./build/html_docs

# Alias to generate experimental artifacts
.PHONY: experimental
experimental: ve
$(PYTHON) scripts/generator.py --include experimental/schemas --out experimental

# Format code and files in the repo.
.PHONY: fmt
fmt: ve
Expand Down
26 changes: 26 additions & 0 deletions experimental/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# ECS Experimental Definitions

ECS experimental definitions are changes and features which have reached [stage two](https://elastic.github.io/ecs/stages.html) in the ECS [RFC process](../rfcs)

Stage two changes only appear in the experimental artifacts in this directory, but aren't yet reflected in the official ECS documentation.
Note that stage three and four proposals do appear in the official ECS documentation.

These experimental changes to ECS are comprehensive but not necessarily final. They are also still subject to breaking changes.

## Schema Files

The [schemas](./schemas) directory contains the YAML files for the experimental field definitions. These are not always complete schemas. They can also be supplemental changes to be merged with the official schema spec, using the `--include` generator flag.
ebeahan marked this conversation as resolved.
Show resolved Hide resolved

If you use the ECS generator script as describe in [USAGE.md](../USAGE.md) to maintain your custom index templates, here's how you can try these experimental changes in your project:
ebeahan marked this conversation as resolved.
Show resolved Hide resolved

```sh
$ python scripts/generator.py --include experimental/schemas \
--include ../myproject/fields/custom/ \
--out ../myproject/fields/generated
```

The above would include all experimental changes to ECS along with your custom fields, and output the artifacts in `myproject/fields/generated`.

## Generated Artifacts

Various files generated based on the experimental ECS spec. The artifacts are generated using `make experimental` and published [here](./generated).
Loading