salt.states.composer

Installation of Composer Packages

These states manage the installed packages for composer for PHP. Note that either composer is installed and accessible via a bin directory or you can pass the location of composer in the state.

get-composer:
  cmd.run:
    - name: 'CURL=`which curl`; $CURL -sS https://getcomposer.org/installer | php'
    - unless: test -f /usr/local/bin/composer
    - cwd: /root/

install-composer:
  cmd.wait:
    - name: mv /root/composer.phar /usr/local/bin/composer
    - cwd: /root/
    - watch:
      - cmd: get-composer

/path/to/project:
  composer.installed:
    - no_dev: true
    - require:
      - cmd: install-composer


# Without composer installed in your PATH
# Note: composer.phar must be executable for state to work properly
/path/to/project:
  composer.installed:
    - composer: /path/to/composer.phar
    - php: /usr/local/bin/php
    - no_dev: true
salt.states.composer.installed(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home='/root', always_check=True, env=None)

Verify that the correct versions of composer dependencies are present.

name

Directory location of the composer.json file.

composer

Location of the composer.phar file. If not set composer will just execute composer as if it is installed globally. (i.e. /path/to/composer.phar)

php

Location of the php executable to use with composer. (i.e. /usr/bin/php)

user

Which system user to run composer as.

New in version 2014.1.4.

prefer_source

--prefer-source option of composer.

prefer_dist

--prefer-dist option of composer.

no_scripts

--no-scripts option of composer.

no_plugins

--no-plugins option of composer.

optimize

--optimize-autoloader option of composer. Recommended for production.

no_dev

--no-dev option for composer. Recommended for production.

quiet

--quiet option for composer. Whether or not to return output from composer.

composer_home

$COMPOSER_HOME environment variable

always_check

If True, always run composer install in the directory. This is the default behavior. If False, only run composer install if there is no vendor directory present.

env

A list of environment variables to be set prior to execution.

salt.states.composer.update(name, composer=None, php=None, user=None, prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None, optimize=None, no_dev=None, quiet=False, composer_home='/root', env=None)

Composer update the directory to ensure we have the latest versions of all project dependencies.

name

Directory location of the composer.json file.

composer

Location of the composer.phar file. If not set composer will just execute composer as if it is installed globally. (i.e. /path/to/composer.phar)

php

Location of the php executable to use with composer. (i.e. /usr/bin/php)

user

Which system user to run composer as.

New in version 2014.1.4.

prefer_source

--prefer-source option of composer.

prefer_dist

--prefer-dist option of composer.

no_scripts

--no-scripts option of composer.

no_plugins

--no-plugins option of composer.

optimize

--optimize-autoloader option of composer. Recommended for production.

no_dev

--no-dev option for composer. Recommended for production.

quiet

--quiet option for composer. Whether or not to return output from composer.

composer_home

$COMPOSER_HOME environment variable

env

A list of environment variables to be set prior to execution.