CernVM-FS
2.12.0
|
#include <manifest.h>
Static Public Member Functions | |
static Manifest * | LoadFile (const std::string &path) |
static Manifest * | LoadMem (const unsigned char *buffer, const unsigned length) |
static Breadcrumb | ReadBreadcrumb (const std::string &repo_name, const std::string &directory) |
Static Private Member Functions | |
static Manifest * | Load (const std::map< char, std::string > &content) |
Private Attributes | |
shash::Any | catalog_hash_ |
uint64_t | catalog_size_ |
shash::Md5 | root_path_ |
uint32_t | ttl_ |
uint64_t | revision_ |
shash::Any | micro_catalog_hash_ |
std::string | repository_name_ |
shash::Any | certificate_ |
shash::Any | history_ |
uint64_t | publish_timestamp_ |
bool | garbage_collectable_ |
bool | has_alt_catalog_path_ |
shash::Any | meta_info_ |
shash::Any | reflog_hash_ |
The Manifest is the bootstrap snippet for a repository. It is stored in .cvmfspublished.
Definition at line 49 of file manifest.h.
manifest::Manifest::Manifest | ( | const shash::Any & | catalog_hash, |
const uint64_t | catalog_size, | ||
const std::string & | root_path | ||
) |
|
inline |
Definition at line 56 of file manifest.h.
|
inline |
Definition at line 132 of file manifest.h.
Referenced by publish::CreateRootObjects(), manifest::DoVerify(), swissknife::RootChainWalker::FindObjectsAndPopulateReflog(), publish::GetSimpleCatalogManager(), swissknife::CommandCheck::InspectReflog(), swissknife::CommandPull::Main(), receiver::CommitProcessor::Process(), publish::PushManifest(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::Run(), set_catalog_hash(), ExternalCacheManager::StoreBreadcrumb(), publish::Sync(), and publish::TransactionImpl().
|
inline |
Definition at line 133 of file manifest.h.
Referenced by publish::CreateRootObjects(), and set_catalog_size().
|
inline |
Definition at line 134 of file manifest.h.
Referenced by swissknife::CommandReconstructReflog::AddStaticManifestObjects(), manifest::DoVerify(), swissknife::CommandCheck::InspectReflog(), catalog::ClientCatalogManager::LoadCatalogByHash(), swissknife::CommandPull::Main(), publish::PushManifest(), and set_certificate().
bool manifest::Manifest::Export | ( | const std::string & | path | ) | const |
Writes the .cvmfspublished file (unsigned).
Definition at line 223 of file manifest.cc.
Referenced by receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::CreateNewManifest(), swissknife::CommandMigrate::DoMigrationAndCommit(), and ExportBreadcrumb().
bool manifest::Manifest::ExportBreadcrumb | ( | const std::string & | directory, |
const int | mode | ||
) | const |
Writes the cvmfschecksum.$repository file. Atomic store.
Definition at line 246 of file manifest.cc.
Referenced by swissknife::CommandPull::Main(), and PosixCacheManager::StoreBreadcrumb().
string manifest::Manifest::ExportString | ( | ) | const |
Creates the manifest string
Definition at line 188 of file manifest.cc.
Referenced by Export(), and publish::PushManifest().
|
inline |
Definition at line 137 of file manifest.h.
Referenced by swissknife::CommandPull::Main(), and set_garbage_collectability().
|
inline |
Definition at line 91 of file manifest.h.
Referenced by catalog::WritableCatalogManager::CreateRepository(), and swissknife::CommandPull::Main().
|
inline |
Definition at line 138 of file manifest.h.
Referenced by swissknife::CommandPull::Main(), and publish::PushManifest().
|
inline |
Definition at line 135 of file manifest.h.
Referenced by publish::DownloadRootObjects(), MountPoint::FetchHistory(), swissknife::RootChainWalker::FindObjectsAndPopulateReflog(), swissknife::Assistant::GetHistory(), swissknife::CommandTag::GetHistory(), swissknife::CommandCheck::InspectReflog(), swissknife::CommandPull::Main(), publish::PushHistory(), and publish::PushManifest().
|
staticprivate |
|
static |
Definition at line 92 of file manifest.cc.
Referenced by LocalObjectFetcher< CatalogT, HistoryT, ReflogT >::FetchManifest(), swissknife::CommandInfo::Main(), ServerTool::OpenLocalManifest(), and SigningTool::Run().
|
static |
Definition at line 82 of file manifest.cc.
Referenced by anonymous_namespace{notification_client.cc}::ActivitySubscriber::Consume(), anonymous_namespace{cmd_sub.cc}::SwissknifeSubscriber::Consume(), notify::DoPublish(), manifest::DoVerify(), and swissknife::CommandInfo::Main().
|
inline |
|
inline |
Definition at line 147 of file manifest.h.
Referenced by manifest::DoVerify().
|
inline |
Definition at line 139 of file manifest.h.
Referenced by swissknife::CommandReconstructReflog::AddStaticManifestObjects(), publish::DownloadRootObjects(), swissknife::CommandCheck::InspectReflog(), swissknife::CommandPull::Main(), RepoMetainfoMagicXattr::PrepareValueFenced(), publish::PushManifest(), and set_meta_info().
|
inline |
Definition at line 136 of file manifest.h.
Referenced by publish::CreateRootObjects(), manifest::DoVerify(), set_publish_timestamp(), and ExternalCacheManager::StoreBreadcrumb().
|
static |
Read the hash and the last-modified time stamp from the cvmfschecksum.$repository file in the given directory.
Definition at line 256 of file manifest.cc.
Referenced by PosixCacheManager::LoadBreadcrumb().
|
inline |
Definition at line 140 of file manifest.h.
Referenced by swissknife::CommandListReflog::Main().
|
inline |
Definition at line 130 of file manifest.h.
Referenced by manifest::DoVerify(), swissknife::Assistant::GetHistory(), swissknife::CommandTag::GetHistory(), set_repository_name(), and ExternalCacheManager::StoreBreadcrumb().
|
inline |
Definition at line 129 of file manifest.h.
Referenced by publish::CreateRootObjects(), swissknife::CommandPull::Main(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::Run(), set_revision(), ExternalCacheManager::StoreBreadcrumb(), and publish::Sync().
|
inline |
Definition at line 131 of file manifest.h.
Referenced by manifest::DoVerify().
|
inline |
Definition at line 110 of file manifest.h.
Referenced by catalog::WritableCatalogManager::Commit(), and swissknife::CommandMigrate::DoMigrationAndCommit().
|
inline |
Definition at line 107 of file manifest.h.
Referenced by catalog::WritableCatalogManager::Commit(), and swissknife::CommandMigrate::DoMigrationAndCommit().
|
inline |
Definition at line 95 of file manifest.h.
Referenced by publish::OnProcessCertificate().
|
inline |
Definition at line 113 of file manifest.h.
Referenced by publish::CreateRootObjects().
|
inline |
Definition at line 116 of file manifest.h.
Referenced by catalog::WritableCatalogManager::CreateRepository(), and publish::CreateRootObjects().
|
inline |
Definition at line 98 of file manifest.h.
Referenced by swissknife::CommandMigrate::DoMigrationAndCommit(), and publish::OnProcessHistory().
|
inline |
Definition at line 119 of file manifest.h.
Referenced by publish::OnProcessMetainfo().
|
inline |
|
inline |
Definition at line 125 of file manifest.h.
Referenced by publish::PushReflog().
|
inline |
Definition at line 101 of file manifest.h.
Referenced by publish::CreateRootObjects().
|
inline |
Definition at line 94 of file manifest.h.
Referenced by catalog::WritableCatalogManager::Commit(), and swissknife::CommandMigrate::DoMigrationAndCommit().
|
inline |
Definition at line 122 of file manifest.h.
Referenced by catalog::WritableCatalogManager::Commit(), and swissknife::CommandMigrate::DoMigrationAndCommit().
|
inline |
Definition at line 93 of file manifest.h.
Referenced by catalog::WritableCatalogManager::Commit(), publish::CreateRootObjects(), and swissknife::CommandMigrate::DoMigrationAndCommit().
|
private |
Definition at line 154 of file manifest.h.
Referenced by catalog_hash(), ExportBreadcrumb(), ExportString(), GetHashAlgorithm(), MakeCatalogPath(), and set_catalog_hash().
|
private |
Definition at line 155 of file manifest.h.
Referenced by catalog_size(), ExportString(), and set_catalog_size().
|
private |
Definition at line 161 of file manifest.h.
Referenced by certificate(), ExportString(), MakeCertificatePath(), and set_certificate().
|
private |
Definition at line 164 of file manifest.h.
Referenced by ExportString(), garbage_collectable(), and set_garbage_collectability().
|
private |
The root catalog and the certificate might be available as .cvmfscatalog and .cvmfscertificate. That is helpful if the data subdirectory is protected on the web server.
Definition at line 171 of file manifest.h.
Referenced by ExportString(), has_alt_catalog_path(), MakeCatalogPath(), MakeCertificatePath(), and set_has_alt_catalog_path().
|
private |
Definition at line 162 of file manifest.h.
Referenced by ExportString(), history(), and set_history().
|
private |
Hash of a JSON object that describes the repository (owner, purpose, list of recommended stratum 1s, ...)
Definition at line 177 of file manifest.h.
Referenced by ExportString(), meta_info(), and set_meta_info().
|
private |
Definition at line 159 of file manifest.h.
Referenced by ExportString().
|
private |
Definition at line 163 of file manifest.h.
Referenced by ExportBreadcrumb(), ExportString(), publish_timestamp(), and set_publish_timestamp().
|
private |
Hash of the reflog file
Definition at line 182 of file manifest.h.
Referenced by ExportString(), reflog_hash(), and set_reflog_hash().
|
private |
Definition at line 160 of file manifest.h.
Referenced by ExportBreadcrumb(), ExportString(), repository_name(), and set_repository_name().
|
private |
Definition at line 158 of file manifest.h.
Referenced by ExportBreadcrumb(), ExportString(), revision(), and set_revision().
|
private |
Definition at line 156 of file manifest.h.
Referenced by ExportString(), root_path(), and set_root_path().
|
private |
Definition at line 157 of file manifest.h.
Referenced by ExportString(), and set_ttl().