Define deployment modes
Some integrations can be deployed on fully managed agents. These integrations are known as "agentless" integrations. Define the deployment mode of an integration with the deployment_modes
property and display/hide variables in different deployment modes with the hide_in_deployment_modes
property.
Policy templates can indicate which deployment modes they support. Use the deployment_modes
property in the policy template schema to define the supported deployment modes. Options are default
and agentless
. A policy template can support both modes.
Example policy template declaration:
format_version: 3.2.0
name: aws
title: AWS
version: 2.13.1
...
policy_templates:
- name: billing
title: AWS Billing
description: Collect billing metrics with Elastic Agent
deployment_modes: 1
default:
enabled: false 2
agentless:
enabled: true 3
data_streams:
- billing
...
- Defines the supported deployment modes
- Disables agent deployment support
- Enables agentless deployment support
Variables can be hidden in certain deployment modes. Use the hide_in_deployment_modes
property to opt variables in or out of being displayed in default or agentless mode. This property works at any manifest level.
Example variable declaration:
streams:
- input: filestream
vars:
- name: paths
type: text
title: Paths
multi: true
required: true
show_user: true
default:
- /var/log/my-package/*.log
- name: agentless_only
type: text
title: Agentless only variable
multi: false
required: false
show_user: true
hide_in_deployment_modes: 1
- default
- name: hidden_in_agentless
type: text
title: Hidden in agentless variable
multi: false
required: false
show_user: true
hide_in_deployment_modes: 2
- agentless
- Disables visibility of the variable in agent deployment mode
- Disables visibility of the variable in agentless deployment mode
For more information on variable property definitions, refer to Define variable properties.
The capabilities feature protects agentless deployments from allowing undesired inputs to run. A static capabilities.yml
file defines these allowed and disallowed inputs and is passed to deployed agents. To determine which capabilities are currently allowed on Agentless, refer to capabilities.yml
.