Skip to content

[helm] Add State Persistence Parameter for Agent Presets in Helm Chart #6026

@pkoutsovasilis

Description

@pkoutsovasilis

Describe the enhancement:
Introduce a statePersistence parameter for each agent preset in the Helm chart, with default configurations based on the preset mode. Managing agent state in conjunction with the agent deployment mode can be complex and non-intuitive for users. Therefore, the Helm chart should simplify this process by providing sensible defaults while allowing flexibility for custom configurations. The statePersistence parameter accepts the following values:

  • HostPath: Suitable for agents running integrations that require data persistence. This will be the default for the daemonset mode of the agent preset if the parameter is not set.
  • EmptyDir: Suitable for agents running integrations that do not require data persistence. This will be the default for statefulset and deployment modes of the agent preset if the parameter is not set.
  • None: Disables automated state persistence, allowing users to configure custom volumes.

Users can override the defaults by setting statePersistence to None and using the existing extraVolumes and extraVolumeMounts parameters to define custom volume configurations.

Describe a specific use case for the enhancement or feature:
This feature provides a seamless way to handle agent state persistence. For example, DaemonSet agents can use HostPath for persistent data, while StatefulSet and Deployment agents use EmptyDir for ephemeral storage. By automating state management based on deployment mode, the Helm chart makes it easier for users to deploy agents without worrying about intricate volume configurations. Advanced users can disable the default behavior and configure custom volumes as needed.

What is the definition of done?

  • The Helm chart introduces a statePersistence enum parameter with values: HostPath, EmptyDir, and None.
  • Safe defaults: HostPath for DaemonSet, EmptyDir for StatefulSet and Deployment.
  • Users can specify None to disable defaults and define custom volumes with extraVolumes and extraVolumeMounts.
  • Documentation is updated to explain the statePersistence parameter, defaults, and customization options.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions