PHPackages                             hellopablo/esconfig - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hellopablo/esconfig

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

hellopablo/esconfig
===================

A simple tool for managing simple Elasticsearch instances.

2.3.1(5y ago)02.1kMITPHP

Since Apr 4Pushed 5y ago1 watchersCompare

[ Source](https://github.com/hellopablo/esconfig)[ Packagist](https://packagist.org/packages/hellopablo/esconfig)[ RSS](/packages/hellopablo-esconfig/feed)WikiDiscussions develop Synced 3d ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

ESConfig
========

[](#esconfig)

A simple tool for managing simple Elasticsearch instances. The tool looks for a file named `.esconfig.json` and uses the definitions in that to create indexes and their mappings. It is also capable of running a warmup script to populate these indexes if needed.

Installation
------------

[](#installation)

Install manually by cloning and ensuring the `dist/esconfig.phar` binary is in your `$PATH`; or use [Homebrew](http://brew.sh):

```
brew tap hellopablo/utilities
brew install hellopablo/utilities/esconfig

```

Commands
--------

[](#commands)

### `help`

[](#help)

Renders a help view

### `nuke`

[](#nuke)

Completely erases the cluster, good for starting over. Use with caution, obviously.

### `reset`

[](#reset)

Deletes the indexes described in `.esconfig.json` and recreates them and their mappings, but with no data

### `warm`

[](#warm)

Calls the warmup command described in `.esconfig.json`.

Environment
-----------

[](#environment)

You can define which environment is being used using any of the following methods (in order of specifity):

- As the second parameter, e.g. `esconfig warm production`
- Using a file located at the project root called `esconfig.environment` which contains the environment to use
- Using the `default_environment` property of `.esconfig.json`
- The default, which is `DEVELOPMENT`

Sample `.esconfig.json` file
----------------------------

[](#sample-esconfigjson-file)

```
{
    "host": "localhost:9200",
    "warm": "php ./warm_es.php",
    "host": {
        "DEVELOPMENT": "192.168.99.100:32769",
        "PRODUCTION": "localhost:9200",
        "STAGING": "localhost:9200"
    },
    "warm": {
        "DEVELOPMENT": "php ./warm_es.php {{__HOST__}}",
        "PRODUCTION": "php ./warm_es.php {{__HOST__}}",
        "STAGING": "php ./warm_es.php {{__HOST__}}"
    }
    "default_environment": "DEVELOPMENT",
    "indexes": [
        {
            "name": "my-index",
            "settings": {},
            "mappings": {
                "my-item": {
                    "properties": {
                        "location": {
                            "type": "geo_point"
                        }
                    }
                }
            }
        },
        {
            "name": "another-index",
            "settings": {},
            "mappings": {
                "another-item": {
                    "properties": {
                        "location": {
                            "type": "geo_point"
                        }
                    }
                }
            }
        }
    ]
}
```

RoadMap
-------

[](#roadmap)

- Use symfony console component
- Use Guzzle or similar

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~564 days

Total

3

Last Release

1835d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ea9a5042213cbf644c7d8082388e559017aed7138152b28a1a623926101ef16a?d=identicon)[hellopablo](/maintainers/hellopablo)

---

Top Contributors

[![hellopablo](https://avatars.githubusercontent.com/u/233585?v=4)](https://github.com/hellopablo "hellopablo (34 commits)")

### Embed Badge

![Health badge](/badges/hellopablo-esconfig/health.svg)

```
[![Health](https://phpackages.com/badges/hellopablo-esconfig/health.svg)](https://phpackages.com/packages/hellopablo-esconfig)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
