Skip to content

naderman/composer-aws

Repository files navigation

composer-aws (ABANDONED)

A composer plugin to load repository data and download packages from Amazon S3 with authentication support for private repositories.


Using AWS S3 to host private packages? Check out Private Packagist for a better private Composer repository solution!

This project has been abandoned and will not support Composer 2.0. If you are currently relying on this plugin to download packages from S3, you should consider using Private Packagist to manage your private packages.


Installation

Global scope (per user) installation

$ composer global require "naderman/composer-aws:^1.0"

Project scope installation

$ composer require "naderman/composer-aws:^1.0"

Configuration

There are three options available in order to configure and use this plugin:

  1. For AWS EC2: Create an IAM profile for your instances to access the bucket - then no other configuration is necessary.
  2. Set the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  3. Add the following to your config.json (in $COMPOSER_HOME):
{
    "config": {
        "amazon-aws": {
            "credentials": {
                "key": "your aws access key",
                "secret": "your aws secret"
            }
        }
    }
}

Usage

Once the plugin is installed and configured, you can transparently use packages.json files which contain s3:// schemes for dist urls.

Loading package repositories from AWS S3

If you want to host a packages.json repository on S3 (e.g. generated by satis), you can use an S3 bucket for the repository url as well.

{
    "repositories": [
        {
            "type": "composer",
            "url": "s3://my-S3-bucket/my/packages/repository/path/"
        }
    ]
}

Further reading