naderman / composer-aws
A composer plugin that allows installing packages stored on S3
Installs: 169 864
Dependents: 0
Suggesters: 0
Security: 0
Stars: 76
Watchers: 8
Forks: 20
Open Issues: 0
Type:composer-plugin
Requires
- php: >=5.5
- composer-plugin-api: ^1.0
- aws/aws-sdk-php: ^3.0
Requires (Dev)
- composer/composer: ^1.0
- phpunit/phpunit: ~4.8
README
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:
- For AWS EC2: Create an IAM profile for your instances to access the bucket - then no other configuration is necessary.
- Set the environment variables
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
- 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
- AWS IAM Instance profiles: http://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html
- Amazon S3 Syncer: https://github.com/easybiblabs/s3-syncer