PHPackages                             monofone/ansible-installer - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. monofone/ansible-installer

ActiveComposer-installer[DevOps &amp; Deployment](/categories/devops)

monofone/ansible-installer
==========================

Installer for ansible roles

1.0.0(12y ago)375MITPHP

Since May 5Pushed 12y ago1 watchersCompare

[ Source](https://github.com/monofone/ansible-installer)[ Packagist](https://packagist.org/packages/monofone/ansible-installer)[ Docs](http://github.com/monofone/ansible-installer/)[ RSS](/packages/monofone-ansible-installer/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

Ansible Installer
=================

[](#ansible-installer)

This is originally taken form the [composer/installers](https://github.com/composer/installers) and adapted to work as an [ansible](http://www.ansible.com/home) role installer.

[![Build Status](https://camo.githubusercontent.com/8428d204079e35a6efd6b31a25402f338edb3ed2721995475b320d95a64982c1/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f6d6f6e6f666f6e652f696e7374616c6c6572732e706e67)](http://travis-ci.org/monofone/installers)

This is for PHP package authors to require in their `composer.json`. It will install their package to the correct location based on the specified package type.

The goal of `installers` is to be a simple package type to install path map. Users can also customize the install path per package and package authors can modify the package name upon installing.

**Current Supported Package Types**:

> Stable types are marked as **bold**, this means that installation paths for those type will not be changed. Any adjustment for those types would require creation of brand new type that will cover required changes.

FrameworkTypesansible`ansible-role`Example `composer.json` File
----------------------------

[](#example-composerjson-file)

This is an example for a ansible role. The only important parts to set in your composer.json file are `"type": "ansible-role"` which describes what your package is and `"require": { "ansible/installer": "~1.0" }` which tells composer to load the custom installers.

```
{
    "name": "you/mysql",
    "type": "ansible-role",
    "require": {
        "ansible/installer": "~1.0"
    }
}
```

This would install your role to the `provisioning/roles/common/` folder when a user runs `php composer.phar install`.

Custom Install Paths
--------------------

[](#custom-install-paths)

If you are consuming a package that uses the `ansible/installer` you can override the install path with the following extra in your `composer.json`:

```
{
    "extra": {
        "installer-paths": {
            "your/custom/path/{$name}/": ["ansible/web", "vendor/package"]
        }
    }
}
```

A package type can have a custom installation path with a `type:` prefix.

```
{
    "extra": {
        "installer-paths": {
            "your/custom/path/{$name}/": ["type:ansible-role"]
        }
    }
}
```

This would use your custom path for each of the listed packages. The available variables to use in your paths are: `{$name}`, `{$vendor}`, `{$type}`.

Custom Install Names
--------------------

[](#custom-install-names)

If you're a package author and need your package to be named differently when installed consider using the `installer-name` extra.

For example you have a package named `you/mysql` with the type `ansible-role`. Installing with `ansible/installer` would install to the path `provisioning/roles/mysql`. Due to the strict naming conventions, you as a package author actually need the package to be named and installed to `provisioning/roles/ownmysql`. Using the following config within your **package** `composer.json`will allow this:

```
{
    "name": "you/mysql",
    "type": "ansible-role",
    "extra": {
        "installer-name": "ownmysql"
    }
}
```

Please note the name entered into `installer-name` will be the final and will not be inflected.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 59.1% 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

Unknown

Total

1

Last Release

4390d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4a0c15298bde9fac0fb1224859b69b1be1d17f747fc03d2b435e2028ea14f0d3?d=identicon)[monofone](/maintainers/monofone)

---

Top Contributors

[![shama](https://avatars.githubusercontent.com/u/99604?v=4)](https://github.com/shama "shama (81 commits)")[![Seldaek](https://avatars.githubusercontent.com/u/183678?v=4)](https://github.com/Seldaek "Seldaek (10 commits)")[![GromNaN](https://avatars.githubusercontent.com/u/400034?v=4)](https://github.com/GromNaN "GromNaN (6 commits)")[![monofone](https://avatars.githubusercontent.com/u/373163?v=4)](https://github.com/monofone "monofone (5 commits)")[![JeroenDeDauw](https://avatars.githubusercontent.com/u/146040?v=4)](https://github.com/JeroenDeDauw "JeroenDeDauw (3 commits)")[![schmunk42](https://avatars.githubusercontent.com/u/649031?v=4)](https://github.com/schmunk42 "schmunk42 (3 commits)")[![vysinsky](https://avatars.githubusercontent.com/u/3693578?v=4)](https://github.com/vysinsky "vysinsky (2 commits)")[![ChristianGaertner](https://avatars.githubusercontent.com/u/2886317?v=4)](https://github.com/ChristianGaertner "ChristianGaertner (2 commits)")[![damour](https://avatars.githubusercontent.com/u/881794?v=4)](https://github.com/damour "damour (2 commits)")[![RobLoach](https://avatars.githubusercontent.com/u/25086?v=4)](https://github.com/RobLoach "RobLoach (2 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (2 commits)")[![renan](https://avatars.githubusercontent.com/u/28046?v=4)](https://github.com/renan "renan (1 commits)")[![sagikazarmark](https://avatars.githubusercontent.com/u/1226384?v=4)](https://github.com/sagikazarmark "sagikazarmark (1 commits)")[![Srokap](https://avatars.githubusercontent.com/u/1339628?v=4)](https://github.com/Srokap "Srokap (1 commits)")[![steffendietz](https://avatars.githubusercontent.com/u/11530?v=4)](https://github.com/steffendietz "steffendietz (1 commits)")[![stloyd](https://avatars.githubusercontent.com/u/67402?v=4)](https://github.com/stloyd "stloyd (1 commits)")[![tamlyn](https://avatars.githubusercontent.com/u/115310?v=4)](https://github.com/tamlyn "tamlyn (1 commits)")[![TheFrozenFire](https://avatars.githubusercontent.com/u/948014?v=4)](https://github.com/TheFrozenFire "TheFrozenFire (1 commits)")[![uzyn](https://avatars.githubusercontent.com/u/280505?v=4)](https://github.com/uzyn "uzyn (1 commits)")[![pocesar](https://avatars.githubusercontent.com/u/461084?v=4)](https://github.com/pocesar "pocesar (1 commits)")

---

Tags

installeransible

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/monofone-ansible-installer/health.svg)

```
[![Health](https://phpackages.com/badges/monofone-ansible-installer/health.svg)](https://phpackages.com/packages/monofone-ansible-installer)
```

###  Alternatives

[deployer/deployer

Deployment Tool

11.0k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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