return rsync xfer errors to client
[cloudstore.git] / rsync-xfer-trigger.pl
1 #!/usr/bin/perl -T
2 use warnings;
3 use strict;
4
5 use Data::Dump qw(dump);
6
7 use lib '/srv/cloudstore/lib';
8 use CloudStore::Couchbase;
9
10 my $store = CloudStore::Couchbase->new;
11
12 my $login = $ENV{RSYNC_MODULE_NAME} || die "no RSYNC_MODULE_NAME";
13
14 my $user  = $store->user_get($login);
15
16 my $ok = $user->{usage} <= $user->{quota};
17
18 print "$login ", $store->status( $login => sprintf 'quota: %s %d %s %d'
19         , ( $ok ? 'OK' : 'ERROR' )
20         , $user->{usage}
21         , ( $ok ? '<=' : '>' )
22         , $user->{quota}
23 ),$/;
24
25 my $exit = $ok ? 0 : 1;
26 warn "# exit $exit" if $ENV{DEBUG};
27 exit $exit;