diff --git a/.meta/.schema.json b/.meta/.schema.json
index 606b3a9d4aba2..ebf30d5213716 100644
--- a/.meta/.schema.json
+++ b/.meta/.schema.json
@@ -440,6 +440,7 @@
"common",
"function_category",
"requirements",
+ "sub_type",
"title"
],
"properties": {
@@ -503,6 +504,14 @@
"$ref": "#/definitions/requirements",
"description": "Component requirements"
},
+ "sub_type": {
+ "type": "string",
+ "description": "The type of transform. Sub-type since `type` is used to describe the component type (source, transform, or sink).",
+ "enum": [
+ "function",
+ "runtime"
+ ]
+ },
"title": {
"type": "string",
"description": "A simple title for this transform, typically one word.",
diff --git a/.meta/transforms/add_fields.toml b/.meta/transforms/add_fields.toml
index 1a59143d56520..7db888d1fab44 100644
--- a/.meta/transforms/add_fields.toml
+++ b/.meta/transforms/add_fields.toml
@@ -7,6 +7,7 @@ function_category = "shape"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "add_fields") %>
diff --git a/.meta/transforms/add_tags.toml b/.meta/transforms/add_tags.toml
index 212575f6726eb..5b1ecbf3e48d6 100644
--- a/.meta/transforms/add_tags.toml
+++ b/.meta/transforms/add_tags.toml
@@ -7,6 +7,7 @@ function_category = "shape"
input_types = ["metric"]
output_types = ["metric"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "add_tags") %>
diff --git a/.meta/transforms/ansi_stripper.toml b/.meta/transforms/ansi_stripper.toml
index 2147ef788b8cd..68cc07c4cab3b 100644
--- a/.meta/transforms/ansi_stripper.toml
+++ b/.meta/transforms/ansi_stripper.toml
@@ -7,6 +7,7 @@ function_category = "sanitize"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "ansi_stripper") %>
diff --git a/.meta/transforms/aws_ec2_metadata.toml b/.meta/transforms/aws_ec2_metadata.toml
index 71fb2f2621195..5f6dc937554c1 100644
--- a/.meta/transforms/aws_ec2_metadata.toml
+++ b/.meta/transforms/aws_ec2_metadata.toml
@@ -7,6 +7,7 @@ function_category = "enrich"
input_types = ["log"]
output_types = ["log"]
requirements.network = true
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "aws_ec2_metadata") %>
diff --git a/.meta/transforms/coercer.toml b/.meta/transforms/coercer.toml
index 9d2e46900f73c..b15bce557cc0b 100644
--- a/.meta/transforms/coercer.toml
+++ b/.meta/transforms/coercer.toml
@@ -7,6 +7,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "coercer") %>
diff --git a/.meta/transforms/concat.toml b/.meta/transforms/concat.toml
index 71572b3f34be9..0e7b24b1664a5 100644
--- a/.meta/transforms/concat.toml
+++ b/.meta/transforms/concat.toml
@@ -7,6 +7,7 @@ function_category = "filter"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "concat") %>
diff --git a/.meta/transforms/field_filter.toml b/.meta/transforms/field_filter.toml
index 75755f611cf92..acbc1c5133946 100644
--- a/.meta/transforms/field_filter.toml
+++ b/.meta/transforms/field_filter.toml
@@ -7,6 +7,7 @@ function_category = "filter"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "field_filter") %>
diff --git a/.meta/transforms/geoip.toml b/.meta/transforms/geoip.toml
index df12388bb559c..b423d6ea19d79 100644
--- a/.meta/transforms/geoip.toml
+++ b/.meta/transforms/geoip.toml
@@ -7,6 +7,7 @@ function_category = "enrich"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "geoip") %>
diff --git a/.meta/transforms/grok_parser.toml b/.meta/transforms/grok_parser.toml
index 721cb82593b77..89d9938acf195 100644
--- a/.meta/transforms/grok_parser.toml
+++ b/.meta/transforms/grok_parser.toml
@@ -7,6 +7,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "grok_parser") %>
diff --git a/.meta/transforms/json_parser.toml b/.meta/transforms/json_parser.toml
index fbd03118ee35d..5a9ab36b6add0 100644
--- a/.meta/transforms/json_parser.toml
+++ b/.meta/transforms/json_parser.toml
@@ -7,6 +7,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "json_parser") %>
diff --git a/.meta/transforms/log_to_metric.toml b/.meta/transforms/log_to_metric.toml
index e597a6754e2c6..29ab88cfa63d2 100644
--- a/.meta/transforms/log_to_metric.toml
+++ b/.meta/transforms/log_to_metric.toml
@@ -7,6 +7,7 @@ function_category = "convert"
input_types = ["log"]
output_types = ["metric"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "log_to_metric") %>
diff --git a/.meta/transforms/logfmt_parser.toml b/.meta/transforms/logfmt_parser.toml
index 19465bfd5fbf0..f691b1aa912c9 100644
--- a/.meta/transforms/logfmt_parser.toml
+++ b/.meta/transforms/logfmt_parser.toml
@@ -9,6 +9,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "logfmt_parser") %>
diff --git a/.meta/transforms/lua.toml b/.meta/transforms/lua.toml
index dfeec6bd3473e..d4f2f51b4a52d 100644
--- a/.meta/transforms/lua.toml
+++ b/.meta/transforms/lua.toml
@@ -7,6 +7,7 @@ function_category = "program"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "runtime"
<%= render("_partials/_component_options.toml", type: "transform", name: "lua") %>
diff --git a/.meta/transforms/merge.toml b/.meta/transforms/merge.toml
index b50807f1dab05..fdcd47eac37c0 100644
--- a/.meta/transforms/merge.toml
+++ b/.meta/transforms/merge.toml
@@ -7,6 +7,7 @@ function_category = "aggregate"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "merge") %>
diff --git a/.meta/transforms/regex_parser.toml b/.meta/transforms/regex_parser.toml
index 53bdce5dcd981..77e950c1f4306 100644
--- a/.meta/transforms/regex_parser.toml
+++ b/.meta/transforms/regex_parser.toml
@@ -9,6 +9,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "regex_parser") %>
diff --git a/.meta/transforms/remove_fields.toml b/.meta/transforms/remove_fields.toml
index bdd11baeebc6b..0b2c01c707b1c 100644
--- a/.meta/transforms/remove_fields.toml
+++ b/.meta/transforms/remove_fields.toml
@@ -7,6 +7,7 @@ function_category = "shape"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "remove_fields") %>
diff --git a/.meta/transforms/remove_tags.toml b/.meta/transforms/remove_tags.toml
index 156b39e892d30..603711d06a156 100644
--- a/.meta/transforms/remove_tags.toml
+++ b/.meta/transforms/remove_tags.toml
@@ -7,6 +7,7 @@ function_category = "shape"
input_types = ["metric"]
output_types = ["metric"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "remove_tags") %>
diff --git a/.meta/transforms/rename_fields.toml b/.meta/transforms/rename_fields.toml
index 2aec76232bf37..3b34456e2ae8e 100644
--- a/.meta/transforms/rename_fields.toml
+++ b/.meta/transforms/rename_fields.toml
@@ -7,6 +7,7 @@ function_category = "shape"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "rename_fields") %>
diff --git a/.meta/transforms/sampler.toml b/.meta/transforms/sampler.toml
index 285ad3b6f5971..6dfb52583c713 100644
--- a/.meta/transforms/sampler.toml
+++ b/.meta/transforms/sampler.toml
@@ -7,6 +7,7 @@ function_category = "filter"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "sampler") %>
diff --git a/.meta/transforms/split.toml b/.meta/transforms/split.toml
index 3897b3d5adf60..f12c41cb7dfc4 100644
--- a/.meta/transforms/split.toml
+++ b/.meta/transforms/split.toml
@@ -10,6 +10,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "split") %>
diff --git a/.meta/transforms/swimlanes.toml b/.meta/transforms/swimlanes.toml
index 5bee4af054ca6..a1fdee5775a04 100644
--- a/.meta/transforms/swimlanes.toml
+++ b/.meta/transforms/swimlanes.toml
@@ -7,6 +7,7 @@ function_category = "filter"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "swimlanes") %>
diff --git a/.meta/transforms/tokenizer.toml b/.meta/transforms/tokenizer.toml
index 91f035495a05c..0c12f458d3e7e 100644
--- a/.meta/transforms/tokenizer.toml
+++ b/.meta/transforms/tokenizer.toml
@@ -10,6 +10,7 @@ function_category = "parse"
input_types = ["log"]
output_types = ["log"]
requirements = {}
+sub_type = "function"
<%= render("_partials/_component_options.toml", type: "transform", name: "tokenizer") %>
diff --git a/README.md b/README.md
index 34256c6a6bd1f..30a92237f1e61 100644
--- a/README.md
+++ b/README.md
@@ -67,7 +67,7 @@ pipelines. Compared to Logstash and friends, Vector [improves throughput by
#### Reference
* [**Sources**][docs.sources] - [docker][docs.sources.docker], [file][docs.sources.file], [http][docs.sources.http], [journald][docs.sources.journald], [kafka][docs.sources.kafka], [socket][docs.sources.socket], and [7 more...][docs.sources]
-* [**Transforms**][docs.transforms] - [json_parser][docs.transforms.json_parser], [log_to_metric][docs.transforms.log_to_metric], [logfmt_parser][docs.transforms.logfmt_parser], [lua][docs.transforms.lua], [regex_parser][docs.transforms.regex_parser], [sampler][docs.transforms.sampler], and [16 more...][docs.transforms]
+* [**Transforms**][docs.transforms] - [json_parser][docs.transforms.functions.json_parser], [log_to_metric][docs.transforms.functions.log_to_metric], [logfmt_parser][docs.transforms.functions.logfmt_parser], [lua][docs.transforms.runtimes.lua], [regex_parser][docs.transforms.functions.regex_parser], [sampler][docs.transforms.functions.sampler], and [16 more...][docs.transforms]
* [**Sinks**][docs.sinks] - [aws_cloudwatch_logs][docs.sinks.aws_cloudwatch_logs], [aws_s3][docs.sinks.aws_s3], [clickhouse][docs.sinks.clickhouse], [elasticsearch][docs.sinks.elasticsearch], [gcp_cloud_storage][docs.sinks.gcp_cloud_storage], [gcp_pubsub][docs.sinks.gcp_pubsub], and [21 more...][docs.sinks]
#### Administration
@@ -131,15 +131,15 @@ To learn more about our correctness tests, please see the [Vector test harness][
#### Control Flow
* **Pipelining** - A [directed acyclic graph processing model][docs.configuration] allows for flexible topologies.
-* **Control-flow** - Transforms like the [`swimlanes` transform][docs.transforms.swimlanes] allow for complex control-flow logic.
+* **Control-flow** - Transforms like the [`swimlanes` transform][docs.transforms.functions.swimlanes] allow for complex control-flow logic.
* **Dynamic partitioning** - Create [dynamic partitions on the fly][docs.sinks.aws_s3#partitioning] with Vector's [templating syntax][docs.reference.templating].
#### Data Processing
-* **Programmable transforms** - [Lua][docs.transforms.lua], [Javascript (coming soon)][urls.pr_721], and [WASM (coming soon)][urls.issue_1802] transforms.
-* **Rich parsing** - [Regex][docs.transforms.regex_parser], [Grok][docs.transforms.grok_parser], and [more][urls.vector_parsing_transforms] allow for rich parsing.
+* **Programmable transforms** - [Lua][docs.transforms.runtimes.lua], [Javascript (coming soon)][urls.pr_721], and [WASM (coming soon)][urls.issue_1802] transforms.
+* **Rich parsing** - [Regex][docs.transforms.functions.regex_parser], [Grok][docs.transforms.functions.grok_parser], and [more][urls.vector_parsing_transforms] allow for rich parsing.
* **Context enrichment** - [Enrich data with environment context][urls.vector_enriching_transforms].
-* **Metrics derivation** - [Derive logs from metrics][docs.transforms.log_to_metric].
+* **Metrics derivation** - [Derive logs from metrics][docs.transforms.functions.log_to_metric].
* **Multi-line merging** - [Merge multi-line logs][docs.sources.file#multiline] into one event, such as stacktraces.
#### Operations
@@ -248,14 +248,14 @@ Or use your own [preferred method][docs.installation].
[docs.sources.socket]: https://vector.dev/docs/reference/sources/socket/
[docs.sources]: https://vector.dev/docs/reference/sources/
[docs.topologies]: https://vector.dev/docs/setup/deployment/topologies/
-[docs.transforms.grok_parser]: https://vector.dev/docs/reference/transforms/grok_parser/
-[docs.transforms.json_parser]: https://vector.dev/docs/reference/transforms/json_parser/
-[docs.transforms.log_to_metric]: https://vector.dev/docs/reference/transforms/log_to_metric/
-[docs.transforms.logfmt_parser]: https://vector.dev/docs/reference/transforms/logfmt_parser/
-[docs.transforms.lua]: https://vector.dev/docs/reference/transforms/lua/
-[docs.transforms.regex_parser]: https://vector.dev/docs/reference/transforms/regex_parser/
-[docs.transforms.sampler]: https://vector.dev/docs/reference/transforms/sampler/
-[docs.transforms.swimlanes]: https://vector.dev/docs/reference/transforms/swimlanes/
+[docs.transforms.functions.grok_parser]: https://vector.dev/docs/reference/transforms/functions/grok_parser/
+[docs.transforms.functions.json_parser]: https://vector.dev/docs/reference/transforms/functions/json_parser/
+[docs.transforms.functions.log_to_metric]: https://vector.dev/docs/reference/transforms/functions/log_to_metric/
+[docs.transforms.functions.logfmt_parser]: https://vector.dev/docs/reference/transforms/functions/logfmt_parser/
+[docs.transforms.functions.regex_parser]: https://vector.dev/docs/reference/transforms/functions/regex_parser/
+[docs.transforms.functions.sampler]: https://vector.dev/docs/reference/transforms/functions/sampler/
+[docs.transforms.functions.swimlanes]: https://vector.dev/docs/reference/transforms/functions/swimlanes/
+[docs.transforms.runtimes.lua]: https://vector.dev/docs/reference/transforms/runtimes/lua/
[docs.transforms]: https://vector.dev/docs/reference/transforms/
[docs.updating]: https://vector.dev/docs/administration/updating/
[docs.validating]: https://vector.dev/docs/administration/validating/
diff --git a/README.md.erb b/README.md.erb
index d6909400e48cd..196da5beb96f7 100644
--- a/README.md.erb
+++ b/README.md.erb
@@ -109,15 +109,15 @@ To learn more about our correctness tests, please see the [Vector test harness][
#### Control Flow
* **Pipelining** - A [directed acyclic graph processing model][docs.configuration] allows for flexible topologies.
-* **Control-flow** - Transforms like the [`swimlanes` transform][docs.transforms.swimlanes] allow for complex control-flow logic.
+* **Control-flow** - Transforms like the [`swimlanes` transform][docs.transforms.functions.swimlanes] allow for complex control-flow logic.
* **Dynamic partitioning** - Create [dynamic partitions on the fly][docs.sinks.aws_s3#partitioning] with Vector's [templating syntax][docs.reference.templating].
#### Data Processing
-* **Programmable transforms** - [Lua][docs.transforms.lua], [Javascript (coming soon)][urls.pr_721], and [WASM (coming soon)][urls.issue_1802] transforms.
-* **Rich parsing** - [Regex][docs.transforms.regex_parser], [Grok][docs.transforms.grok_parser], and [more][urls.vector_parsing_transforms] allow for rich parsing.
+* **Programmable transforms** - [Lua][docs.transforms.runtimes.lua], [Javascript (coming soon)][urls.pr_721], and [WASM (coming soon)][urls.issue_1802] transforms.
+* **Rich parsing** - [Regex][docs.transforms.functions.regex_parser], [Grok][docs.transforms.functions.grok_parser], and [more][urls.vector_parsing_transforms] allow for rich parsing.
* **Context enrichment** - [Enrich data with environment context][urls.vector_enriching_transforms].
-* **Metrics derivation** - [Derive logs from metrics][docs.transforms.log_to_metric].
+* **Metrics derivation** - [Derive logs from metrics][docs.transforms.functions.log_to_metric].
* **Multi-line merging** - [Merge multi-line logs][docs.sources.file#multiline] into one event, such as stacktraces.
#### Operations
diff --git a/scripts/generate.rb b/scripts/generate.rb
index fc2ecc613d078..96bd96c1479bd 100755
--- a/scripts/generate.rb
+++ b/scripts/generate.rb
@@ -197,14 +197,18 @@ def url_valid?(url)
# Create missing component templates
#
-metadata.components.each do |component|
- template_path = "#{REFERENCE_ROOT}/#{component.type.pluralize}/#{component.name}.md.erb"
+# metadata.components.each do |component|
+# template_path = "#{REFERENCE_ROOT}/#{component.type.pluralize}/#{component.name}.md.erb"
- if !File.exists?(template_path)
- contents = templates.component_default(component)
- File.open(template_path, 'w+') { |file| file.write(contents) }
- end
-end
+# if !File.exists?(template_path)
+# contents = templates.component_default(component)
+# File.open(template_path, 'w+') { |file| file.write(contents) }
+# end
+# end
+
+#
+# Create missing .md files
+#
erb_paths =
Dir.glob("#{ROOT_DIR}/**/*.erb", File::FNM_DOTMATCH).
@@ -212,9 +216,6 @@ def url_valid?(url)
filter { |path| !path.start_with?("#{ROOT_DIR}/scripts") }.
filter { |path| !path.start_with?("#{ROOT_DIR}/distribution/nix") }
-#
-# Create missing .md files
-#
erb_paths.each do |erb_path|
md_path = erb_path.gsub(/\.erb$/, "")
diff --git a/scripts/generate/templates.rb b/scripts/generate/templates.rb
index 641d6e3a568f5..9d87729fcda4c 100644
--- a/scripts/generate/templates.rb
+++ b/scripts/generate/templates.rb
@@ -43,7 +43,7 @@ def common_component_links(type, limit = 5)
links =
components.select(&:common?)[0..limit].collect do |component|
- "[#{component.name}][docs.#{type.to_s.pluralize}.#{component.name}]"
+ "[#{component.name}][#{component_short_link(component)}]"
end
num_leftover = components.size - links.size
@@ -71,6 +71,14 @@ def component_header(component)
render("#{partials_path}/_component_header.md", binding).strip
end
+ def component_short_link(component)
+ if component.respond_to?(:sub_type)
+ "docs.#{component.type.pluralize}.#{component.sub_type.pluralize}.#{component.name}"
+ else
+ "docs.#{component.type.pluralize}.#{component.name}"
+ end
+ end
+
def component_output(component, output, breakout_top_keys: false, heading_depth: 1)
examples = output.examples
fields = output.fields ? output.fields.to_h.values.sort : []
diff --git a/scripts/util/metadata/transform.rb b/scripts/util/metadata/transform.rb
index 29de26dfcabc6..4b0aa849ff52f 100644
--- a/scripts/util/metadata/transform.rb
+++ b/scripts/util/metadata/transform.rb
@@ -7,7 +7,8 @@ class Transform < Component
attr_reader :allow_you_to_description,
:input_types,
:output,
- :output_types
+ :output_types,
+ :sub_type
def initialize(hash)
super(hash)
@@ -18,6 +19,7 @@ def initialize(hash)
@input_types = hash.fetch("input_types")
@output = OpenStruct.new
@output_types = hash.fetch("output_types")
+ @sub_type = hash.fetch("sub_type")
# checks
diff --git a/website/blog/2019-11-25-unit-testing-vector-config-files.md b/website/blog/2019-11-25-unit-testing-vector-config-files.md
index df7175bd5dff1..59792a6d03eb1 100644
--- a/website/blog/2019-11-25-unit-testing-vector-config-files.md
+++ b/website/blog/2019-11-25-unit-testing-vector-config-files.md
@@ -18,7 +18,7 @@ mission-critical production pipelines that are collaborated on.
## Example
Let's look at a basic example that uses the [`regex_parser`
-transform][docs.transforms.regex_parser] to parse log lines:
+transform][docs.transforms.functions.regex_parser] to parse log lines:
import CodeHeader from '@site/src/components/CodeHeader';
@@ -98,5 +98,5 @@ works well for everyone. Please let us know what you think either in our
[docs.reference.tests]: /docs/reference/tests/
[docs.sinks.aws_cloudwatch_logs]: /docs/reference/sinks/aws_cloudwatch_logs/
[docs.sources.file]: /docs/reference/sources/file/
-[docs.transforms.regex_parser]: /docs/reference/transforms/regex_parser/
+[docs.transforms.functions.regex_parser]: /docs/reference/transforms/functions/regex_parser/
[docs.transforms]: /docs/reference/transforms/
diff --git a/website/blog/2019-12-16-ec2-metadata.md b/website/blog/2019-12-16-ec2-metadata.md
index aefc04ce485b3..0cd4eae309a10 100644
--- a/website/blog/2019-12-16-ec2-metadata.md
+++ b/website/blog/2019-12-16-ec2-metadata.md
@@ -7,7 +7,7 @@ tags: ["type: announcement", "domain: transforms", "transform: ec2_metadata"]
---
Are your events the laughing-stock of the data warehouse? Then enrich them with
-our brand spanking new [`aws_ec2_metadata` transform][docs.transforms.aws_ec2_metadata].
+our brand spanking new [`aws_ec2_metadata` transform][docs.transforms.functions.aws_ec2_metadata].
@@ -29,11 +29,11 @@ don't want all enrichments added then whitelist them with the `fields` option:
]
```
-For more guidance get on the [reference page][docs.transforms.aws_ec2_metadata].
+For more guidance get on the [reference page][docs.transforms.functions.aws_ec2_metadata].
## Why?
Data is better when it's thicc 👌
-[docs.transforms.aws_ec2_metadata]: /docs/reference/transforms/aws_ec2_metadata/
+[docs.transforms.functions.aws_ec2_metadata]: /docs/reference/transforms/functions/aws_ec2_metadata/
diff --git a/website/docs/about/concepts.md b/website/docs/about/concepts.md
index c97731e71f6a9..90779b40de93e 100644
--- a/website/docs/about/concepts.md
+++ b/website/docs/about/concepts.md
@@ -48,7 +48,7 @@ Vector. This might involve parsing, filtering, sampling, or aggregating. You can
have any number of transforms in your pipeline and how they are composed is up
to you.
-View all transforms
+View all transforms
### Sinks
diff --git a/website/docs/about/concepts.md.erb b/website/docs/about/concepts.md.erb
index 9286276282d76..fde3d12d8ab6c 100644
--- a/website/docs/about/concepts.md.erb
+++ b/website/docs/about/concepts.md.erb
@@ -36,7 +36,7 @@ Vector. This might involve parsing, filtering, sampling, or aggregating. You can
have any number of transforms in your pipeline and how they are composed is up
to you.
-View all transforms
+View all transforms
### Sinks
diff --git a/website/docs/about/data-model/log.md b/website/docs/about/data-model/log.md
index 348f197c7f2a7..eb6d6a6c19aa5 100644
--- a/website/docs/about/data-model/log.md
+++ b/website/docs/about/data-model/log.md
@@ -220,7 +220,7 @@ to UTC from the local time.
### Dot Notation
-Some components, such as [`rename_fields` transform][docs.reference.transforms.rename_fields],
+Some components, such as [`rename_fields` transform][docs.transforms.functions.rename_fields],
accept name of a field as an option. In order to specify a nested field to them, use the
dot notation which can be described by an example:
@@ -251,7 +251,7 @@ There are cases where Vector interacts with formats that do not have a formal
timestamp defintion, such as JSON. In these cases, Vector will ingest the
timestamp in it's primitive form (string or integer). You can then coerce the
field into a [`timestamp`](#timestamp) using the
-[`coercer` transform][docs.transforms.coercer]. If you are parsing this data
+[`coercer` transform][docs.transforms.functions.coercer]. If you are parsing this data
out of a string, all Vector parser transforms include a `types` option,
allowing you to extract and coerce in one step.
@@ -295,9 +295,9 @@ Array fields are sequences of values of any type.
[docs.reference.global-options#host_key]: /docs/reference/global-options/#host_key
[docs.reference.global-options#log_schema]: /docs/reference/global-options/#log_schema
[docs.reference.global-options#message_key]: /docs/reference/global-options/#message_key
-[docs.reference.transforms.rename_fields]: /docs/reference/transforms/rename_fields/
[docs.sources]: /docs/reference/sources/
-[docs.transforms.coercer]: /docs/reference/transforms/coercer/
+[docs.transforms.functions.coercer]: /docs/reference/transforms/functions/coercer/
+[docs.transforms.functions.rename_fields]: /docs/reference/transforms/functions/rename_fields/
[urls.ieee_754]: https://en.wikipedia.org/wiki/IEEE_754
[urls.issue_551]: https://github.com/timberio/vector/issues/551
[urls.rust_date_time]: https://docs.rs/chrono/0.4.0/chrono/struct.DateTime.html
diff --git a/website/docs/about/data-model/log.md.erb b/website/docs/about/data-model/log.md.erb
index 84683557f4770..42a40c59e8437 100644
--- a/website/docs/about/data-model/log.md.erb
+++ b/website/docs/about/data-model/log.md.erb
@@ -104,7 +104,7 @@ to UTC from the local time.
### Dot Notation
-Some components, such as [`rename_fields` transform][docs.reference.transforms.rename_fields],
+Some components, such as [`rename_fields` transform][docs.transforms.functions.rename_fields],
accept name of a field as an option. In order to specify a nested field to them, use the
dot notation which can be described by an example:
@@ -135,7 +135,7 @@ There are cases where Vector interacts with formats that do not have a formal
timestamp defintion, such as JSON. In these cases, Vector will ingest the
timestamp in it's primitive form (string or integer). You can then coerce the
field into a `timestamp` using the
-[`coercer` transform][docs.transforms.coercer]. If you are parsing this data
+[`coercer` transform][docs.transforms.functions.coercer]. If you are parsing this data
out of a string, all Vector parser transforms include a `types` option,
allowing you to extract and coerce in one step.
diff --git a/website/docs/reference/field-path-notation.md b/website/docs/reference/field-path-notation.md
index 560ee531f269a..6833f2bb258a4 100644
--- a/website/docs/reference/field-path-notation.md
+++ b/website/docs/reference/field-path-notation.md
@@ -5,7 +5,7 @@ description: "Vector's field path notation allows you to reference field values
Throughout Vector's configuration you'll notice that certain options take field
paths as values, such as the
-[`rename_fields` transform][docs.transforms.rename_fields]. In order to
+[`rename_fields` transform][docs.transforms.functions.rename_fields]. In order to
referenxe nested, or array, values you can use Vector's field path notation.
This notation is not anything special, it simply uses `.` and `[]` to
access nested and array values, respectively.
@@ -88,4 +88,4 @@ field\.with\.dots
The above name will be treated literally.
-[docs.transforms.rename_fields]: /docs/reference/transforms/rename_fields/
+[docs.transforms.functions.rename_fields]: /docs/reference/transforms/functions/rename_fields/
diff --git a/website/docs/reference/field-path-notation.md.erb b/website/docs/reference/field-path-notation.md.erb
index 2c677133d05e5..964ed5077bc7b 100644
--- a/website/docs/reference/field-path-notation.md.erb
+++ b/website/docs/reference/field-path-notation.md.erb
@@ -5,7 +5,7 @@ description: "Vector's field path notation allows you to reference field values
Throughout Vector's configuration you'll notice that certain options take field
paths as values, such as the
-[`rename_fields` transform][docs.transforms.rename_fields]. In order to
+[`rename_fields` transform][docs.transforms.functions.rename_fields]. In order to
referenxe nested, or array, values you can use Vector's field path notation.
This notation is not anything special, it simply uses `.` and `[]` to
access nested and array values, respectively.
diff --git a/website/docs/reference/sinks/aws_kinesis_streams.md b/website/docs/reference/sinks/aws_kinesis_streams.md
index 2fb6cfe96703f..3334392f0564a 100644
--- a/website/docs/reference/sinks/aws_kinesis_streams.md
+++ b/website/docs/reference/sinks/aws_kinesis_streams.md
@@ -897,7 +897,7 @@ this might not be sufficient since random distribution does not preserve order.
To override this, you can supply the [`partition_key_field`](#partition_key_field) option. This option
represents a field on your event to use for the partition key value instead.
This is useful if you have a field already on your event, and it also pairs
-nicely with the [`add_fields` transform][docs.transforms.add_fields].
+nicely with the [`add_fields` transform][docs.transforms.functions.add_fields].
#### Missing keys or blank values
@@ -955,7 +955,7 @@ attempts and backoff rate with the [`retry_attempts`](#retry_attempts) and
[docs.data-model]: /docs/about/data-model/
[docs.guarantees]: /docs/about/guarantees/
[docs.monitoring#logs]: /docs/administration/monitoring/#logs
-[docs.transforms.add_fields]: /docs/reference/transforms/add_fields/
+[docs.transforms.functions.add_fields]: /docs/reference/transforms/functions/add_fields/
[pages.aws_components]: /components?providers%5B%5D=aws/
[urls.aws_access_keys]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
[urls.aws_credential_process]: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html
diff --git a/website/docs/reference/sinks/aws_kinesis_streams.md.erb b/website/docs/reference/sinks/aws_kinesis_streams.md.erb
index 15a1229c41ba8..4d758a3680a7d 100644
--- a/website/docs/reference/sinks/aws_kinesis_streams.md.erb
+++ b/website/docs/reference/sinks/aws_kinesis_streams.md.erb
@@ -41,7 +41,7 @@ this might not be sufficient since random distribution does not preserve order.
To override this, you can supply the `partition_key_field` option. This option
represents a field on your event to use for the partition key value instead.
This is useful if you have a field already on your event, and it also pairs
-nicely with the [`add_fields` transform][docs.transforms.add_fields].
+nicely with the [`add_fields` transform][docs.transforms.functions.add_fields].
#### Missing keys or blank values
diff --git a/website/docs/reference/sources/syslog.md b/website/docs/reference/sources/syslog.md
index 74117428129ba..a19725065782c 100644
--- a/website/docs/reference/sources/syslog.md
+++ b/website/docs/reference/sources/syslog.md
@@ -636,7 +636,7 @@ Vector insulates you from these diviations.
If parsing fails, Vector will include the entire Syslog line in the [`message`](#message)
key. If you find this happening often, we recommend using the
[`socket` source][docs.sources.socket] combined with the
-[`regex_parser` transform][docs.transforms.regex_parser] to implement your own
+[`regex_parser` transform][docs.transforms.functions.regex_parser] to implement your own
ingestion and parsing scheme. Or, [open an issue][urls.new_feature_request]
requesting support for your specific format.
@@ -644,7 +644,7 @@ requesting support for your specific format.
[docs.configuration#environment-variables]: /docs/setup/configuration/#environment-variables
[docs.reference.global-options#host_key]: /docs/reference/global-options/#host_key
[docs.sources.socket]: /docs/reference/sources/socket/
-[docs.transforms.regex_parser]: /docs/reference/transforms/regex_parser/
+[docs.transforms.functions.regex_parser]: /docs/reference/transforms/functions/regex_parser/
[urls.new_feature_request]: https://github.com/timberio/vector/issues/new?labels=type%3A+new+feature
[urls.syslog_3164]: https://tools.ietf.org/html/rfc3164
[urls.syslog_5424]: https://tools.ietf.org/html/rfc5424
diff --git a/website/docs/reference/sources/syslog.md.erb b/website/docs/reference/sources/syslog.md.erb
index cdf998b6543f2..6d2b3fb25716a 100644
--- a/website/docs/reference/sources/syslog.md.erb
+++ b/website/docs/reference/sources/syslog.md.erb
@@ -47,6 +47,6 @@ Vector insulates you from these diviations.
If parsing fails, Vector will include the entire Syslog line in the `message`
key. If you find this happening often, we recommend using the
[`socket` source][docs.sources.socket] combined with the
-[`regex_parser` transform][docs.transforms.regex_parser] to implement your own
+[`regex_parser` transform][docs.transforms.functions.regex_parser] to implement your own
ingestion and parsing scheme. Or, [open an issue][urls.new_feature_request]
requesting support for your specific format.
diff --git a/website/docs/reference/templating.md b/website/docs/reference/templating.md
index 077f975e86af5..8da332b6b1e1d 100644
--- a/website/docs/reference/templating.md
+++ b/website/docs/reference/templating.md
@@ -114,7 +114,7 @@ option = "{{ parent.child[0] }}"
Vector currently does not support fallback values. [Issue 1692][urls.issue_1692]
is open to add this functionality. In the interim, you can use the
-[`lua` transform][docs.transforms.lua] to set a default value:
+[`lua` transform][docs.transforms.runtimes.lua] to set a default value:
```toml
[transforms.set_defaults]
@@ -149,6 +149,6 @@ option = "{{ parent.child }}"
[docs.reference.field-path-notation]: /docs/reference/field-path-notation/
[docs.sinks.aws_s3#key_prefix]: /docs/reference/sinks/aws_s3/#key_prefix
[docs.sinks.aws_s3]: /docs/reference/sinks/aws_s3/
-[docs.transforms.lua]: /docs/reference/transforms/lua/
+[docs.transforms.runtimes.lua]: /docs/reference/transforms/runtimes/lua/
[urls.issue_1692]: https://github.com/timberio/vector/issues/1692
[urls.strptime_specifiers]: https://docs.rs/chrono/0.3.1/chrono/format/strftime/index.html
diff --git a/website/docs/reference/templating.md.erb b/website/docs/reference/templating.md.erb
index 3f9511774e742..56460b4176520 100644
--- a/website/docs/reference/templating.md.erb
+++ b/website/docs/reference/templating.md.erb
@@ -106,7 +106,7 @@ option = "{{ parent.child[0] }}"
Vector currently does not support fallback values. [Issue 1692][urls.issue_1692]
is open to add this functionality. In the interim, you can use the
-[`lua` transform][docs.transforms.lua] to set a default value:
+[`lua` transform][docs.transforms.runtimes.lua] to set a default value:
```toml
[transforms.set_defaults]
diff --git a/website/docs/reference/transforms/add_fields.md b/website/docs/reference/transforms/functions/add_fields.md
similarity index 94%
rename from website/docs/reference/transforms/add_fields.md
rename to website/docs/reference/transforms/functions/add_fields.md
index 3b089a979ba65..132a32d1955c3 100644
--- a/website/docs/reference/transforms/add_fields.md
+++ b/website/docs/reference/transforms/functions/add_fields.md
@@ -19,7 +19,7 @@ The Vector `add_fields` transform accepts and [outputs `log` events](#output) al
To make changes please edit the template located at:
- website/docs/reference/transforms/add_fields.md.erb
+ website/docs/reference/transforms/functions/add_fields.md.erb
-->
## Configuration
@@ -185,7 +185,7 @@ Learn more about how [`log` events][docs.data-model.log] are structured.
The `add_fields` transform is designed for simple key additions. If you need
more complex transforming then we recommend using a more versatile transform
-like the [`lua` transform][docs.transforms.lua].
+like the [`lua` transform][docs.transforms.runtimes.lua].
### Environment Variables
@@ -226,7 +226,7 @@ Learn more about how [`log` events][docs.data-model.log] are structured.
### Removing Fields
-See the [`remove_fields` transform][docs.transforms.remove_fields].
+See the [`remove_fields` transform][docs.transforms.functions.remove_fields].
### Types
@@ -253,7 +253,7 @@ will drop that field from the output.
[docs.configuration#environment-variables]: /docs/setup/configuration/#environment-variables
[docs.configuration#types]: /docs/setup/configuration/#types
[docs.data-model.log]: /docs/about/data-model/log/
-[docs.transforms.lua]: /docs/reference/transforms/lua/
-[docs.transforms.remove_fields]: /docs/reference/transforms/remove_fields/
+[docs.transforms.functions.remove_fields]: /docs/reference/transforms/functions/remove_fields/
+[docs.transforms.runtimes.lua]: /docs/reference/transforms/runtimes/lua/
[urls.toml_array]: https://github.com/toml-lang/toml#array
[urls.toml_table]: https://github.com/toml-lang/toml#table
diff --git a/website/docs/reference/transforms/add_fields.md.erb b/website/docs/reference/transforms/functions/add_fields.md.erb
similarity index 94%
rename from website/docs/reference/transforms/add_fields.md.erb
rename to website/docs/reference/transforms/functions/add_fields.md.erb
index 6309f9c546b55..bc104ab091cec 100644
--- a/website/docs/reference/transforms/add_fields.md.erb
+++ b/website/docs/reference/transforms/functions/add_fields.md.erb
@@ -62,7 +62,7 @@ Learn more about how [`log` events][docs.data-model.log] are structured.
The `add_fields` transform is designed for simple key additions. If you need
more complex transforming then we recommend using a more versatile transform
-like the [`lua` transform][docs.transforms.lua].
+like the [`lua` transform][docs.transforms.runtimes.lua].
### Key Conflicts
@@ -107,7 +107,7 @@ Learn more about how [`log` events][docs.data-model.log] are structured.
### Removing Fields
-See the [`remove_fields` transform][docs.transforms.remove_fields].
+See the [`remove_fields` transform][docs.transforms.functions.remove_fields].
### Types
diff --git a/website/docs/reference/transforms/add_tags.md b/website/docs/reference/transforms/functions/add_tags.md
similarity index 97%
rename from website/docs/reference/transforms/add_tags.md
rename to website/docs/reference/transforms/functions/add_tags.md
index d2fc270cfd3cd..9f5090549781b 100644
--- a/website/docs/reference/transforms/add_tags.md
+++ b/website/docs/reference/transforms/functions/add_tags.md
@@ -19,7 +19,7 @@ The Vector `add_tags` transform accepts and outputs [`metric`][docs.data-model.m
To make changes please edit the template located at:
- website/docs/reference/transforms/add_tags.md.erb
+ website/docs/reference/transforms/functions/add_tags.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/add_tags.md.erb b/website/docs/reference/transforms/functions/add_tags.md.erb
similarity index 100%
rename from website/docs/reference/transforms/add_tags.md.erb
rename to website/docs/reference/transforms/functions/add_tags.md.erb
diff --git a/website/docs/reference/transforms/ansi_stripper.md b/website/docs/reference/transforms/functions/ansi_stripper.md
similarity index 97%
rename from website/docs/reference/transforms/ansi_stripper.md
rename to website/docs/reference/transforms/functions/ansi_stripper.md
index e741d7ea9a707..3d944995c235a 100644
--- a/website/docs/reference/transforms/ansi_stripper.md
+++ b/website/docs/reference/transforms/functions/ansi_stripper.md
@@ -19,7 +19,7 @@ The Vector `ansi_stripper` transform accepts and outputs [`log`][docs.data-model
To make changes please edit the template located at:
- website/docs/reference/transforms/ansi_stripper.md.erb
+ website/docs/reference/transforms/functions/ansi_stripper.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/ansi_stripper.md.erb b/website/docs/reference/transforms/functions/ansi_stripper.md.erb
similarity index 100%
rename from website/docs/reference/transforms/ansi_stripper.md.erb
rename to website/docs/reference/transforms/functions/ansi_stripper.md.erb
diff --git a/website/docs/reference/transforms/aws_ec2_metadata.md b/website/docs/reference/transforms/functions/aws_ec2_metadata.md
similarity index 99%
rename from website/docs/reference/transforms/aws_ec2_metadata.md
rename to website/docs/reference/transforms/functions/aws_ec2_metadata.md
index a7860f02975e9..6fc19f3418fcf 100644
--- a/website/docs/reference/transforms/aws_ec2_metadata.md
+++ b/website/docs/reference/transforms/functions/aws_ec2_metadata.md
@@ -19,7 +19,7 @@ The Vector `aws_ec2_metadata` transform accepts and [outputs `log` events](#outp
To make changes please edit the template located at:
- website/docs/reference/transforms/aws_ec2_metadata.md.erb
+ website/docs/reference/transforms/functions/aws_ec2_metadata.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/aws_ec2_metadata.md.erb b/website/docs/reference/transforms/functions/aws_ec2_metadata.md.erb
similarity index 100%
rename from website/docs/reference/transforms/aws_ec2_metadata.md.erb
rename to website/docs/reference/transforms/functions/aws_ec2_metadata.md.erb
diff --git a/website/docs/reference/transforms/coercer.md b/website/docs/reference/transforms/functions/coercer.md
similarity index 98%
rename from website/docs/reference/transforms/coercer.md
rename to website/docs/reference/transforms/functions/coercer.md
index 1c690d79c0159..03664fbc28899 100644
--- a/website/docs/reference/transforms/coercer.md
+++ b/website/docs/reference/transforms/functions/coercer.md
@@ -19,7 +19,7 @@ The Vector `coercer` transform accepts and [outputs `log` events](#output) allow
To make changes please edit the template located at:
- website/docs/reference/transforms/coercer.md.erb
+ website/docs/reference/transforms/functions/coercer.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/coercer.md.erb b/website/docs/reference/transforms/functions/coercer.md.erb
similarity index 100%
rename from website/docs/reference/transforms/coercer.md.erb
rename to website/docs/reference/transforms/functions/coercer.md.erb
diff --git a/website/docs/reference/transforms/concat.md b/website/docs/reference/transforms/functions/concat.md
similarity index 98%
rename from website/docs/reference/transforms/concat.md
rename to website/docs/reference/transforms/functions/concat.md
index 2361d0b818730..640b4a0afec56 100644
--- a/website/docs/reference/transforms/concat.md
+++ b/website/docs/reference/transforms/functions/concat.md
@@ -19,7 +19,7 @@ The Vector `concat` transform accepts and [outputs `log` events](#output) allowi
To make changes please edit the template located at:
- website/docs/reference/transforms/concat.md.erb
+ website/docs/reference/transforms/functions/concat.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/concat.md.erb b/website/docs/reference/transforms/functions/concat.md.erb
similarity index 100%
rename from website/docs/reference/transforms/concat.md.erb
rename to website/docs/reference/transforms/functions/concat.md.erb
diff --git a/website/docs/reference/transforms/field_filter.md b/website/docs/reference/transforms/functions/field_filter.md
similarity index 98%
rename from website/docs/reference/transforms/field_filter.md
rename to website/docs/reference/transforms/functions/field_filter.md
index c0b76848a446e..824a110135691 100644
--- a/website/docs/reference/transforms/field_filter.md
+++ b/website/docs/reference/transforms/functions/field_filter.md
@@ -19,7 +19,7 @@ The Vector `field_filter` transform accepts and outputs [`log`][docs.data-model.
To make changes please edit the template located at:
- website/docs/reference/transforms/field_filter.md.erb
+ website/docs/reference/transforms/functions/field_filter.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/field_filter.md.erb b/website/docs/reference/transforms/functions/field_filter.md.erb
similarity index 100%
rename from website/docs/reference/transforms/field_filter.md.erb
rename to website/docs/reference/transforms/functions/field_filter.md.erb
diff --git a/website/docs/reference/transforms/geoip.md b/website/docs/reference/transforms/functions/geoip.md
similarity index 99%
rename from website/docs/reference/transforms/geoip.md
rename to website/docs/reference/transforms/functions/geoip.md
index 051c44ed88325..45e761d6a270f 100644
--- a/website/docs/reference/transforms/geoip.md
+++ b/website/docs/reference/transforms/functions/geoip.md
@@ -19,7 +19,7 @@ The Vector [`geoip`](#geoip) transform accepts and [outputs `log` events](#outpu
To make changes please edit the template located at:
- website/docs/reference/transforms/geoip.md.erb
+ website/docs/reference/transforms/functions/geoip.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/geoip.md.erb b/website/docs/reference/transforms/functions/geoip.md.erb
similarity index 100%
rename from website/docs/reference/transforms/geoip.md.erb
rename to website/docs/reference/transforms/functions/geoip.md.erb
diff --git a/website/docs/reference/transforms/grok_parser.md b/website/docs/reference/transforms/functions/grok_parser.md
similarity index 95%
rename from website/docs/reference/transforms/grok_parser.md
rename to website/docs/reference/transforms/functions/grok_parser.md
index 2165a0bfd030d..dac877b8766b5 100644
--- a/website/docs/reference/transforms/grok_parser.md
+++ b/website/docs/reference/transforms/functions/grok_parser.md
@@ -19,7 +19,7 @@ The Vector `grok_parser` transform accepts and outputs [`log`][docs.data-model.l
To make changes please edit the template located at:
- website/docs/reference/transforms/grok_parser.md.erb
+ website/docs/reference/transforms/functions/grok_parser.md.erb
-->
## Configuration
@@ -219,17 +219,17 @@ You can learn more about Vector's field notation in the
### Performance
-Grok is approximately 50% slower than the [`regex_parser` transform][docs.transforms.regex_parser].
+Grok is approximately 50% slower than the [`regex_parser` transform][docs.transforms.functions.regex_parser].
We plan to add a [performance test][pages.index#performance] for this in the future.
While this is still plenty fast for most use cases we recommend using the
-[`regex_parser` transform][docs.transforms.regex_parser] if you are experiencing
+[`regex_parser` transform][docs.transforms.functions.regex_parser] if you are experiencing
performance issues.
[docs.configuration#environment-variables]: /docs/setup/configuration/#environment-variables
[docs.data-model.log]: /docs/about/data-model/log/
[docs.reference.field-path-notation]: /docs/reference/field-path-notation/
-[docs.transforms.regex_parser]: /docs/reference/transforms/regex_parser/
+[docs.transforms.functions.regex_parser]: /docs/reference/transforms/functions/regex_parser/
[pages.index#performance]: /#performance
[urls.grok]: http://grokdebug.herokuapp.com/
[urls.grok_debugger]: http://grokdebug.herokuapp.com/
diff --git a/website/docs/reference/transforms/grok_parser.md.erb b/website/docs/reference/transforms/functions/grok_parser.md.erb
similarity index 89%
rename from website/docs/reference/transforms/grok_parser.md.erb
rename to website/docs/reference/transforms/functions/grok_parser.md.erb
index 97a35c14f5439..e7c72d72e60f1 100644
--- a/website/docs/reference/transforms/grok_parser.md.erb
+++ b/website/docs/reference/transforms/functions/grok_parser.md.erb
@@ -39,10 +39,10 @@ We recommend the [Grok debugger][urls.grok_debugger] for Grok testing.
### Performance
-Grok is approximately 50% slower than the [`regex_parser` transform][docs.transforms.regex_parser].
+Grok is approximately 50% slower than the [`regex_parser` transform][docs.transforms.functions.regex_parser].
We plan to add a [performance test][pages.index#performance] for this in the future.
While this is still plenty fast for most use cases we recommend using the
-[`regex_parser` transform][docs.transforms.regex_parser] if you are experiencing
+[`regex_parser` transform][docs.transforms.functions.regex_parser] if you are experiencing
performance issues.
diff --git a/website/docs/reference/transforms/json_parser.md b/website/docs/reference/transforms/functions/json_parser.md
similarity index 99%
rename from website/docs/reference/transforms/json_parser.md
rename to website/docs/reference/transforms/functions/json_parser.md
index 5a29a9752677e..96a8f04f74b30 100644
--- a/website/docs/reference/transforms/json_parser.md
+++ b/website/docs/reference/transforms/functions/json_parser.md
@@ -19,7 +19,7 @@ The Vector `json_parser` transform accepts and [outputs `log` events](#output) a
To make changes please edit the template located at:
- website/docs/reference/transforms/json_parser.md.erb
+ website/docs/reference/transforms/functions/json_parser.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/json_parser.md.erb b/website/docs/reference/transforms/functions/json_parser.md.erb
similarity index 100%
rename from website/docs/reference/transforms/json_parser.md.erb
rename to website/docs/reference/transforms/functions/json_parser.md.erb
diff --git a/website/docs/reference/transforms/log_to_metric.md b/website/docs/reference/transforms/functions/log_to_metric.md
similarity index 99%
rename from website/docs/reference/transforms/log_to_metric.md
rename to website/docs/reference/transforms/functions/log_to_metric.md
index 5c2fd8cc5999a..abf8eb87f2aa5 100644
--- a/website/docs/reference/transforms/log_to_metric.md
+++ b/website/docs/reference/transforms/functions/log_to_metric.md
@@ -19,7 +19,7 @@ The Vector `log_to_metric` transform accepts [`log`][docs.data-model.log] events
To make changes please edit the template located at:
- website/docs/reference/transforms/log_to_metric.md.erb
+ website/docs/reference/transforms/functions/log_to_metric.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/log_to_metric.md.erb b/website/docs/reference/transforms/functions/log_to_metric.md.erb
similarity index 100%
rename from website/docs/reference/transforms/log_to_metric.md.erb
rename to website/docs/reference/transforms/functions/log_to_metric.md.erb
diff --git a/website/docs/reference/transforms/logfmt_parser.md b/website/docs/reference/transforms/functions/logfmt_parser.md
similarity index 98%
rename from website/docs/reference/transforms/logfmt_parser.md
rename to website/docs/reference/transforms/functions/logfmt_parser.md
index 79b66eb16da31..7a59644fb67fd 100644
--- a/website/docs/reference/transforms/logfmt_parser.md
+++ b/website/docs/reference/transforms/functions/logfmt_parser.md
@@ -19,7 +19,7 @@ The Vector `logfmt_parser` transform accepts and outputs [`log`][docs.data-model
To make changes please edit the template located at:
- website/docs/reference/transforms/logfmt_parser.md.erb
+ website/docs/reference/transforms/functions/logfmt_parser.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/logfmt_parser.md.erb b/website/docs/reference/transforms/functions/logfmt_parser.md.erb
similarity index 100%
rename from website/docs/reference/transforms/logfmt_parser.md.erb
rename to website/docs/reference/transforms/functions/logfmt_parser.md.erb
diff --git a/website/docs/reference/transforms/merge.md b/website/docs/reference/transforms/functions/merge.md
similarity index 99%
rename from website/docs/reference/transforms/merge.md
rename to website/docs/reference/transforms/functions/merge.md
index 8e93f6f7a0a54..9cff10b41122e 100644
--- a/website/docs/reference/transforms/merge.md
+++ b/website/docs/reference/transforms/functions/merge.md
@@ -19,7 +19,7 @@ The Vector [`merge`](#merge) transform accepts and [outputs `log` events](#outpu
To make changes please edit the template located at:
- website/docs/reference/transforms/merge.md.erb
+ website/docs/reference/transforms/functions/merge.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/merge.md.erb b/website/docs/reference/transforms/functions/merge.md.erb
similarity index 100%
rename from website/docs/reference/transforms/merge.md.erb
rename to website/docs/reference/transforms/functions/merge.md.erb
diff --git a/website/docs/reference/transforms/regex_parser.md b/website/docs/reference/transforms/functions/regex_parser.md
similarity index 99%
rename from website/docs/reference/transforms/regex_parser.md
rename to website/docs/reference/transforms/functions/regex_parser.md
index eb0b4b820e6d6..f28d0d22aa8b9 100644
--- a/website/docs/reference/transforms/regex_parser.md
+++ b/website/docs/reference/transforms/functions/regex_parser.md
@@ -19,7 +19,7 @@ The Vector `regex_parser` transform accepts and outputs [`log`][docs.data-model.
To make changes please edit the template located at:
- website/docs/reference/transforms/regex_parser.md.erb
+ website/docs/reference/transforms/functions/regex_parser.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/regex_parser.md.erb b/website/docs/reference/transforms/functions/regex_parser.md.erb
similarity index 100%
rename from website/docs/reference/transforms/regex_parser.md.erb
rename to website/docs/reference/transforms/functions/regex_parser.md.erb
diff --git a/website/docs/reference/transforms/remove_fields.md b/website/docs/reference/transforms/functions/remove_fields.md
similarity index 97%
rename from website/docs/reference/transforms/remove_fields.md
rename to website/docs/reference/transforms/functions/remove_fields.md
index a39caa453f9eb..a59aec45c0543 100644
--- a/website/docs/reference/transforms/remove_fields.md
+++ b/website/docs/reference/transforms/functions/remove_fields.md
@@ -19,7 +19,7 @@ The Vector `remove_fields` transform accepts and outputs [`log`][docs.data-model
To make changes please edit the template located at:
- website/docs/reference/transforms/remove_fields.md.erb
+ website/docs/reference/transforms/functions/remove_fields.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/remove_fields.md.erb b/website/docs/reference/transforms/functions/remove_fields.md.erb
similarity index 100%
rename from website/docs/reference/transforms/remove_fields.md.erb
rename to website/docs/reference/transforms/functions/remove_fields.md.erb
diff --git a/website/docs/reference/transforms/remove_tags.md b/website/docs/reference/transforms/functions/remove_tags.md
similarity index 96%
rename from website/docs/reference/transforms/remove_tags.md
rename to website/docs/reference/transforms/functions/remove_tags.md
index 275863f97252b..3fc0c7b496263 100644
--- a/website/docs/reference/transforms/remove_tags.md
+++ b/website/docs/reference/transforms/functions/remove_tags.md
@@ -19,7 +19,7 @@ The Vector `remove_tags` transform accepts and outputs [`metric`][docs.data-mode
To make changes please edit the template located at:
- website/docs/reference/transforms/remove_tags.md.erb
+ website/docs/reference/transforms/functions/remove_tags.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/remove_tags.md.erb b/website/docs/reference/transforms/functions/remove_tags.md.erb
similarity index 100%
rename from website/docs/reference/transforms/remove_tags.md.erb
rename to website/docs/reference/transforms/functions/remove_tags.md.erb
diff --git a/website/docs/reference/transforms/rename_fields.md b/website/docs/reference/transforms/functions/rename_fields.md
similarity index 98%
rename from website/docs/reference/transforms/rename_fields.md
rename to website/docs/reference/transforms/functions/rename_fields.md
index 695322dabe7e3..5b9911975e527 100644
--- a/website/docs/reference/transforms/rename_fields.md
+++ b/website/docs/reference/transforms/functions/rename_fields.md
@@ -19,7 +19,7 @@ The Vector `rename_fields` transform accepts and [outputs `log` events](#output)
To make changes please edit the template located at:
- website/docs/reference/transforms/rename_fields.md.erb
+ website/docs/reference/transforms/functions/rename_fields.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/rename_fields.md.erb b/website/docs/reference/transforms/functions/rename_fields.md.erb
similarity index 100%
rename from website/docs/reference/transforms/rename_fields.md.erb
rename to website/docs/reference/transforms/functions/rename_fields.md.erb
diff --git a/website/docs/reference/transforms/sampler.md b/website/docs/reference/transforms/functions/sampler.md
similarity index 97%
rename from website/docs/reference/transforms/sampler.md
rename to website/docs/reference/transforms/functions/sampler.md
index 5fc351fab6998..9effb7f7ab940 100644
--- a/website/docs/reference/transforms/sampler.md
+++ b/website/docs/reference/transforms/functions/sampler.md
@@ -19,7 +19,7 @@ The Vector `sampler` transform accepts and outputs [`log`][docs.data-model.log]
To make changes please edit the template located at:
- website/docs/reference/transforms/sampler.md.erb
+ website/docs/reference/transforms/functions/sampler.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/sampler.md.erb b/website/docs/reference/transforms/functions/sampler.md.erb
similarity index 100%
rename from website/docs/reference/transforms/sampler.md.erb
rename to website/docs/reference/transforms/functions/sampler.md.erb
diff --git a/website/docs/reference/transforms/split.md b/website/docs/reference/transforms/functions/split.md
similarity index 99%
rename from website/docs/reference/transforms/split.md
rename to website/docs/reference/transforms/functions/split.md
index 295e82743c91c..e82d8ef9a7f32 100644
--- a/website/docs/reference/transforms/split.md
+++ b/website/docs/reference/transforms/functions/split.md
@@ -19,7 +19,7 @@ The Vector `split` transform accepts and [outputs `log` events](#output) allowin
To make changes please edit the template located at:
- website/docs/reference/transforms/split.md.erb
+ website/docs/reference/transforms/functions/split.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/split.md.erb b/website/docs/reference/transforms/functions/split.md.erb
similarity index 100%
rename from website/docs/reference/transforms/split.md.erb
rename to website/docs/reference/transforms/functions/split.md.erb
diff --git a/website/docs/reference/transforms/swimlanes.md b/website/docs/reference/transforms/functions/swimlanes.md
similarity index 99%
rename from website/docs/reference/transforms/swimlanes.md
rename to website/docs/reference/transforms/functions/swimlanes.md
index e3e9edd242336..3bfe601f5da04 100644
--- a/website/docs/reference/transforms/swimlanes.md
+++ b/website/docs/reference/transforms/functions/swimlanes.md
@@ -19,7 +19,7 @@ The Vector `swimlanes` transform accepts and [outputs `log` events](#output) all
To make changes please edit the template located at:
- website/docs/reference/transforms/swimlanes.md.erb
+ website/docs/reference/transforms/functions/swimlanes.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/swimlanes.md.erb b/website/docs/reference/transforms/functions/swimlanes.md.erb
similarity index 100%
rename from website/docs/reference/transforms/swimlanes.md.erb
rename to website/docs/reference/transforms/functions/swimlanes.md.erb
diff --git a/website/docs/reference/transforms/tokenizer.md b/website/docs/reference/transforms/functions/tokenizer.md
similarity index 99%
rename from website/docs/reference/transforms/tokenizer.md
rename to website/docs/reference/transforms/functions/tokenizer.md
index bf0fe07dc59c4..c0a4c4a989f17 100644
--- a/website/docs/reference/transforms/tokenizer.md
+++ b/website/docs/reference/transforms/functions/tokenizer.md
@@ -19,7 +19,7 @@ The Vector `tokenizer` transform accepts and outputs [`log`][docs.data-model.log
To make changes please edit the template located at:
- website/docs/reference/transforms/tokenizer.md.erb
+ website/docs/reference/transforms/functions/tokenizer.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/tokenizer.md.erb b/website/docs/reference/transforms/functions/tokenizer.md.erb
similarity index 100%
rename from website/docs/reference/transforms/tokenizer.md.erb
rename to website/docs/reference/transforms/functions/tokenizer.md.erb
diff --git a/website/docs/reference/transforms/lua.md b/website/docs/reference/transforms/runtimes/lua.md
similarity index 99%
rename from website/docs/reference/transforms/lua.md
rename to website/docs/reference/transforms/runtimes/lua.md
index d3e58433bb6b1..784ac94799a4d 100644
--- a/website/docs/reference/transforms/lua.md
+++ b/website/docs/reference/transforms/runtimes/lua.md
@@ -19,7 +19,7 @@ The Vector `lua` transform accepts and outputs [`log`][docs.data-model.log] even
To make changes please edit the template located at:
- website/docs/reference/transforms/lua.md.erb
+ website/docs/reference/transforms/runtimes/lua.md.erb
-->
## Configuration
diff --git a/website/docs/reference/transforms/lua.md.erb b/website/docs/reference/transforms/runtimes/lua.md.erb
similarity index 100%
rename from website/docs/reference/transforms/lua.md.erb
rename to website/docs/reference/transforms/runtimes/lua.md.erb
diff --git a/website/docs/setup/guides/getting-started.md b/website/docs/setup/guides/getting-started.md
index 7ff772119ecd8..8e611949465de 100644
--- a/website/docs/setup/guides/getting-started.md
+++ b/website/docs/setup/guides/getting-started.md
@@ -78,7 +78,7 @@ different?
Vector makes it easy to mutate events into a more (or less) structured format
with [transforms][docs.transforms]. Let's parse our logs into a structured
format by capturing named regular expression groups with a
-[`regex_parser` transform][docs.transforms.regex_parser].
+[`regex_parser` transform][docs.transforms.functions.regex_parser].
A config can have any number of transforms and it's entirely up to you how they
are chained together. Similar to sinks, a transform requires you to specify
@@ -307,5 +307,5 @@ misfits trying to recruit you as their hacker.
[docs.reference.global-options#log_schema]: /docs/reference/global-options/#log_schema
[docs.sinks.elasticsearch]: /docs/reference/sinks/elasticsearch/
[docs.sources.socket]: /docs/reference/sources/socket/
-[docs.transforms.regex_parser]: /docs/reference/transforms/regex_parser/
+[docs.transforms.functions.regex_parser]: /docs/reference/transforms/functions/regex_parser/
[docs.transforms]: /docs/reference/transforms/
diff --git a/website/docs/setup/installation/manual/from-source.md b/website/docs/setup/installation/manual/from-source.md
index 3c517dbe79dc1..a6fc101f98e64 100644
--- a/website/docs/setup/installation/manual/from-source.md
+++ b/website/docs/setup/installation/manual/from-source.md
@@ -387,28 +387,28 @@ to do it, it instead of `default` features one has to pass a comma-separated lis
| `sources-stdin` | Enables building of [`stdin` source][docs.sources.stdin]. |
| `sources-syslog` | Enables building of [`syslog` source][docs.sources.syslog]. |
| `sources-vector` | Enables building of [`vector` source][docs.sources.vector]. |
-| `transforms-add_fields` | Enables building of [`add_fields` transform][docs.transforms.add_fields]. |
-| `transforms-add_tags` | Enables building of [`add_tags` transform][docs.transforms.add_tags]. |
-| `transforms-ansi_stripper` | Enables building of [`ansi_stripper` transform][docs.transforms.ansi_stripper]. |
-| `transforms-aws_ec2_metadata` | Enables building of [`aws_ec2_metadata` transform][docs.transforms.aws_ec2_metadata]. |
-| `transforms-coercer` | Enables building of [`coercer` transform][docs.transforms.coercer]. |
-| `transforms-concat` | Enables building of [`concat` transform][docs.transforms.concat]. |
-| `transforms-field_filter` | Enables building of [`field_filter` transform][docs.transforms.field_filter]. |
-| `transforms-geoip` | Enables building of [`geoip` transform][docs.transforms.geoip]. |
-| `transforms-grok_parser` | Enables building of [`grok_parser` transform][docs.transforms.grok_parser]. |
-| `transforms-json_parser` | Enables building of [`json_parser` transform][docs.transforms.json_parser]. |
-| `transforms-log_to_metric` | Enables building of [`log_to_metric` transform][docs.transforms.log_to_metric]. |
-| `transforms-logfmt_parser` | Enables building of [`logfmt_parser` transform][docs.transforms.logfmt_parser]. |
-| `transforms-lua` | Enables building of [`lua` transform][docs.transforms.lua]. |
-| `transforms-merge` | Enables building of [`merge` transform][docs.transforms.merge]. |
-| `transforms-regex_parser` | Enables building of [`regex_parser` transform][docs.transforms.regex_parser]. |
-| `transforms-remove_fields` | Enables building of [`remove_fields` transform][docs.transforms.remove_fields]. |
-| `transforms-remove_tags` | Enables building of [`remove_tags` transform][docs.transforms.remove_tags]. |
-| `transforms-rename_fields` | Enables building of [`rename_fields` transform][docs.transforms.rename_fields]. |
-| `transforms-sampler` | Enables building of [`sampler` transform][docs.transforms.sampler]. |
-| `transforms-split` | Enables building of [`split` transform][docs.transforms.split]. |
-| `transforms-swimlanes` | Enables building of [`swimlanes` transform][docs.transforms.swimlanes]. |
-| `transforms-tokenizer` | Enables building of [`tokenizer` transform][docs.transforms.tokenizer]. |
+| `transforms-add_fields` | Enables building of [`add_fields` transform][docs.transforms.functions.add_fields]. |
+| `transforms-add_tags` | Enables building of [`add_tags` transform][docs.transforms.functions.add_tags]. |
+| `transforms-ansi_stripper` | Enables building of [`ansi_stripper` transform][docs.transforms.functions.ansi_stripper]. |
+| `transforms-aws_ec2_metadata` | Enables building of [`aws_ec2_metadata` transform][docs.transforms.functions.aws_ec2_metadata]. |
+| `transforms-coercer` | Enables building of [`coercer` transform][docs.transforms.functions.coercer]. |
+| `transforms-concat` | Enables building of [`concat` transform][docs.transforms.functions.concat]. |
+| `transforms-field_filter` | Enables building of [`field_filter` transform][docs.transforms.functions.field_filter]. |
+| `transforms-geoip` | Enables building of [`geoip` transform][docs.transforms.functions.geoip]. |
+| `transforms-grok_parser` | Enables building of [`grok_parser` transform][docs.transforms.functions.grok_parser]. |
+| `transforms-json_parser` | Enables building of [`json_parser` transform][docs.transforms.functions.json_parser]. |
+| `transforms-log_to_metric` | Enables building of [`log_to_metric` transform][docs.transforms.functions.log_to_metric]. |
+| `transforms-logfmt_parser` | Enables building of [`logfmt_parser` transform][docs.transforms.functions.logfmt_parser]. |
+| `transforms-lua` | Enables building of [`lua` transform][docs.transforms.runtimes.lua]. |
+| `transforms-merge` | Enables building of [`merge` transform][docs.transforms.functions.merge]. |
+| `transforms-regex_parser` | Enables building of [`regex_parser` transform][docs.transforms.functions.regex_parser]. |
+| `transforms-remove_fields` | Enables building of [`remove_fields` transform][docs.transforms.functions.remove_fields]. |
+| `transforms-remove_tags` | Enables building of [`remove_tags` transform][docs.transforms.functions.remove_tags]. |
+| `transforms-rename_fields` | Enables building of [`rename_fields` transform][docs.transforms.functions.rename_fields]. |
+| `transforms-sampler` | Enables building of [`sampler` transform][docs.transforms.functions.sampler]. |
+| `transforms-split` | Enables building of [`split` transform][docs.transforms.functions.split]. |
+| `transforms-swimlanes` | Enables building of [`swimlanes` transform][docs.transforms.functions.swimlanes]. |
+| `transforms-tokenizer` | Enables building of [`tokenizer` transform][docs.transforms.functions.tokenizer]. |
| `sinks-aws_cloudwatch_logs` | Enables building of [`aws_cloudwatch_logs` sink][docs.sinks.aws_cloudwatch_logs]. |
| `sinks-aws_cloudwatch_metrics` | Enables building of [`aws_cloudwatch_metrics` sink][docs.sinks.aws_cloudwatch_metrics]. |
| `sinks-aws_kinesis_firehose` | Enables building of [`aws_kinesis_firehose` sink][docs.sinks.aws_kinesis_firehose]. |
@@ -487,28 +487,28 @@ to do it, it instead of `default` features one has to pass a comma-separated lis
[docs.sources.stdin]: /docs/reference/sources/stdin/
[docs.sources.syslog]: /docs/reference/sources/syslog/
[docs.sources.vector]: /docs/reference/sources/vector/
-[docs.transforms.add_fields]: /docs/reference/transforms/add_fields/
-[docs.transforms.add_tags]: /docs/reference/transforms/add_tags/
-[docs.transforms.ansi_stripper]: /docs/reference/transforms/ansi_stripper/
-[docs.transforms.aws_ec2_metadata]: /docs/reference/transforms/aws_ec2_metadata/
-[docs.transforms.coercer]: /docs/reference/transforms/coercer/
-[docs.transforms.concat]: /docs/reference/transforms/concat/
-[docs.transforms.field_filter]: /docs/reference/transforms/field_filter/
-[docs.transforms.geoip]: /docs/reference/transforms/geoip/
-[docs.transforms.grok_parser]: /docs/reference/transforms/grok_parser/
-[docs.transforms.json_parser]: /docs/reference/transforms/json_parser/
-[docs.transforms.log_to_metric]: /docs/reference/transforms/log_to_metric/
-[docs.transforms.logfmt_parser]: /docs/reference/transforms/logfmt_parser/
-[docs.transforms.lua]: /docs/reference/transforms/lua/
-[docs.transforms.merge]: /docs/reference/transforms/merge/
-[docs.transforms.regex_parser]: /docs/reference/transforms/regex_parser/
-[docs.transforms.remove_fields]: /docs/reference/transforms/remove_fields/
-[docs.transforms.remove_tags]: /docs/reference/transforms/remove_tags/
-[docs.transforms.rename_fields]: /docs/reference/transforms/rename_fields/
-[docs.transforms.sampler]: /docs/reference/transforms/sampler/
-[docs.transforms.split]: /docs/reference/transforms/split/
-[docs.transforms.swimlanes]: /docs/reference/transforms/swimlanes/
-[docs.transforms.tokenizer]: /docs/reference/transforms/tokenizer/
+[docs.transforms.functions.add_fields]: /docs/reference/transforms/functions/add_fields/
+[docs.transforms.functions.add_tags]: /docs/reference/transforms/functions/add_tags/
+[docs.transforms.functions.ansi_stripper]: /docs/reference/transforms/functions/ansi_stripper/
+[docs.transforms.functions.aws_ec2_metadata]: /docs/reference/transforms/functions/aws_ec2_metadata/
+[docs.transforms.functions.coercer]: /docs/reference/transforms/functions/coercer/
+[docs.transforms.functions.concat]: /docs/reference/transforms/functions/concat/
+[docs.transforms.functions.field_filter]: /docs/reference/transforms/functions/field_filter/
+[docs.transforms.functions.geoip]: /docs/reference/transforms/functions/geoip/
+[docs.transforms.functions.grok_parser]: /docs/reference/transforms/functions/grok_parser/
+[docs.transforms.functions.json_parser]: /docs/reference/transforms/functions/json_parser/
+[docs.transforms.functions.log_to_metric]: /docs/reference/transforms/functions/log_to_metric/
+[docs.transforms.functions.logfmt_parser]: /docs/reference/transforms/functions/logfmt_parser/
+[docs.transforms.functions.merge]: /docs/reference/transforms/functions/merge/
+[docs.transforms.functions.regex_parser]: /docs/reference/transforms/functions/regex_parser/
+[docs.transforms.functions.remove_fields]: /docs/reference/transforms/functions/remove_fields/
+[docs.transforms.functions.remove_tags]: /docs/reference/transforms/functions/remove_tags/
+[docs.transforms.functions.rename_fields]: /docs/reference/transforms/functions/rename_fields/
+[docs.transforms.functions.sampler]: /docs/reference/transforms/functions/sampler/
+[docs.transforms.functions.split]: /docs/reference/transforms/functions/split/
+[docs.transforms.functions.swimlanes]: /docs/reference/transforms/functions/swimlanes/
+[docs.transforms.functions.tokenizer]: /docs/reference/transforms/functions/tokenizer/
+[docs.transforms.runtimes.lua]: /docs/reference/transforms/runtimes/lua/
[urls.jemalloc]: https://github.com/jemalloc/jemalloc
[urls.leveldb]: https://github.com/google/leveldb
[urls.lib_rdkafka]: https://github.com/edenhill/librdkafka
diff --git a/website/docs/setup/installation/manual/from-source.md.erb b/website/docs/setup/installation/manual/from-source.md.erb
index e526cdfeec37a..9ce88186985be 100644
--- a/website/docs/setup/installation/manual/from-source.md.erb
+++ b/website/docs/setup/installation/manual/from-source.md.erb
@@ -305,7 +305,7 @@ to do it, it instead of `default` features one has to pass a comma-separated lis
| Name | Description |
|:------|:------------|
<% metadata.components.each do |component| -%>
-| `<%= component.type.pluralize %>-<%= component.name %>` | Enables building of [`<%= component.name %>` <%= component.type %>][docs.<%= component.type.pluralize %>.<%= component.name %>]. <%
+| `<%= component.type.pluralize %>-<%= component.name %>` | Enables building of [`<%= component.name %>` <%= component.type %>][<%= component_short_link(component) %>]. <%
if component.name == "kafka" then
-%> Requires `rdkafka-plain` or `rdkafka-cmake` feature to be also enabled. <%
elsif component.name == "docker" then
diff --git a/website/netlify.toml b/website/netlify.toml
index bfdff758c2990..239a41e01de0c 100644
--- a/website/netlify.toml
+++ b/website/netlify.toml
@@ -98,8 +98,20 @@
status = 301
force = true
- [[redirects]]
+[[redirects]]
from = "/releases/"
to = "/releases/latest/download/"
status = 302
force = true
+
+[[redirects]]
+ from = "/docs/reference/transforms/lua/"
+ to = "/docs/reference/transforms/runtimes/lua/"
+ status = 301
+ force = true
+
+[[redirects]]
+ from = "/docs/reference/transforms/*/"
+ to = "/docs/reference/transforms/functions/:splat"
+ status = 301
+ force = true
diff --git a/website/sidebars.js b/website/sidebars.js
index 9cee0d1044fb9..4d0a415e65159 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -151,49 +151,49 @@ module.exports = {
items: [
"reference/transforms",
- "reference/transforms/add_fields",
+ "reference/transforms/functions/add_fields",
- "reference/transforms/add_tags",
+ "reference/transforms/functions/add_tags",
- "reference/transforms/ansi_stripper",
+ "reference/transforms/functions/ansi_stripper",
- "reference/transforms/aws_ec2_metadata",
+ "reference/transforms/functions/aws_ec2_metadata",
- "reference/transforms/coercer",
+ "reference/transforms/functions/coercer",
- "reference/transforms/concat",
+ "reference/transforms/functions/concat",
- "reference/transforms/field_filter",
+ "reference/transforms/functions/field_filter",
- "reference/transforms/geoip",
+ "reference/transforms/functions/geoip",
- "reference/transforms/grok_parser",
+ "reference/transforms/functions/grok_parser",
- "reference/transforms/json_parser",
+ "reference/transforms/functions/json_parser",
- "reference/transforms/log_to_metric",
+ "reference/transforms/functions/log_to_metric",
- "reference/transforms/logfmt_parser",
+ "reference/transforms/functions/logfmt_parser",
- "reference/transforms/lua",
+ "reference/transforms/runtimes/lua",
- "reference/transforms/merge",
+ "reference/transforms/functions/merge",
- "reference/transforms/regex_parser",
+ "reference/transforms/functions/regex_parser",
- "reference/transforms/remove_fields",
+ "reference/transforms/functions/remove_fields",
- "reference/transforms/remove_tags",
+ "reference/transforms/functions/remove_tags",
- "reference/transforms/rename_fields",
+ "reference/transforms/functions/rename_fields",
- "reference/transforms/sampler",
+ "reference/transforms/functions/sampler",
- "reference/transforms/split",
+ "reference/transforms/functions/split",
- "reference/transforms/swimlanes",
+ "reference/transforms/functions/swimlanes",
- "reference/transforms/tokenizer",
+ "reference/transforms/functions/tokenizer",
]
},
diff --git a/website/sidebars.js.erb b/website/sidebars.js.erb
index adacaf0b115c3..b2e7eb76982c6 100644
--- a/website/sidebars.js.erb
+++ b/website/sidebars.js.erb
@@ -121,7 +121,7 @@ module.exports = {
items: [
<%= metadata.links.fetch_id("docs.transforms").to_json %>,
<% metadata.transforms_list.each do |t| %>
- <%= metadata.links.fetch_id("docs.transforms.#{t.name}").to_json %>,
+ <%= metadata.links.fetch_id("docs.transforms.#{t.sub_type.to_s.pluralize}.#{t.name}").to_json %>,
<% end %>
]
},