Skip to content

Add support for windows containers #10526

@amd989

Description

@amd989

Describe the enhancement:

Currently, Elastic Agent only supports Linux containers. All existing Docker documentation and Kubernetes manifests assume Linux-based deployments. This enhancement requests adding Windows container support as a new deployment option for Windows Server hosts.

Since Elastic Agent already supports Windows as a platform, extending support to Windows containers should primarily involve adding an additional build target. This would make Elastic Agent a truly universal solution for metrics and log collection across all major operating systems.

Business Value:

  • Enables Elastic Agent deployment in Windows Server environments that rely on containerization
  • Expands platform coverage to include Windows-based Kubernetes clusters and container orchestration platforms
  • Achieves feature parity with Linux container deployments

Describe a specific use case for the enhancement or feature:

Both AWS and Azure support Kubernetes clusters with Windows container workloads. These workloads are often used by organizations running legacy applications that cannot be migrated to Linux due to cost or complexity.

Containerizing these applications on Windows allows them to benefit from modern orchestration patterns such as Kubernetes, Helm charts, and auto-scaling.

However, log and metric collection on Windows nodes is currently not possible because Elastic Agent, when deployed as a DaemonSet, cannot be scheduled on Windows node pools. This limitation exists due to the absence of a Windows-compatible container image.

This enhancement addresses that gap by enabling Elastic Agent to run as a Windows container.

Image Image

What is the definition of done?

  • A Docker image for Elastic Agent is published with Windows targets
  • Deploying this Windows container in AKS/ECS successfully collects logs and metrics, equivalent to existing Linux container functionality

I have completed a first draft of this enhancement, but I will likely need some guidance to see it through, as this is my first time contributing to this repository.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions