-
Notifications
You must be signed in to change notification settings - Fork 179
Move the “Providers" docs out of the standalone Elastic Agent docs #3919
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
base: main
Are you sure you want to change the base?
Changes from 2 commits
ab09846
f3c495e
2487410
a1a3d0e
3e77779
93df482
afbfe8f
016e30e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,25 +1,42 @@ | ||
| --- | ||
| navigation_title: Providers | ||
| navigation_title: Agent providers | ||
| mapped_pages: | ||
| - https://www.elastic.co/guide/en/fleet/current/providers.html | ||
| applies_to: | ||
| stack: ga | ||
| products: | ||
| - id: fleet | ||
| - id: elastic-agent | ||
| --- | ||
|
|
||
| # Configure providers for standalone {{agent}}s [providers] | ||
| # {{agent}} providers [providers] | ||
|
|
||
|
|
||
| Providers supply the key-value pairs that are used for variable substitution and conditionals. Each provider’s keys are automatically prefixed with the name of the provider in the context of the {{agent}}. | ||
| Providers supply the key-value pairs that are used for variable substitution and conditionals. Each provider's keys are automatically prefixed with the name of the provider in the context of the {{agent}}. | ||
|
|
||
| For example, a provider named `foo` provides `{"key1": "value1", "key2": "value2"}`, the key-value pairs are placed in `{"foo" : {"key1": "value1", "key2": "value2"}}`. To reference the keys, use `{{foo.key1}}` and `{{foo.key2}}`. | ||
| For example, if a provider named `foo` provides `{"key1": "value1", "key2": "value2"}`, the key-value pairs are placed in `{"foo" : {"key1": "value1", "key2": "value2"}}`. To reference the keys, use the variables `${foo.key1}` and `${foo.key2}`. | ||
|
|
||
vishaangelova marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## Provider configuration [_provider_configuration] | ||
| ## Provider usage by deployment model [provider_usage_by_deployment_model] | ||
|
|
||
| The provider configuration is specified under the top-level `providers` key in the `elastic-agent.yml` configuration. All registered providers are enabled by default. If a provider cannot connect, no mappings are produced. | ||
| How you use providers depends on whether you're running a standalone or a {{fleet}}-managed {{agent}}. | ||
|
|
||
| The following example shows two providers (`local` and `local_dynamic`) that supply custom keys: | ||
| ### Standalone {{agent}} | ||
|
|
||
| On standalone {{agent}}, providers can be configured through the `providers` key in the `elastic-agent.yml` configuration file. You can enable, disable, and configure provider settings as needed. For more details, refer to [Provider configuration](#provider_configuration). | ||
blakerouse marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ### {{fleet}}-managed {{agent}} | ||
|
||
|
|
||
| On {{fleet}}-managed {{agent}}, you can use provider variables in integration policy settings (for example, `${host.name}`, `${env.foo}`, `${agent.id}`), but you cannot add a `providers` configuration block directly through the {{fleet}} UI. | ||
|
|
||
| Some providers can be configured on {{k8s}} deployments using ConfigMaps. For more details, refer to [Advanced {{agent}} configuration managed by {{fleet}}](/reference/fleet/advanced-kubernetes-managed-by-fleet.md). | ||
|
|
||
|
|
||
| ## Provider configuration [provider_configuration] | ||
|
|
||
| On standalone {{agent}}, provider configuration is specified under the top-level `providers` key in the `elastic-agent.yml` configuration. All registered providers are enabled by default. If a provider cannot connect, no mappings are produced. | ||
blakerouse marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| The following example shows two providers (`local` and `local_dynamic`) that supply custom keys on a standalone {{agent}}: | ||
|
|
||
| ```yaml | ||
| providers: | ||
|
|
@@ -38,6 +55,8 @@ providers: | |
|
|
||
| Providers are enabled automatically if a provider is referenced in an {{agent}} policy. All providers are prefixed without name collisions. The name of the provider is in the key in the configuration. | ||
|
|
||
| For example, to disable the Docker provider in a standalone {{agent}}: | ||
|
|
||
| ```yaml | ||
| providers: | ||
| docker: | ||
|
|
@@ -53,16 +72,16 @@ Context providers give the current context of the running {{agent}}, for example | |
|
|
||
| They can only provide a single key-value mapping. Think of them as singletons; an update of a key-value mapping results in a re-evaluation of the entire configuration. These providers are normally very static, but not required. A value can change which results in re-evaluation. | ||
|
|
||
| Context providers use the Elastic Common Schema (ECS) naming to ensure consistency and understanding throughout documentation and projects. | ||
| Context providers use the {{product.ecs}} naming to ensure consistency and understanding throughout documentation and projects. | ||
|
|
||
| {{agent}} supports the following context providers: | ||
|
|
||
| * [Local](/reference/fleet/local-provider.md) | ||
| * [Agent Provider](/reference/fleet/agent-provider.md) | ||
| * [Host Provider](/reference/fleet/host-provider.md) | ||
| * [Env Provider](/reference/fleet/env-provider.md) | ||
| * [Kubernetes Secrets Provider](/reference/fleet/kubernetes_secrets-provider.md) | ||
| * [Kubernetes Leader Election Provider](/reference/fleet/kubernetes_leaderelection-provider.md) | ||
| * [Local provider](/reference/fleet/local-provider.md) | ||
| * [Agent provider](/reference/fleet/agent-provider.md) | ||
| * [Host provider](/reference/fleet/host-provider.md) | ||
| * [Env provider](/reference/fleet/env-provider.md) | ||
| * [Kubernetes Secrets provider](/reference/fleet/kubernetes_secrets-provider.md) | ||
| * [Kubernetes LeaderElection provider](/reference/fleet/kubernetes_leaderelection-provider.md) | ||
vishaangelova marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
| ### Dynamic Providers [dynamic-providers] | ||
|
|
@@ -71,16 +90,16 @@ Dynamic providers give an array of multiple key-value mappings. Each key-value m | |
|
|
||
| {{agent}} supports the following context providers: | ||
|
|
||
| * [Local Dynamic Provider](/reference/fleet/local-dynamic-provider.md) | ||
| * [Docker Provider](/reference/fleet/docker-provider.md) | ||
| * [Kubernetes Provider](/reference/fleet/kubernetes-provider.md) | ||
| * [Local dynamic provider](/reference/fleet/local-dynamic-provider.md) | ||
| * [Docker provider](/reference/fleet/docker-provider.md) | ||
| * [Kubernetes provider](/reference/fleet/kubernetes-provider.md) | ||
|
|
||
|
|
||
| ### Disabling Providers By Default [disable-providers-by-default] | ||
|
|
||
| All registered providers are disabled by default until they are referenced in a policy. | ||
blakerouse marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| You can disable all providers even if they are referenced in a policy by setting `agent.providers.initial_default: false`. | ||
| On standalone {{agent}}, you can disable all providers even if they are referenced in a policy by setting `agent.providers.initial_default: false`. | ||
|
|
||
| The following configuration disables all providers from running except for the docker provider, if it becomes referenced in the policy: | ||
|
|
||
|
|
@@ -90,13 +109,3 @@ providers: | |
| docker: | ||
| enabled: true | ||
| ``` | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.