1 |
|
|
/** |
2 |
|
|
* This file is part of the CernVM File System. |
3 |
|
|
*/ |
4 |
|
|
|
5 |
|
|
#ifndef CVMFS_SWISSKNIFE_SIGN_H_ |
6 |
|
|
#define CVMFS_SWISSKNIFE_SIGN_H_ |
7 |
|
|
|
8 |
|
|
#include <string> |
9 |
|
|
|
10 |
|
|
#include "swissknife.h" |
11 |
|
|
|
12 |
|
|
namespace upload { |
13 |
|
|
struct SpoolerResult; |
14 |
|
|
} |
15 |
|
|
|
16 |
|
|
namespace swissknife { |
17 |
|
|
|
18 |
|
|
class CommandSign : public Command { |
19 |
|
|
public: |
20 |
|
|
~CommandSign() {} |
21 |
|
|
virtual std::string GetName() const { return "sign"; } |
22 |
|
|
virtual std::string GetDescription() const { |
23 |
|
|
return "Adds a signature to the repository manifest."; |
24 |
|
|
} |
25 |
|
|
virtual ParameterList GetParams() const { |
26 |
|
|
ParameterList r; |
27 |
|
|
r.push_back(Parameter::Mandatory('m', "manifest file")); |
28 |
|
|
r.push_back(Parameter::Mandatory('u', "repository URL")); |
29 |
|
|
r.push_back(Parameter::Mandatory('r', "spooler definition")); |
30 |
|
|
r.push_back(Parameter::Mandatory('t', "directory for temporary files")); |
31 |
|
|
r.push_back(Parameter::Optional('R', "path to reflog.chksum file")); |
32 |
|
|
r.push_back(Parameter::Optional('c', "x509 certificate")); |
33 |
|
|
r.push_back(Parameter::Optional('k', "private key of the certificate")); |
34 |
|
|
r.push_back(Parameter::Optional('s', "password for the private key")); |
35 |
|
|
r.push_back(Parameter::Optional('n', "repository name")); |
36 |
|
|
r.push_back(Parameter::Optional('M', "repository meta info file")); |
37 |
|
|
r.push_back(Parameter::Switch('b', |
38 |
|
|
"generate symlinks for VOMS-secured " |
39 |
|
|
"repo backends")); |
40 |
|
|
r.push_back(Parameter::Switch('g', "repository is garbage collectible")); |
41 |
|
|
r.push_back(Parameter::Switch('A', "repository has bootstrap shortcuts")); |
42 |
|
|
r.push_back(Parameter::Switch('e', |
43 |
|
|
"return early, don't upload signed " |
44 |
|
|
"manifest")); |
45 |
|
|
return r; |
46 |
|
|
} |
47 |
|
|
int Main(const ArgumentList &args); |
48 |
|
|
}; |
49 |
|
|
|
50 |
|
|
} // namespace swissknife |
51 |
|
|
|
52 |
|
|
#endif // CVMFS_SWISSKNIFE_SIGN_H_ |