Module rugged.tuf.metadata_files
Functions
def get_current_partial_root_metadata_path() ‑> str
-
Expand source code
def get_current_partial_root_metadata_path() -> str: """ Look up the full path for the current partial root metadata file. """ metadata_dir = RUGGED_PARTIAL_METADATA_DIR return get_metadata_path('root', metadata_dir)
Look up the full path for the current partial root metadata file.
def get_metadata_path(role_name: str, metadata_dir: str) ‑> str
-
Expand source code
def get_metadata_path(role_name: str, metadata_dir: str) -> str: """ Determine the path for a given role's metadata file. """ filename = _get_metadata_filename(role_name, metadata_dir) return os.path.join(metadata_dir, filename)
Determine the path for a given role's metadata file.
def get_metafile_info(metadata: tuf.api.metadata.Metadata[typing.Any]) ‑> tuf.api.metadata.MetaFile
-
Expand source code
def get_metafile_info(metadata: Metadata[Any]) -> MetaFile: """ Return role metadata information. """ serialized_metadata = get_serializer().serialize(metadata) return MetaFile( version=metadata.signed.version, length=len(serialized_metadata), # @TODO: Make hashes optional hashes={ # @TODO: Make which hashes to include configurable. 'sha256': sha256(serialized_metadata).hexdigest(), 'sha512': sha512(serialized_metadata).hexdigest(), }, )
Return role metadata information.
def load_metadata_from_file(role_name: str, path: str) ‑> tuf.api.metadata.Metadata[typing.Any]
-
Expand source code
def load_metadata_from_file(role_name: str, path: str) -> Metadata[Any]: """ Load a role's metadata from storage. """ metadata = Metadata try: loaded_metadata = metadata.from_file(path) message = f"Loaded metadata for '{role_name}' role from "\ f"'{path}'." log.debug(message) return loaded_metadata except TypeError as e: log_exception(e) error = f"Failed to load metadata for '{role_name}' role from "\ f"'{path}'." raise RuggedMetadataError(error) except DeserializationError as e: log_exception(e) error = f"Failed to deserialize data from '{path}'." raise RuggedMetadataError(error)
Load a role's metadata from storage.
def load_partial_metadata_from_file(role_name: str) ‑> tuf.api.metadata.Metadata[typing.Any]
-
Expand source code
def load_partial_metadata_from_file(role_name: str) -> Metadata[Any]: """ Load current partial Metadata. """ metadata_dir = RUGGED_PARTIAL_METADATA_DIR return _load_metadata_from_file(role_name, metadata_dir)
Load current partial Metadata.
def load_production_metadata_from_file(role_name: str) ‑> tuf.api.metadata.Metadata[typing.Any]
-
Expand source code
def load_production_metadata_from_file(role_name: str) -> Metadata[Any]: """ Load current version of production Metadata. """ metadata_dir = config['repo_metadata_path'].get() return _load_metadata_from_file(role_name, metadata_dir)
Load current version of production Metadata.
def write_metadata_to_file(role_name: str, metadata: tuf.api.metadata.Metadata[typing.Any], path: str) ‑> bool
-
Expand source code
def write_metadata_to_file(role_name: str, metadata: Metadata[Any], path: str) -> bool: """ Write a role's metadata to a given file path. """ try: metadata.to_file(path, serializer=get_serializer()) except SerializationError as e: log_exception(e) error = f"Failed to serialize '{role_name}' metadata." log.error(error) return False except Exception as e: log_exception(e) error = f"Failed to write '{role_name}' metadata to file '{path}'." log.error(error) return False log.debug(f"Wrote '{role_name}' metadata to file '{path}'.") return True
Write a role's metadata to a given file path.