# Multiple YAML Files (Modular Configs)

**URL:** <https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399>\
**Category:** Beats\
**Tags:** filebeat\
**Created:** [March 26, 2025, 2:50am UTC](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399 "2025-03-26T02:50:28Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [March 26, 2025, 4:44am UTC](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399/2 "2025-03-26T04:44:15Z")

</div>

> [@Thirupathi](#):
>
> /etc/filebeat/  
> ├── filebeat.yml # Main configuration file  
> ├── inputs.yml # Input-specific settings  
> ├── processors.yml # Processor-specific settings  
> ├── outputs.yml # Output settings  
> └── logging.yml # Logging-specific settings

This is not possible, it is not supported, you need to use `filebeat.yml` for those configurations, except the inputs.

For the inputs you can load its configuration from external config files as described [in the documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-configuration-reloading.html).

I have something like this.

The `filebeat.yml` would look like this:

```auto
name: "node-name"

filebeat.config.inputs:
  enabled: true
  path: "/etc/filebeat/inputs/*.yml"

setup.ilm.enabled: false
ilm.enabled: false
setup.template.enabled: false

queue.mem:
  events: 8000
  flush.min_events: 500
  flush.timeout: 1s

output.kafka:
  output configuration

```

Then in the `/etc/filebeat/inputs/` path I would put multiple `yml` files with the inputs I want, something like this:

```auto
- type: filestream
  paths:
    - /path/to/file/*.json

```

---

_[View the full topic](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399)._
