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 
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 SetEnableMtimeNs(bool value);
170  void SetLimitNestedCatalogKentries(unsigned value);
171  void SetLimitRootCatalogKentries(unsigned value);
172  void SetLimitFileSizeMb(unsigned value);
173  void SetUseCatalogAutobalance(bool value);
174  void SetAutobalanceMaxWeight(unsigned value);
175  void SetAutobalanceMinWeight(unsigned value);
176  void SetPrintChangeset(bool value);
177  void SetDryRun(bool value);
178  void SetTimeout(unsigned seconds);
179  void SetLeasePath(const std::string &path);
180  void SetTemplate(const std::string &from, const std::string &to);
181  void DetectUnionFsType();
182 
187  int GetTimeoutS() const;
188 
189  unsigned layout_revision() const { return layout_revision_(); }
190  bool in_enter_session() const { return in_enter_session_(); }
191  shash::Any base_hash() const { return base_hash_(); }
194  return compression_algorithm_();
195  }
196  uint32_t ttl_second() const { return ttl_second_(); }
198  bool is_volatile() const { return is_volatile_(); }
199  bool enforce_limits() const { return enforce_limits_(); }
200  bool enable_mtime_ns() const { return enable_mtime_ns_(); }
201  unsigned limit_nested_catalog_kentries() const {
203  }
204  unsigned limit_root_catalog_kentries() const {
206  }
207  unsigned limit_file_size_mb() const { return limit_file_size_mb_(); }
209  unsigned autobalance_max_weight() const { return autobalance_max_weight_(); }
210  unsigned autobalance_min_weight() const { return autobalance_min_weight_(); }
211  bool print_changeset() const { return print_changeset_(); }
212  bool dry_run() const { return dry_run_(); }
213  std::string voms_authz() const { return voms_authz_(); }
214  UnionFsType union_fs() const { return union_fs_(); }
215  std::string lease_path() const { return lease_path_(); }
216  std::string template_from() const { return template_from_(); }
217  std::string template_to() const { return template_to_(); }
218 
219  const SettingsSpoolArea &spool_area() const { return spool_area_; }
221 
222  bool HasTemplate() const { return !template_to().empty(); }
223 
224  private:
225  bool ValidateUnionFs();
226 
272 
274 }; // class SettingsTransaction
275 
276 
277 class SettingsGc {
278 }; // class SettingsGc
279 
280 
282  public:
283  explicit SettingsStorage(const std::string &fqrn)
284  : fqrn_(fqrn)
285  , type_(upload::SpoolerDefinition::Local)
286  , tmp_dir_(std::string("/srv/cvmfs/") + fqrn + "/data/txn")
287  , endpoint_(std::string("/srv/cvmfs/") + fqrn)
288  { }
289 
290  std::string GetLocator() const;
291  void SetLocator(const std::string &locator);
292  void MakeLocal(const std::string &path);
293  void MakeS3(const std::string &s3_config, const std::string &tmp_dir);
294  void MakeGateway(const std::string &host, unsigned port,
295  const std::string &tmp_dir);
296 
298  std::string endpoint() const { return endpoint_(); }
299 
300  private:
305 }; // class SettingsStorage
306 
307 
309  public:
310  explicit SettingsKeychain(const std::string &fqrn)
311  : fqrn_(fqrn)
312  , keychain_dir_("/etc/cvmfs/keys")
313  , master_private_key_path_(keychain_dir_() + "/" + fqrn + ".masterkey")
314  , master_public_key_path_(keychain_dir_() + "/" + fqrn + ".pub")
315  , private_key_path_(keychain_dir_() + "/" + fqrn + ".key")
316  , certificate_path_(keychain_dir_() + "/" + fqrn + ".crt")
317  , gw_key_path_(keychain_dir_() + "/" + fqrn + ".gw")
318  {}
319 
320  void SetKeychainDir(const std::string &keychain_dir);
321 
322  bool HasDanglingMasterKeys() const;
323  bool HasMasterKeys() const;
324  bool HasDanglingRepositoryKeys() const;
325  bool HasRepositoryKeys() const;
326  bool HasGatewayKey() const;
327 
328  std::string keychain_dir() const { return keychain_dir_(); }
329  std::string master_private_key_path() const {
330  return master_private_key_path_();
331  }
332  std::string master_public_key_path() const {
333  return master_public_key_path_();
334  }
335  std::string private_key_path() const { return private_key_path_(); }
336  std::string certificate_path() const { return certificate_path_(); }
337  std::string gw_key_path() const { return gw_key_path_(); }
338 
339  private:
347 }; // class SettingsKeychain
348 
349 
350 class SettingsPublisher;
351 class SettingsReplica;
352 
357  public:
358  explicit SettingsRepository(const std::string &fqrn)
359  : fqrn_(fqrn)
360  , url_(std::string("http://localhost/cvmfs/") + fqrn_())
361  , proxy_("")
362  , tmp_dir_("/tmp")
363  , keychain_(fqrn)
364  {}
365  explicit SettingsRepository(const SettingsPublisher &settings_publisher);
366  explicit SettingsRepository(const SettingsReplica &settings_replica);
367 
368  void SetUrl(const std::string &url);
369  void SetProxy(const std::string &proxy);
370  void SetTmpDir(const std::string &tmp_dir);
371  void SetCertBundle(const std::string &cert_bundle);
372 
373  std::string fqrn() const { return fqrn_(); }
374  std::string url() const { return url_(); }
375  std::string proxy() const { return proxy_(); }
376  std::string tmp_dir() const { return tmp_dir_(); }
377  std::string cert_bundle() const { return cert_bundle_(); }
378 
379  const SettingsKeychain &keychain() const { return keychain_; }
381 
382  private:
387  // Currently only used for testing, steered by X509_CERT_BUNDLE
388  // in /etc/cvmfs/server.local
390 
392 }; // class SettingsRepository
393 
394 
399  public:
400  static const unsigned kDefaultWhitelistValidity; // 30 days
401 
402  explicit SettingsPublisher(const std::string &fqrn)
403  : fqrn_(fqrn)
404  , url_(std::string("http://localhost/cvmfs/") + fqrn)
405  , proxy_("")
406  , owner_uid_(0)
407  , owner_gid_(0)
409  , is_silent_(false)
410  , is_managed_(false)
411  , ignore_invalid_lease_(false)
412  , storage_(fqrn_())
413  , transaction_(fqrn_())
414  , keychain_(fqrn_())
415  { }
416  explicit SettingsPublisher(const SettingsRepository &settings_repository);
417 
418  void SetUrl(const std::string &url);
419  void SetProxy(const std::string &proxy);
420  void SetOwner(const std::string &user_name);
421  void SetOwner(uid_t uid, gid_t gid);
422  void SetIsSilent(bool value);
423  void SetIsManaged(bool value);
424  void SetIgnoreInvalidLease(bool value);
425 
426  std::string GetReadOnlyXAttr(const std::string &attr);
427 
428  std::string fqrn() const { return fqrn_(); }
429  std::string url() const { return url_(); }
430  std::string proxy() const { return proxy_(); }
431  unsigned whitelist_validity_days() const {
432  return whitelist_validity_days_();
433  }
434  uid_t owner_uid() const { return owner_uid_(); }
435  uid_t owner_gid() const { return owner_gid_(); }
436  bool is_silent() const { return is_silent_(); }
437  bool is_managed() const { return is_managed_(); }
438  bool ignore_invalid_lease() const { return ignore_invalid_lease_(); }
439 
440  const SettingsStorage &storage() const { return storage_; }
441  const SettingsTransaction &transaction() const { return transaction_; }
442  const SettingsKeychain &keychain() const { return keychain_; }
446 
447  private:
456  // When trying to drop the session, ignore an invalid lease failure. Useful
457  // to recover a publisher with abort -f.
459 
463 }; // SettingsPublisher
464 
465 
470  public:
471  explicit SettingsReplica(const std::string &fqrn)
472  : fqrn_(fqrn)
473  , alias_(fqrn)
474  , url_(std::string("http://localhost/cvmfs/") + alias_())
475  {}
476 
477  std::string fqrn() const { return fqrn_(); }
478  std::string url() const { return url_(); }
479 
480  private:
484 }; // class SettingsReplica
485 
486 
492  public:
494  : config_path_("/etc/cvmfs/repositories.d")
495  , options_mgr_(NULL)
496  {}
501  explicit SettingsBuilder(const std::string &c) : config_path_(c) {}
502 
510  SettingsRepository CreateSettingsRepository(const std::string &ident);
511 
524  const std::string &ident, bool needs_managed = false);
525 
527  bool IsManagedRepository() const { return options_mgr_ != NULL; }
528 
533  SettingsPublisher* settings_publisher);
534 
535  void SetConfigPath(const std::string &config_path) {
536  config_path_ = config_path;
537  }
538 
539  private:
544  std::string config_path_;
545 
551  // TODO(avalenzu): options_mgr_ should become a unique pointer.
552 
560  std::string GetSingleAlias();
561 
566  std::map<std::string, std::string> GetSessionEnvironment();
567 
572 }; // class SettingsBuilder
573 
574 } // namespace publish
575 
576 #endif // CVMFS_PUBLISH_SETTINGS_H_
unsigned autobalance_min_weight() const
Definition: settings.h:210
void SetUnionFsType(const std::string &union_fs)
Definition: settings.cc:126
SettingsKeychain * GetKeychain()
Definition: settings.h:380
SettingsSpoolArea spool_area_
Definition: settings.h:273
Setting< std::string > keychain_dir_
Definition: settings.h:341
void SetIgnoreInvalidLease(bool value)
Definition: settings.cc:380
Setting< unsigned > whitelist_validity_days_
Definition: settings.h:453
bool use_catalog_autobalance() const
Definition: settings.h:208
std::string endpoint() const
Definition: settings.h:298
std::string config_path_
Definition: settings.h:544
std::string readonly_mnt() const
Definition: settings.h:95
std::string checkout_marker() const
Definition: settings.h:110
void SetEnableMtimeNs(bool value)
Definition: settings.cc:90
bool HasGatewayKey() const
Definition: settings.cc:276
Setting< unsigned > timeout_s_
Definition: settings.h:264
const T & operator()() const
Definition: settings.h:40
shash::Algorithms hash_algorithm() const
Definition: settings.h:192
std::string voms_authz() const
Definition: settings.h:213
SettingsPublisher * CreateSettingsPublisher(const std::string &ident, bool needs_managed=false)
Definition: settings.cc:602
SettingsTransaction * GetTransaction()
Definition: settings.h:444
void SetUrl(const std::string &url)
Definition: settings.cc:304
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:207
Setting< bool > is_managed_
Definition: settings.h:455
void SetTimeout(unsigned seconds)
Definition: settings.cc:158
SettingsKeychain * GetKeychain()
Definition: settings.h:445
unsigned limit_root_catalog_kentries() const
Definition: settings.h:204
uid_t owner_gid() const
Definition: settings.h:435
void SetKeychainDir(const std::string &keychain_dir)
Definition: settings.cc:239
Setting< gid_t > owner_gid_
Definition: settings.h:452
std::string fqrn() const
Definition: settings.h:477
std::string keychain_dir() const
Definition: settings.h:328
void SetLimitNestedCatalogKentries(unsigned value)
Definition: settings.cc:94
EUnionMountRepairMode
Definition: settings.h:64
void SetAutobalanceMaxWeight(unsigned value)
Definition: settings.cc:110
std::string gw_key_path() const
Definition: settings.h:337
void SetIsSilent(bool value)
Definition: settings.cc:372
bool HasTemplate() const
Definition: settings.h:222
SettingsKeychain(const std::string &fqrn)
Definition: settings.h:310
bool ignore_invalid_lease() const
Definition: settings.h:438
Setting< UnionFsType > union_fs_
Definition: settings.h:260
unsigned layout_revision() const
Definition: settings.h:189
Setting< upload::SpoolerDefinition::DriverType > type_
Definition: settings.h:302
Setting< uint32_t > ttl_second_
Definition: settings.h:246
std::string private_key_path() const
Definition: settings.h:335
void SetTemplate(const std::string &from, const std::string &to)
Definition: settings.cc:172
Setting< bool > enforce_limits_
Definition: settings.h:249
unsigned autobalance_max_weight() const
Definition: settings.h:209
std::string GetSingleAlias()
Definition: settings.cc:419
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:217
SettingsRepository(const std::string &fqrn)
Definition: settings.h:358
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:461
void SetConfigPath(const std::string &config_path)
Definition: settings.h:535
Setting< std::string > voms_authz_
Definition: settings.h:259
Setting< bool > ignore_invalid_lease_
Definition: settings.h:458
bool enable_mtime_ns() const
Definition: settings.h:200
bool is_default_
Definition: settings.h:57
void SetLeasePath(const std::string &path)
Definition: settings.cc:168
Setting< std::string > tmp_dir_
Definition: settings.h:386
unsigned limit_nested_catalog_kentries() const
Definition: settings.h:201
std::string cert_bundle() const
Definition: settings.h:377
Setting< unsigned > layout_revision_
Definition: settings.h:230
bool is_volatile() const
Definition: settings.h:198
void SetAutobalanceMinWeight(unsigned value)
Definition: settings.cc:114
char algorithm
SettingsPublisher(const std::string &fqrn)
Definition: settings.h:402
OptionsManager * options_mgr_
Definition: settings.h:550
Setting< bool > is_silent_
Definition: settings.h:454
bool HasMasterKeys() const
Definition: settings.cc:257
void ApplyOptionsFromServerPath(const OptionsManager &options_mgr_, SettingsPublisher *settings_publisher)
Definition: settings.cc:540
Setting< shash::Any > base_hash_
Definition: settings.h:243
Algorithms
Definition: hash.h:41
bool is_silent() const
Definition: settings.h:436
std::string master_public_key_path() const
Definition: settings.h:332
Setting< unsigned > limit_root_catalog_kentries_
Definition: settings.h:252
SettingsBuilder(const std::string &c)
Definition: settings.h:501
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:271
std::string proxy() const
Definition: settings.h:375
UnionFsType union_fs() const
Definition: settings.h:214
const SettingsKeychain & keychain() const
Definition: settings.h:442
void SetTmpDir(const std::string &tmp_dir)
Definition: settings.cc:315
bool IsManagedRepository() const
Definition: settings.h:527
Setting< bool > in_enter_session_
Definition: settings.h:235
void SetDryRun(bool value)
Definition: settings.cc:122
std::string scratch_wastebin() const
Definition: settings.h:102
Setting< std::string > template_from_
Definition: settings.h:270
Setting< uid_t > owner_uid_
Definition: settings.h:451
std::string union_mnt() const
Definition: settings.h:99
Setting< bool > use_catalog_autobalance_
Definition: settings.h:254
bool print_changeset() const
Definition: settings.h:211
void SetProxy(const std::string &proxy)
Definition: settings.cc:355
std::string GetReadOnlyXAttr(const std::string &attr)
Definition: settings.cc:494
std::string publishing_lock() const
Definition: settings.h:117
std::string lease_path() const
Definition: settings.h:215
void SetUrl(const std::string &url)
Definition: settings.cc:349
std::string master_private_key_path() const
Definition: settings.h:329
std::string ovl_work_dir() const
Definition: settings.h:109
SettingsRepository CreateSettingsRepository(const std::string &ident)
Definition: settings.cc:442
Setting< unsigned > autobalance_max_weight_
Definition: settings.h:255
const SettingsSpoolArea & spool_area() const
Definition: settings.h:219
void SetLimitRootCatalogKentries(unsigned value)
Definition: settings.cc:98
Setting< std::string > url_
Definition: settings.h:483
void SetIsManaged(bool value)
Definition: settings.cc:376
Setting & operator=(const T &v)
Definition: settings.h:34
Setting< std::string > workspace_
Definition: settings.h:123
const SettingsTransaction & transaction() const
Definition: settings.h:441
Setting< std::string > fqrn_
Definition: settings.h:448
SettingsPublisher * CreateSettingsPublisherFromSession()
Definition: settings.cc:504
uint32_t ttl_second() const
Definition: settings.h:196
Setting< std::string > alias_
Definition: settings.h:482
SettingsKeychain keychain_
Definition: settings.h:462
bool is_default() const
Definition: settings.h:51
std::string proxy() const
Definition: settings.h:430
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:217
SettingsTransaction(const std::string &fqrn)
Definition: settings.h:135
Setting< std::string > fqrn_
Definition: settings.h:301
void SetCertBundle(const std::string &cert_bundle)
Definition: settings.cc:320
zlib::Algorithms compression_algorithm() const
Definition: settings.h:193
std::string certificate_path() const
Definition: settings.h:336
Setting< bool > print_changeset_
Definition: settings.h:257
std::string url() const
Definition: settings.h:478
bool is_managed() const
Definition: settings.h:437
SettingsStorage * GetStorage()
Definition: settings.h:443
const SettingsStorage & storage() const
Definition: settings.h:440
Setting< zlib::Algorithms > compression_algorithm_
Definition: settings.h:245
Setting< std::string > fqrn_
Definition: settings.h:340
Setting< std::string > cert_bundle_
Definition: settings.h:389
OptionsManager * options_mgr() const
Definition: settings.h:526
void SetLimitFileSizeMb(unsigned value)
Definition: settings.cc:102
Setting< std::string > url_
Definition: settings.h:449
Setting< std::string > template_to_
Definition: settings.h:271
void SetUseCatalogAutobalance(bool value)
Definition: settings.cc:106
Setting< EUnionMountRepairMode > repair_mode_
Definition: settings.h:129
Setting< unsigned > autobalance_min_weight_
Definition: settings.h:256
void SetCompressionAlgorithm(const std::string &algorithm)
Definition: settings.cc:81
bool enforce_limits() const
Definition: settings.h:199
Setting< std::string > private_key_path_
Definition: settings.h:344
void SetSpoolArea(const std::string &path)
Definition: settings.cc:32
Setting< shash::Algorithms > hash_algorithm_
Definition: settings.h:244
unsigned limit_file_size_mb() const
Definition: settings.h:207
void SetEnforceLimits(bool value)
Definition: settings.cc:86
Setting< std::string > tmp_dir_
Definition: settings.h:303
void SetProxy(const std::string &proxy)
Definition: settings.cc:310
Setting< std::string > master_private_key_path_
Definition: settings.h:342
shash::Any base_hash() const
Definition: settings.h:191
const SettingsKeychain & keychain() const
Definition: settings.h:379
static const unsigned kDefaultWhitelistValidity
Definition: settings.h:400
std::string tmp_dir() const
Definition: settings.h:94
Setting< std::string > proxy_
Definition: settings.h:450
void SetBaseHash(const shash::Any &hash)
Definition: settings.cc:73
Setting< std::string > endpoint_
Definition: settings.h:304
void SetPrintChangeset(bool value)
Definition: settings.cc:118
std::string readonly_talk_socket() const
Definition: settings.h:96
SettingsStorage(const std::string &fqrn)
Definition: settings.h:283
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:431
std::map< std::string, std::string > GetSessionEnvironment()
Definition: settings.cc:393
SettingsSpoolArea * GetSpoolArea()
Definition: settings.h:220
bool HasDanglingRepositoryKeys() const
Definition: settings.cc:263
std::string fqrn() const
Definition: settings.h:428
std::string fqrn() const
Definition: settings.h:373
SettingsStorage storage_
Definition: settings.h:460
Setting< unsigned > limit_file_size_mb_
Definition: settings.h:253
void MakeLocal(const std::string &path)
Definition: settings.cc:201
Setting< std::string > master_public_key_path_
Definition: settings.h:343
upload::SpoolerDefinition::DriverType type() const
Definition: settings.h:297
std::string scratch_base() const
Definition: settings.h:100
void SetOwner(const std::string &user_name)
Definition: settings.cc:360
void SetRepairMode(const EUnionMountRepairMode val)
Definition: settings.cc:41
std::string template_from() const
Definition: settings.h:216
uid_t owner_uid() const
Definition: settings.h:434
bool in_enter_session() const
Definition: settings.h:190
Setting< unsigned > limit_nested_catalog_kentries_
Definition: settings.h:251
Setting< std::string > fqrn_
Definition: settings.h:481
Setting< bool > is_volatile_
Definition: settings.h:248
SettingsKeychain keychain_
Definition: settings.h:391
Setting< bool > dry_run_
Definition: settings.h:258
Setting< std::string > certificate_path_
Definition: settings.h:345
std::string url() const
Definition: settings.h:374
bool SetIfDefault(const T &v)
Definition: settings.h:44
Setting< std::string > proxy_
Definition: settings.h:385
std::string client_lconfig() const
Definition: settings.h:106
void MakeS3(const std::string &s3_config, const std::string &tmp_dir)
Definition: settings.cc:192
std::string url() const
Definition: settings.h:429
Setting< std::string > tmp_dir_
Definition: settings.h:124
std::string GetLocator() const
Definition: settings.cc:186
Setting< std::string > url_
Definition: settings.h:384
void SetInEnterSession(const bool value)
Definition: settings.cc:69
SettingsReplica(const std::string &fqrn)
Definition: settings.h:471
Setting< std::string > gw_key_path_
Definition: settings.h:346
Setting(const T &v)
Definition: settings.h:32
Setting< std::string > lease_path_
Definition: settings.h:265
std::string tmp_dir() const
Definition: settings.h:376
SettingsSpoolArea(const std::string &fqrn)
Definition: settings.h:77
Setting< bool > is_garbage_collectable_
Definition: settings.h:247
Setting< std::string > fqrn_
Definition: settings.h:383
bool HasDanglingMasterKeys() const
Definition: settings.cc:249
Setting< bool > enable_mtime_ns_
Definition: settings.h:250
std::string client_log() const
Definition: settings.h:107
bool is_garbage_collectable() const
Definition: settings.h:197