cliffmoon / apt-s3 forked from kyleshank/apt-s3

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

This URL has Read+Write access

apt-s3 /
name age message
file Makefile Loading commit data...
file README Mon Oct 26 14:46:45 -0700 2009 add more building instructions for the apt libr... [cliffmoon]
file apti18n.h Tue Jun 23 22:44:23 -0700 2009 add required headers and connect.cc [cliffmoon]
file config.h Tue Jun 23 22:44:23 -0700 2009 add required headers and connect.cc [cliffmoon]
file connect.cc Mon Oct 26 19:56:38 -0700 2009 Capitalization dangit [root]
file connect.h Tue Jun 23 22:44:23 -0700 2009 add required headers and connect.cc [cliffmoon]
file rfc2553emu.h Tue Jun 23 22:44:23 -0700 2009 add required headers and connect.cc [cliffmoon]
file s3.cc
file s3.h Tue Dec 23 22:17:56 -0800 2008 Initial blabbering. [kyleshank]
file s3_main.cc
README
apt-s3
------
additional "s3" protocol for apt so you can host your giant apt repository in s3 on the cheap!

Author: Kyle Shank

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.

THIS NEEDS MORE DOCUMENTATION OBVIOUSLY

TODO
----
* Makefile
* Package up binaries
* Include uploader script to get repository into s3 bucket
* Explain this a little more

This has to be compiled with the source version of apt.

You can get the source here:

    bzr branch http://bzr.debian.org/apt/debian-sid apt-debian-sid

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.