amazon s3 support implemented and kinda working

pruning not yet implemented, however
master
Joey Hess 2008-05-07 23:15:43 -04:00
parent 939885d556
commit 9e6a4ccfdd
5 changed files with 25 additions and 2 deletions

View File

@ -27,6 +27,7 @@ Text::Typography
Text::Textile Text::Textile
Text::WikiFormat Text::WikiFormat
XML::Feed XML::Feed
Net::Amazon::S3
=head1 AUTHOR =head1 AUTHOR

View File

@ -214,7 +214,7 @@ sub render ($) { #{{{
if (link($srcfile, $config{destdir}."/".$file)) { if (link($srcfile, $config{destdir}."/".$file)) {
return; return;
} }
# if hardlink fails, fall back top copying # if hardlink fails, fall back to copying
} }
my $srcfd=readfile($srcfile, 1, 1); my $srcfd=readfile($srcfile, 1, 1);

View File

@ -171,4 +171,16 @@ use IkiWiki::Setup::Standard {
# For use with the pinger plugin, how many seconds to wait before # For use with the pinger plugin, how many seconds to wait before
# timing out. # timing out.
#pinger_timeout => 15. #pinger_timeout => 15.
# For use with the amazon S3 plugin, your public access key id.
#amazon_s3_key_id => 'XXXXXXXXXXXXXXXXXXXX',
# And a file holding your secret key. This file *must* not be
# readable by others!
#amazon_s3_key_file => "/home/me/.hide/.s3_key
# The globally unique name of the bucket to use to store the wiki.
#amazon_s3_bucket => "mywiki",
# A prefix to prepend to each page name.
#amazon_s3_prefix => "wiki/",
# Uncomment to use the S3 European datacenter.
#amazon_s3_location => "EU",
} }

View File

@ -11,6 +11,11 @@ modules and an Amazon S3 account to use this plugin.
## configuration ## configuration
Important note: You should seriously consider turning off `usedirs` before
enabling this plugin. If `usedirs` is enabled, every page has to be stored
in S3 *twice*, as "page/index.html" and as "page/". That will cost you
money and bandwidth.
This plugin uses the following settings in the setup file: This plugin uses the following settings in the setup file:
* `amazon_s3_key_id` - Set to your public access key id. * `amazon_s3_key_id` - Set to your public access key id.
@ -35,6 +40,8 @@ Likewise, you will probably want to set the `url` in the setup file.
The url can use the `foo.s3.amazonaws.com` domain name, or another domain The url can use the `foo.s3.amazonaws.com` domain name, or another domain
name that is a CNAME for it. name that is a CNAME for it.
The `hardlink` config file setting is not compatible with this plugin.
## data transfer notes ## data transfer notes
If you run 'ikiwiki -setup my.setup' to force a rebuild of your wiki, the If you run 'ikiwiki -setup my.setup' to force a rebuild of your wiki, the

View File

@ -15,5 +15,8 @@ use IkiWiki::Setup::Standard {
syslog => 0, syslog => 0,
userdir => "users", userdir => "users",
usedirs => 0, usedirs => 0,
add_plugins => [qw{goodstuff version haiku polygen fortune}], add_plugins => [qw{goodstuff version polygen fortune amazon_s3}],
amazon_s3_key_id => '08TJMT99S3510QHZEP82',
amazon_s3_bucket => 'ikiwiki-test',
amazon_s3_key_file => "/home/joey/.hide/aws_secret_access_key",
} }