From f351306d82a5a98f1827643deefc7ed69ce98716 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Sat, 22 Oct 2011 21:46:50 +0200 Subject: dup: add support for RackSpace's CloudFiles. Thanks to Yuval Kogman for the patch. --- handlers/dup.helper.in | 10 ++++++++++ handlers/dup.in | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'handlers') diff --git a/handlers/dup.helper.in b/handlers/dup.helper.in index 050cbca..ba2850f 100644 --- a/handlers/dup.helper.in +++ b/handlers/dup.helper.in @@ -454,6 +454,16 @@ keepincroffulls = $dup_keepincroffulls #awsaccesskeyid = YOUR_AWS_ACCESS_KEY_ID #awssecretaccesskey = YOUR_AWS_SECRET_KEY +## RackSpace's CloudFiles username, API key, and authentication URL. +## cfusername = YOUR_CF_USERNAME +## cfapikey = YOUR_CF_API_KEY +## cfauthurl = YOUR_CF_AUTH_URL +## +## Default: +# cfusername = +# cfapikey = +# cfauthurl = + # FTP password, needed for backups using desturl = ftp://... #ftp_password = diff --git a/handlers/dup.in b/handlers/dup.in index 40f6723..a3684c8 100644 --- a/handlers/dup.in +++ b/handlers/dup.in @@ -30,6 +30,9 @@ getconf keepincroffulls all getconf desturl getconf awsaccesskeyid getconf awssecretaccesskey +getconf cfusername +getconf cfapikey +getconf cfauthurl getconf ftp_password getconf sshoptions getconf bandwidthlimit 0 @@ -46,6 +49,9 @@ destdir=${destdir%/} if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]; then [ -n "$awsaccesskeyid" -a -n "$awssecretaccesskey" ] || fatal "AWS access keys must be set for S3 backups." fi +if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "cf+http" ]; then + [ -n "$cfusername" -a -n "$cfapikey" ] || fatal "Cloudfiles access keys must be set for S3 backups." +fi if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "ftp" ]; then [ -n "$ftp_password" ] || fatal "ftp_password must be set for FTP backups." fi @@ -232,6 +238,16 @@ if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]; then export AWS_SECRET_ACCESS_KEY="$awssecretaccesskey" fi +### If desturl is a RackSpace's CloudFiles URL export the relevant +### environment variables +if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "cf+http" ]; then + export CLOUDFILES_USERNAME="$cfusername" + export CLOUDFILES_APIKEY="$cfapikey" + if [ -n "$cfauthurl" ]; then + export CLOUDFILES_AUTHURL="$cfauthurl" + fi +fi + ### Cleanup commands (duplicity >= 0.4.4) # cleanup -- cgit v1.2.3