Skip to content

Commit 016e30e

Browse files
committed
Update description of dynamic and static providers and other small fixes
1 parent afbfe8f commit 016e30e

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

reference/fleet/providers.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ products:
1111

1212
# {{agent}} providers [providers]
1313

14-
Providers supply key-value pairs for variable substitution and conditional logic. In other words, they define dynamic values {{agent}} can use when building configurations.
14+
Providers supply key-value pairs for variable substitution and conditional logic. They define dynamic values that {{agent}} uses when building configurations.
1515

16-
Each provider’s keys are automatically grouped under the provider name within the {{agent}} context. For example, if the `foo` provider supplies `{"key1": "value1", "key2": "value2"}`, {{agent}} stores these key-value pairs as `{"foo": {"key1": "value1", "key2": "value2"}}`.
17-
You can then reference the values using the `${foo.key1}` and `${foo.key2}` variables.
16+
{{agent}} uses two kinds of providers: [context providers](#context-providers) and [dynamic providers](#dynamic-providers). Each provider’s keys are automatically grouped under the provider name in the {{agent}} context. For example, if the `foo` provider supplies `{"key1": "value1", "key2": "value2"}`, {{agent}} stores these key-value pairs as `{"foo": {"key1": "value1", "key2": "value2"}}`. You can then reference the values using the `${foo.key1}` and `${foo.key2}` variables.
1817

1918
How you can configure and use {{agent}} providers depends on whether you're running a standalone or a {{fleet}}-managed {{agent}}. For more information, refer to:
2019

@@ -24,14 +23,12 @@ How you can configure and use {{agent}} providers depends on whether you're runn
2423

2524
## Provider types
2625

27-
{{agent}} supports two types of providers: [context](#context-providers) and [dynamic](#dynamic-providers).
26+
{{agent}} supports two types of providers: [context providers](#context-providers) and [dynamic providers](#dynamic-providers).
2827

2928

3029
### Context providers [context-providers]
3130

32-
Context providers supply the current context of the running {{agent}} such as agent information (ID, version), host information (hostname, IP addresses), and environment information (environment variables).
33-
34-
These providers supply only a single key-value mapping. They are generally static, although this is not required. If the key's value changes, the entire configuration is re-evaluated.
31+
Context providers supply a single key-value mapping that describes the current environment where {{agent}} is running, such as agent information (ID, version), host information (hostname, IP addresses), and environment information (environment variables). When the underlying context changes, {{agent}} updates this mapping and re-evaluates the configuration.
3532

3633
To ensure consistency and clarity across documentation and projects, context providers use the {{product.ecs}} naming conventions.
3734

@@ -47,7 +44,7 @@ To ensure consistency and clarity across documentation and projects, context pro
4744

4845
### Dynamic providers [dynamic-providers]
4946

50-
Dynamic providers supply an array of multiple key-value mappings. Each key-value mapping is combined with the previous context provider’s key and value mapping which provides a new unique mapping that is used to generate a configuration.
47+
Dynamic providers supply multiple key-value mappings where each mapping represents a separate item or resource (such as a container or pod). When rendering configurations, {{agent}} combines each mapping with the values from context providers, and for every mapping that matches a configuration template or condition, it creates a separate configuration instance and substitutes any dynamic variables (for example, `${docker.container.id}` or `${kubernetes.pod.ip}`) with values from that mapping. This allows {{agent}} to automatically add, update, or remove inputs as your environment changes.
5148

5249
{{agent}} supports the following dynamic providers:
5350

@@ -58,7 +55,7 @@ Dynamic providers supply an array of multiple key-value mappings. Each key-value
5855

5956
## Configure providers on standalone {{agent}} [configure-providers-standalone-agent]
6057

61-
On standalone {{agent}}, providers can be configured through the top-level `providers` key in the `elastic-agent.yml` configuration file. By default, all providers are enabled, but {{agent}} runs them only if they are referenced in the configuration file or in an {{agent}} policy. Disabled providers are not run even if they are referenced. If a provider cannot connect, no mappings are produced.
58+
On standalone {{agent}}, providers can be configured through the top-level `providers` key in the `elastic-agent.yml` configuration file. All registered providers are enabled by default, but {{agent}} runs them only if they are referenced in the configuration file or in an {{agent}} policy. Disabled providers are not run even if they are referenced. If a provider cannot connect, no mappings are produced.
6259

6360
You can enable, disable, and configure provider settings as needed. All providers are prefixed without name collisions. In the configuration, the name of the provider is in the key.
6461

0 commit comments

Comments
 (0)