summaryrefslogtreecommitdiffstats
path: root/bin/filebucket
blob: 1c5daa4e3bb88b7c1ecf00263bb71acf4c434b0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/env ruby

#
# = Synopsis
#
# A stand-alone Puppet filebucket client.
#
# = Usage
#
#   filebucket [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]
#      [-l|--local] [-r|--remote]
#      [-s|--server <server>] [-b|--bucket <directory>] <file> <file> ...
#
# = Description
#
# This is a stand-alone filebucket client for sending files to a local
# or central filebucket.
#
# = Usage
#
# This client can operate in three modes, with only one mode per call:
#
# backup::
#   Send one or more files to the specified file bucket.  Each sent file
#   is printed with its resulting md5 sum.
#
# get::
#   Return the text associated with an md5 sum.  The text is printed to
#   stdout, and only one file can be retrieved at a time.
#
# restore::
#   Given a file path and an md5 sum, store the content associated with the
#   sum into the specified file path.  You can specify an entirely new path
#   to this argument; you are not restricted to restoring the content to its
#   original location.
#
# Note that +filebucket+ defaults to using a network-based filebucket available on
# the server named +puppet+.  To use this, you'll have to be running as a user
# with valid Puppet certificates.  Alternatively, you can use your local file bucket
# by specifying +--local+.
#
# = Example
#
#   $ filebucket backup /etc/passwd
#   /etc/passwd: 429b225650b912a2ee067b0a4cf1e949
#   $ filebucket restore /tmp/passwd 429b225650b912a2ee067b0a4cf1e949
#   $
#
# = Options
#
# Note that any configuration parameter that's valid in the configuration file
# is also a valid long argument.  For example, 'ssldir' is a valid configuration
# parameter, so you can specify '--ssldir <directory>' as an argument.
#
# See the configuration file documentation at
# http://reductivelabs.com/trac/puppet/wiki/ConfigurationReference for
# the full list of acceptable parameters. A commented list of all
# configuration options can also be generated by running puppet with
# '--genconfig'.
#
# debug::
#   Enable full debugging.
#
# help::
#   Print this help message
#
# local::
#   Use the local filebucket.  This will use the default configuration
#   information.
#
# remote::
#   Use a remote filebucket.  This will use the default configuration
#   information.
#
# server::
#   The server to send the file to, instead of locally.
#
# verbose::
#   Print extra information.
#
# version::
#   Print version information.
#
# = Example
#
#   filebucket -b /tmp/filebucket /my/file
#
# = Author
#
# Luke Kanies
#
# = Copyright
#
# Copyright (c) 2005 Reductive Labs, LLC
# Licensed under the GNU Public License

require 'puppet/application'
require 'puppet/application/filebucket'

# launch the filebucket
Puppet::Application[:filebucket].run