naderman/composer-aws

A composer plugin that allows installing packages stored on S3

Installs: 138 472

Dependents: 0

Suggesters: 0

Security: 0

Stars: 76

Watchers: 8

Forks: 20

Open Issues: 0

Type:composer-plugin

1.0.1 2019-08-07 13:23 UTC

This package is auto-updated.

Last update: 2020-09-16 08:09:42 UTC


README

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

Looking for a way to access private packages from AWS? Check out Private Packagist for a better private Composer repository solution!

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