Skip to content

Latest commit

 

History

History
38 lines (21 loc) · 1.72 KB

README.md

File metadata and controls

38 lines (21 loc) · 1.72 KB

apt-s3

Additional "s3" protocol for apt so you can host your giant apt repository in s3 on the cheap!

We use this for pressflip.com to deploy and distribute all of our software. apt is a great packaging system and s3 is a great place to backup/store static files. apt-s3 is especially useful and fast if you are hosting your servers within EC2.

Original Author: Kyle Shank Contributors: Cliff Moon (@cliffmoon on GH), Jens Braeuer (@jbraeuer) Documenter: Susan Potter (@mbbx6spp on GH)

Building

Before building this project on Ubuntu (tested on 11.10 and 12.04) you will need to install the following packages:

[sudo] apt-get install libapt-pkg-dev libcurl4-openssl-dev make g++

To build this project you simply run make. It will produce a binary named s3 under the src/ dir.

Installing

Once compiled, the resulting s3 binary must be placed in /usr/lib/apt/methods/ along with the other protocol binaries.

Finally, this is how you add it to the /etc/apt/sources.list file if you want your credentials in the url:

deb s3://AWS_ACCESS_ID:[AWS_SECRET_KEY_IN_BRACKETS]@s3.amazonaws.com/BUCKETNAME prod main

otherwise leave off the credentials and it will draw them from the environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_KEY_ID.

Simply upload all of your .deb packages and Packages.gz file into the s3 bucket you chose with the file key mapping that matches the file system layout.

If your S3 bucket is in another region, and you are getting "301 Moved Permanently" warnings, add the region to the URL. Example:

deb s3://AWS_ACCESS_ID:[AWS_SECRET_KEY_IN_BRACKETS]@s3-us-west-1.amazonaws.com/BUCKETNAME precise main

TODO

  • Package up binaries
  • Include uploader script to get repository into s3 bucket