CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
settings.h
Go to the documentation of this file.
1 
5 #ifndef CVMFS_PUBLISH_SETTINGS_H_
6 #define CVMFS_PUBLISH_SETTINGS_H_
7 
8 #include <stdint.h>
9 #include <unistd.h>
10 
11 #include <map>
12 #include <string>
13 
14 #include "compression.h"
15 #include "crypto/hash.h"
16 #include "sync_union.h"
18 
19 class OptionsManager;
20 
21 namespace publish {
22 
28 template <class T>
29 class Setting {
30  public:
31  Setting() : value_(), is_default_(true) { }
32  explicit Setting(const T &v) : value_(v), is_default_(true) { }
33 
34  Setting& operator=(const T &v) {
35  value_ = v;
36  is_default_ = false;
37  return *this;
38  }
39 
40  const T& operator()() const {
41  return value_;
42  }
43 
44  bool SetIfDefault(const T &v) {
45  if (!is_default_) return false;
46  value_ = v;
47  is_default_ = false;
48  return true;
49  }
50 
51  bool is_default() const { return is_default_; }
52 
53  T* GetPtr() { return &value_; }
54 
55  private:
56  T value_;
58 }; // Setting
59 
60 
68 };
69 
70 
71 // Settings from the point of construction always represent a valid
72 // configuration. The constructor sets default values, which can be overwritten
73 // by setters. The setters throw errors when invalid options are detected.
74 
76  public:
77  explicit SettingsSpoolArea(const std::string &fqrn)
78  : workspace_(std::string("/var/spool/cvmfs/") + fqrn)
79  , tmp_dir_(workspace_() + "/tmp")
80  , union_mnt_(std::string("/cvmfs/") + fqrn)
82  { }
83 
84  void UseSystemTempDir();
85  void SetSpoolArea(const std::string &path);
86  void SetUnionMount(const std::string &path);
87  void SetRepairMode(const EUnionMountRepairMode val);
88 
89  // Creates, if necessary, all the directories in the spool area and the temp
90  // directory. Does not take care of the union mount point.
91  void EnsureDirectories();
92 
93  std::string workspace() const { return workspace_(); }
94  std::string tmp_dir() const { return tmp_dir_(); }
95  std::string readonly_mnt() const { return workspace_() + "/rdonly"; }
96  std::string readonly_talk_socket() const {
97  return workspace_() + "/cvmfs_io";
98  }
99  std::string union_mnt() const { return union_mnt_(); }
100  std::string scratch_base() const { return workspace_() + "/scratch"; }
101  std::string scratch_dir() const { return scratch_base() + "/current"; }
102  std::string scratch_wastebin() const { return scratch_base() + "/wastebin"; }
103  std::string log_dir() const { return workspace() + "/logs"; }
104  // TODO(jblomer): shouldn't this be in /etc/cvmfs/repository.../client.conf
105  std::string client_config() const { return workspace_() + "/client.config"; }
106  std::string client_lconfig() const { return workspace_() + "/client.local"; }
107  std::string client_log() const { return log_dir() + "/cvmfs.log"; }
108  std::string cache_dir() const { return workspace_() + "/cache"; }
109  std::string ovl_work_dir() const { return workspace_() + "/ovl_work"; }
110  std::string checkout_marker() const { return workspace_() + "/checkout"; }
111  std::string gw_session_token() const {
112  return workspace_() + "/session_token";
113  }
114  std::string transaction_lock() const {
115  return workspace_() + "/in_transaction.lock";
116  }
117  std::string publishing_lock() const {
118  return workspace_() + "/is_publishing.lock";
119  }
121 
122  private:
130 }; // SettingsSpoolArea
131 
132 
134  public:
135  explicit SettingsTransaction(const std::string &fqrn)
136  : layout_revision_(0)
137  , in_enter_session_(false)
138  , hash_algorithm_(shash::kShake128)
140  , ttl_second_(240)
142  , is_volatile_(false)
143  , enforce_limits_(false)
144  // SyncParameters::kDefaultNestedKcatalogLimit
146  // SyncParameters::kDefaultRootKcatalogLimit
148  // SyncParameters::kDefaultFileMbyteLimit
149  , limit_file_size_mb_(1024)
150  , use_catalog_autobalance_(false)
151  // SyncParameters::kDefaultMaxWeight
152  , autobalance_max_weight_(100000)
153  // SyncParameters::kDefaultMinWeight
155  , print_changeset_(false)
156  , dry_run_(false)
158  , timeout_s_(0)
159  , spool_area_(fqrn)
160  {}
161 
162  void SetLayoutRevision(const unsigned revision);
163  void SetInEnterSession(const bool value);
164  void SetBaseHash(const shash::Any &hash);
165  void SetUnionFsType(const std::string &union_fs);
166  void SetHashAlgorithm(const std::string &algorithm);
167  void SetCompressionAlgorithm(const std::string &algorithm);
168  void SetEnforceLimits(bool value);
169  void SetLimitNestedCatalogKentries(unsigned value);
170  void SetLimitRootCatalogKentries(unsigned value);
171  void SetLimitFileSizeMb(unsigned value);
172  void SetUseCatalogAutobalance(bool value);
173  void SetAutobalanceMaxWeight(unsigned value);
174  void SetAutobalanceMinWeight(unsigned value);
175  void SetPrintChangeset(bool value);
176  void SetDryRun(bool value);
177  void SetTimeout(unsigned seconds);
178  void SetLeasePath(const std::string &path);
179  void SetTemplate(const std::string &from, const std::string &to);
180  void DetectUnionFsType();
181 
186  int GetTimeoutS() const;
187 
188  unsigned layout_revision() const { return layout_revision_(); }
189  bool in_enter_session() const { return in_enter_session_(); }
190  shash::Any base_hash() const { return base_hash_(); }
193  return compression_algorithm_();
194  }
195  uint32_t ttl_second() const { return ttl_second_(); }
197  bool is_volatile() const { return is_volatile_(); }
198  bool enforce_limits() const { return enforce_limits_(); }
199  unsigned limit_nested_catalog_kentries() const {
201  }
202  unsigned limit_root_catalog_kentries() const {
204  }
205  unsigned limit_file_size_mb() const { return limit_file_size_mb_(); }
207  unsigned autobalance_max_weight() const { return autobalance_max_weight_(); }
208  unsigned autobalance_min_weight() const { return autobalance_min_weight_(); }
209  bool print_changeset() const { return print_changeset_(); }
210  bool dry_run() const { return dry_run_(); }
211  std::string voms_authz() const { return voms_authz_(); }
212  UnionFsType union_fs() const { return union_fs_(); }
213  std::string lease_path() const { return lease_path_(); }
214  std::string template_from() const { return template_from_(); }
215  std::string template_to() const { return template_to_(); }
216 
217  const SettingsSpoolArea &spool_area() const { return spool_area_; }
219 
220  bool HasTemplate() const { return !template_to().empty(); }
221 
222  private:
223  bool ValidateUnionFs();
224 
269 
271 }; // class SettingsTransaction
272 
273 
274 class SettingsGc {
275 }; // class SettingsGc
276 
277 
279  public:
280  explicit SettingsStorage(const std::string &fqrn)
281  : fqrn_(fqrn)
282  , type_(upload::SpoolerDefinition::Local)
283  , tmp_dir_(std::string("/srv/cvmfs/") + fqrn + "/data/txn")
284  , endpoint_(std::string("/srv/cvmfs/") + fqrn)
285  { }
286 
287  std::string GetLocator() const;
288  void SetLocator(const std::string &locator);
289  void MakeLocal(const std::string &path);
290  void MakeS3(const std::string &s3_config, const std::string &tmp_dir);
291  void MakeGateway(const std::string &host, unsigned port,
292  const std::string &tmp_dir);
293 
295  std::string endpoint() const { return endpoint_(); }
296 
297  private:
302 }; // class SettingsStorage
303 
304 
306  public:
307  explicit SettingsKeychain(const std::string &fqrn)
308  : fqrn_(fqrn)
309  , keychain_dir_("/etc/cvmfs/keys")
310  , master_private_key_path_(keychain_dir_() + "/" + fqrn + ".masterkey")
311  , master_public_key_path_(keychain_dir_() + "/" + fqrn + ".pub")
312  , private_key_path_(keychain_dir_() + "/" + fqrn + ".key")
313  , certificate_path_(keychain_dir_() + "/" + fqrn + ".crt")
314  , gw_key_path_(keychain_dir_() + "/" + fqrn + ".gw")
315  {}
316 
317  void SetKeychainDir(const std::string &keychain_dir);
318 
319  bool HasDanglingMasterKeys() const;
320  bool HasMasterKeys() const;
321  bool HasDanglingRepositoryKeys() const;
322  bool HasRepositoryKeys() const;
323  bool HasGatewayKey() const;
324 
325  std::string keychain_dir() const { return keychain_dir_(); }
326  std::string master_private_key_path() const {
327  return master_private_key_path_();
328  }
329  std::string master_public_key_path() const {
330  return master_public_key_path_();
331  }
332  std::string private_key_path() const { return private_key_path_(); }
333  std::string certificate_path() const { return certificate_path_(); }
334  std::string gw_key_path() const { return gw_key_path_(); }
335 
336  private:
344 }; // class SettingsKeychain
345 
346 
347 class SettingsPublisher;
348 class SettingsReplica;
349 
354  public:
355  explicit SettingsRepository(const std::string &fqrn)
356  : fqrn_(fqrn)
357  , url_(std::string("http://localhost/cvmfs/") + fqrn_())
358  , proxy_("")
359  , tmp_dir_("/tmp")
360  , keychain_(fqrn)
361  {}
362  explicit SettingsRepository(const SettingsPublisher &settings_publisher);
363  explicit SettingsRepository(const SettingsReplica &settings_replica);
364 
365  void SetUrl(const std::string &url);
366  void SetProxy(const std::string &proxy);
367  void SetTmpDir(const std::string &tmp_dir);
368  void SetCertBundle(const std::string &cert_bundle);
369 
370  std::string fqrn() const { return fqrn_(); }
371  std::string url() const { return url_(); }
372  std::string proxy() const { return proxy_(); }
373  std::string tmp_dir() const { return tmp_dir_(); }
374  std::string cert_bundle() const { return cert_bundle_(); }
375 
376  const SettingsKeychain &keychain() const { return keychain_; }
378 
379  private:
384  // Currently only used for testing, steered by X509_CERT_BUNDLE
385  // in /etc/cvmfs/server.local
387 
389 }; // class SettingsRepository
390 
391 
396  public:
397  static const unsigned kDefaultWhitelistValidity; // 30 days
398 
399  explicit SettingsPublisher(const std::string &fqrn)
400  : fqrn_(fqrn)
401  , url_(std::string("http://localhost/cvmfs/") + fqrn)
402  , proxy_("")
403  , owner_uid_(0)
404  , owner_gid_(0)
406  , is_silent_(false)
407  , is_managed_(false)
408  , ignore_invalid_lease_(false)
409  , storage_(fqrn_())
410  , transaction_(fqrn_())
411  , keychain_(fqrn_())
412  { }
413  explicit SettingsPublisher(const SettingsRepository &settings_repository);
414 
415  void SetUrl(const std::string &url);
416  void SetProxy(const std::string &proxy);
417  void SetOwner(const std::string &user_name);
418  void SetOwner(uid_t uid, gid_t gid);
419  void SetIsSilent(bool value);
420  void SetIsManaged(bool value);
421  void SetIgnoreInvalidLease(bool value);
422 
423  std::string GetReadOnlyXAttr(const std::string &attr);
424 
425  std::string fqrn() const { return fqrn_(); }
426  std::string url() const { return url_(); }
427  std::string proxy() const { return proxy_(); }
428  unsigned whitelist_validity_days() const {
429  return whitelist_validity_days_();
430  }
431  uid_t owner_uid() const { return owner_uid_(); }
432  uid_t owner_gid() const { return owner_gid_(); }
433  bool is_silent() const { return is_silent_(); }
434  bool is_managed() const { return is_managed_(); }
435  bool ignore_invalid_lease() const { return ignore_invalid_lease_(); }
436 
437  const SettingsStorage &storage() const { return storage_; }
438  const SettingsTransaction &transaction() const { return transaction_; }
439  const SettingsKeychain &keychain() const { return keychain_; }
443 
444  private:
453  // When trying to drop the session, ignore an invalid lease failure. Useful
454  // to recover a publisher with abort -f.
456 
460 }; // SettingsPublisher
461 
462 
467  public:
468  explicit SettingsReplica(const std::string &fqrn)
469  : fqrn_(fqrn)
470  , alias_(fqrn)
471  , url_(std::string("http://localhost/cvmfs/") + alias_())
472  {}
473 
474  std::string fqrn() const { return fqrn_(); }
475  std::string url() const { return url_(); }
476 
477  private:
481 }; // class SettingsReplica
482 
483 
489  public:
491  : config_path_("/etc/cvmfs/repositories.d")
492  , options_mgr_(NULL)
493  {}
498  explicit SettingsBuilder(const std::string &c) : config_path_(c) {}
499 
507  SettingsRepository CreateSettingsRepository(const std::string &ident);
508 
521  const std::string &ident, bool needs_managed = false);
522 
524  bool IsManagedRepository() const { return options_mgr_ != NULL; }
525 
530  SettingsPublisher* settings_publisher);
531 
532  void SetConfigPath(const std::string &config_path) {
533  config_path_ = config_path;
534  }
535 
536  private:
541  std::string config_path_;
542 
548  // TODO(avalenzu): options_mgr_ should become a unique pointer.
549 
557  std::string GetSingleAlias();
558 
563  std::map<std::string, std::string> GetSessionEnvironment();
564 
569 }; // class SettingsBuilder
570 
571 } // namespace publish
572 
573 #endif // CVMFS_PUBLISH_SETTINGS_H_
unsigned autobalance_min_weight() const
Definition: settings.h:208
void SetUnionFsType(const std::string &union_fs)
Definition: settings.cc:122
SettingsKeychain * GetKeychain()
Definition: settings.h:377
SettingsSpoolArea spool_area_
Definition: settings.h:270
Setting< std::string > keychain_dir_
Definition: settings.h:338
void SetIgnoreInvalidLease(bool value)
Definition: settings.cc:376
Setting< unsigned > whitelist_validity_days_
Definition: settings.h:450
bool use_catalog_autobalance() const
Definition: settings.h:206
std::string endpoint() const
Definition: settings.h:295
std::string config_path_
Definition: settings.h:541
std::string readonly_mnt() const
Definition: settings.h:95
std::string checkout_marker() const
Definition: settings.h:110
bool HasGatewayKey() const
Definition: settings.cc:272
Setting< unsigned > timeout_s_
Definition: settings.h:261
const T & operator()() const
Definition: settings.h:40
shash::Algorithms hash_algorithm() const
Definition: settings.h:191
std::string voms_authz() const
Definition: settings.h:211
SettingsPublisher * CreateSettingsPublisher(const std::string &ident, bool needs_managed=false)
Definition: settings.cc:594
SettingsTransaction * GetTransaction()
Definition: settings.h:441
void SetUrl(const std::string &url)
Definition: settings.cc:300
void SetUnionMount(const std::string &path)
Definition: settings.cc:37
void MakeGateway(const std::string &host, unsigned port, const std::string &tmp_dir)
Definition: settings.cc:203
Setting< bool > is_managed_
Definition: settings.h:452
void SetTimeout(unsigned seconds)
Definition: settings.cc:154
SettingsKeychain * GetKeychain()
Definition: settings.h:442
unsigned limit_root_catalog_kentries() const
Definition: settings.h:202
uid_t owner_gid() const
Definition: settings.h:432
void SetKeychainDir(const std::string &keychain_dir)
Definition: settings.cc:235
Setting< gid_t > owner_gid_
Definition: settings.h:449
std::string fqrn() const
Definition: settings.h:474
std::string keychain_dir() const
Definition: settings.h:325
void SetLimitNestedCatalogKentries(unsigned value)
Definition: settings.cc:90
EUnionMountRepairMode
Definition: settings.h:64
void SetAutobalanceMaxWeight(unsigned value)
Definition: settings.cc:106
std::string gw_key_path() const
Definition: settings.h:334
void SetIsSilent(bool value)
Definition: settings.cc:368
bool HasTemplate() const
Definition: settings.h:220
SettingsKeychain(const std::string &fqrn)
Definition: settings.h:307
bool ignore_invalid_lease() const
Definition: settings.h:435
Setting< UnionFsType > union_fs_
Definition: settings.h:257
unsigned layout_revision() const
Definition: settings.h:188
Setting< upload::SpoolerDefinition::DriverType > type_
Definition: settings.h:299
Setting< uint32_t > ttl_second_
Definition: settings.h:244
std::string private_key_path() const
Definition: settings.h:332
void SetTemplate(const std::string &from, const std::string &to)
Definition: settings.cc:168
Setting< bool > enforce_limits_
Definition: settings.h:247
unsigned autobalance_max_weight() const
Definition: settings.h:207
std::string GetSingleAlias()
Definition: settings.cc:415
Setting< std::string > union_mnt_
Definition: settings.h:125
std::string client_config() const
Definition: settings.h:105
std::string template_to() const
Definition: settings.h:215
SettingsRepository(const std::string &fqrn)
Definition: settings.h:355
void SetLayoutRevision(const unsigned revision)
Definition: settings.cc:65
EUnionMountRepairMode repair_mode() const
Definition: settings.h:120
std::string log_dir() const
Definition: settings.h:103
SettingsTransaction transaction_
Definition: settings.h:458
void SetConfigPath(const std::string &config_path)
Definition: settings.h:532
Setting< std::string > voms_authz_
Definition: settings.h:256
Setting< bool > ignore_invalid_lease_
Definition: settings.h:455
bool is_default_
Definition: settings.h:57
void SetLeasePath(const std::string &path)
Definition: settings.cc:164
Setting< std::string > tmp_dir_
Definition: settings.h:383
unsigned limit_nested_catalog_kentries() const
Definition: settings.h:199
std::string cert_bundle() const
Definition: settings.h:374
Setting< unsigned > layout_revision_
Definition: settings.h:228
bool is_volatile() const
Definition: settings.h:197
void SetAutobalanceMinWeight(unsigned value)
Definition: settings.cc:110
char algorithm
SettingsPublisher(const std::string &fqrn)
Definition: settings.h:399
OptionsManager * options_mgr_
Definition: settings.h:547
Setting< bool > is_silent_
Definition: settings.h:451
bool HasMasterKeys() const
Definition: settings.cc:253
void ApplyOptionsFromServerPath(const OptionsManager &options_mgr_, SettingsPublisher *settings_publisher)
Definition: settings.cc:536
Setting< shash::Any > base_hash_
Definition: settings.h:241
Algorithms
Definition: hash.h:41
bool is_silent() const
Definition: settings.h:433
std::string master_public_key_path() const
Definition: settings.h:329
Setting< unsigned > limit_root_catalog_kentries_
Definition: settings.h:249
SettingsBuilder(const std::string &c)
Definition: settings.h:498
std::string transaction_lock() const
Definition: settings.h:114
Algorithms
Definition: compression.h:44
std::string cache_dir() const
Definition: settings.h:108
bool HasRepositoryKeys() const
Definition: settings.cc:267
std::string proxy() const
Definition: settings.h:372
UnionFsType union_fs() const
Definition: settings.h:212
const SettingsKeychain & keychain() const
Definition: settings.h:439
void SetTmpDir(const std::string &tmp_dir)
Definition: settings.cc:311
bool IsManagedRepository() const
Definition: settings.h:524
Setting< bool > in_enter_session_
Definition: settings.h:233
void SetDryRun(bool value)
Definition: settings.cc:118
std::string scratch_wastebin() const
Definition: settings.h:102
Setting< std::string > template_from_
Definition: settings.h:267
Setting< uid_t > owner_uid_
Definition: settings.h:448
std::string union_mnt() const
Definition: settings.h:99
Setting< bool > use_catalog_autobalance_
Definition: settings.h:251
bool print_changeset() const
Definition: settings.h:209
void SetProxy(const std::string &proxy)
Definition: settings.cc:351
std::string GetReadOnlyXAttr(const std::string &attr)
Definition: settings.cc:490
std::string publishing_lock() const
Definition: settings.h:117
std::string lease_path() const
Definition: settings.h:213
void SetUrl(const std::string &url)
Definition: settings.cc:345
std::string master_private_key_path() const
Definition: settings.h:326
std::string ovl_work_dir() const
Definition: settings.h:109
SettingsRepository CreateSettingsRepository(const std::string &ident)
Definition: settings.cc:438
Setting< unsigned > autobalance_max_weight_
Definition: settings.h:252
const SettingsSpoolArea & spool_area() const
Definition: settings.h:217
void SetLimitRootCatalogKentries(unsigned value)
Definition: settings.cc:94
Setting< std::string > url_
Definition: settings.h:480
void SetIsManaged(bool value)
Definition: settings.cc:372
Setting & operator=(const T &v)
Definition: settings.h:34
Setting< std::string > workspace_
Definition: settings.h:123
const SettingsTransaction & transaction() const
Definition: settings.h:438
Setting< std::string > fqrn_
Definition: settings.h:445
SettingsPublisher * CreateSettingsPublisherFromSession()
Definition: settings.cc:500
uint32_t ttl_second() const
Definition: settings.h:195
Setting< std::string > alias_
Definition: settings.h:479
SettingsKeychain keychain_
Definition: settings.h:459
bool is_default() const
Definition: settings.h:51
std::string proxy() const
Definition: settings.h:427
void SetHashAlgorithm(const std::string &algorithm)
Definition: settings.cc:77
std::string workspace() const
Definition: settings.h:93
void SetLocator(const std::string &locator)
Definition: settings.cc:213
SettingsTransaction(const std::string &fqrn)
Definition: settings.h:135
Setting< std::string > fqrn_
Definition: settings.h:298
void SetCertBundle(const std::string &cert_bundle)
Definition: settings.cc:316
zlib::Algorithms compression_algorithm() const
Definition: settings.h:192
std::string certificate_path() const
Definition: settings.h:333
Setting< bool > print_changeset_
Definition: settings.h:254
std::string url() const
Definition: settings.h:475
bool is_managed() const
Definition: settings.h:434
SettingsStorage * GetStorage()
Definition: settings.h:440
const SettingsStorage & storage() const
Definition: settings.h:437
Setting< zlib::Algorithms > compression_algorithm_
Definition: settings.h:243
Setting< std::string > fqrn_
Definition: settings.h:337
Setting< std::string > cert_bundle_
Definition: settings.h:386
OptionsManager * options_mgr() const
Definition: settings.h:523
void SetLimitFileSizeMb(unsigned value)
Definition: settings.cc:98
Setting< std::string > url_
Definition: settings.h:446
Setting< std::string > template_to_
Definition: settings.h:268
void SetUseCatalogAutobalance(bool value)
Definition: settings.cc:102
Setting< EUnionMountRepairMode > repair_mode_
Definition: settings.h:129
Setting< unsigned > autobalance_min_weight_
Definition: settings.h:253
void SetCompressionAlgorithm(const std::string &algorithm)
Definition: settings.cc:81
bool enforce_limits() const
Definition: settings.h:198
Setting< std::string > private_key_path_
Definition: settings.h:341
void SetSpoolArea(const std::string &path)
Definition: settings.cc:32
Setting< shash::Algorithms > hash_algorithm_
Definition: settings.h:242
unsigned limit_file_size_mb() const
Definition: settings.h:205
void SetEnforceLimits(bool value)
Definition: settings.cc:86
Setting< std::string > tmp_dir_
Definition: settings.h:300
void SetProxy(const std::string &proxy)
Definition: settings.cc:306
Setting< std::string > master_private_key_path_
Definition: settings.h:339
shash::Any base_hash() const
Definition: settings.h:190
const SettingsKeychain & keychain() const
Definition: settings.h:376
static const unsigned kDefaultWhitelistValidity
Definition: settings.h:397
std::string tmp_dir() const
Definition: settings.h:94
Setting< std::string > proxy_
Definition: settings.h:447
void SetBaseHash(const shash::Any &hash)
Definition: settings.cc:73
Setting< std::string > endpoint_
Definition: settings.h:301
void SetPrintChangeset(bool value)
Definition: settings.cc:114
std::string readonly_talk_socket() const
Definition: settings.h:96
SettingsStorage(const std::string &fqrn)
Definition: settings.h:280
std::string scratch_dir() const
Definition: settings.h:101
std::string gw_session_token() const
Definition: settings.h:111
unsigned whitelist_validity_days() const
Definition: settings.h:428
std::map< std::string, std::string > GetSessionEnvironment()
Definition: settings.cc:389
SettingsSpoolArea * GetSpoolArea()
Definition: settings.h:218
bool HasDanglingRepositoryKeys() const
Definition: settings.cc:259
std::string fqrn() const
Definition: settings.h:425
std::string fqrn() const
Definition: settings.h:370
SettingsStorage storage_
Definition: settings.h:457
Setting< unsigned > limit_file_size_mb_
Definition: settings.h:250
void MakeLocal(const std::string &path)
Definition: settings.cc:197
Setting< std::string > master_public_key_path_
Definition: settings.h:340
upload::SpoolerDefinition::DriverType type() const
Definition: settings.h:294
std::string scratch_base() const
Definition: settings.h:100
void SetOwner(const std::string &user_name)
Definition: settings.cc:356
void SetRepairMode(const EUnionMountRepairMode val)
Definition: settings.cc:41
std::string template_from() const
Definition: settings.h:214
uid_t owner_uid() const
Definition: settings.h:431
bool in_enter_session() const
Definition: settings.h:189
Setting< unsigned > limit_nested_catalog_kentries_
Definition: settings.h:248
Setting< std::string > fqrn_
Definition: settings.h:478
Setting< bool > is_volatile_
Definition: settings.h:246
SettingsKeychain keychain_
Definition: settings.h:388
Setting< bool > dry_run_
Definition: settings.h:255
Setting< std::string > certificate_path_
Definition: settings.h:342
std::string url() const
Definition: settings.h:371
bool SetIfDefault(const T &v)
Definition: settings.h:44
Setting< std::string > proxy_
Definition: settings.h:382
std::string client_lconfig() const
Definition: settings.h:106
void MakeS3(const std::string &s3_config, const std::string &tmp_dir)
Definition: settings.cc:188
std::string url() const
Definition: settings.h:426
Setting< std::string > tmp_dir_
Definition: settings.h:124
std::string GetLocator() const
Definition: settings.cc:182
Setting< std::string > url_
Definition: settings.h:381
void SetInEnterSession(const bool value)
Definition: settings.cc:69
SettingsReplica(const std::string &fqrn)
Definition: settings.h:468
Setting< std::string > gw_key_path_
Definition: settings.h:343
Setting(const T &v)
Definition: settings.h:32
Setting< std::string > lease_path_
Definition: settings.h:262
std::string tmp_dir() const
Definition: settings.h:373
SettingsSpoolArea(const std::string &fqrn)
Definition: settings.h:77
Setting< bool > is_garbage_collectable_
Definition: settings.h:245
Setting< std::string > fqrn_
Definition: settings.h:380
bool HasDanglingMasterKeys() const
Definition: settings.cc:245
std::string client_log() const
Definition: settings.h:107
bool is_garbage_collectable() const
Definition: settings.h:196