from frostfs_testlib.storage.constants import _FrostfsServicesNames from frostfs_testlib.storage.dataclasses.frostfs_services import ( HTTPGate, InnerRing, MorphChain, S3Gate, StorageNode, ) from frostfs_testlib.storage.service_registry import ServiceRegistry __class_registry = ServiceRegistry() # Register default public services __class_registry.register_service(_FrostfsServicesNames.STORAGE, StorageNode) __class_registry.register_service(_FrostfsServicesNames.INNER_RING, InnerRing) __class_registry.register_service(_FrostfsServicesNames.MORPH_CHAIN, MorphChain) __class_registry.register_service(_FrostfsServicesNames.S3_GATE, S3Gate) __class_registry.register_service(_FrostfsServicesNames.HTTP_GATE, HTTPGate) def get_service_registry() -> ServiceRegistry: """Returns registry with registered classes related to cluster and cluster nodes. ServiceClassRegistry is a singleton instance that can be configured with multiple classes that represents service on the cluster physical node. Returns: Singleton ServiceClassRegistry instance. """ return __class_registry