graph LR
SSHClientCore["SSHClientCore"]
GroupOrchestrator["GroupOrchestrator"]
ConfigAuthManager["ConfigAuthManager"]
AppTaskProcessor["AppTaskProcessor"]
UtilityServices["UtilityServices"]
AppTaskProcessor -- "prepares tasks for" --> SSHClientCore
AppTaskProcessor -- "prepares tasks for" --> GroupOrchestrator
SSHClientCore -- "uses for configuration and authentication" --> ConfigAuthManager
GroupOrchestrator -- "operates on collections of" --> SSHClientCore
ConfigAuthManager -- "uses" --> UtilityServices
SSHClientCore -- "uses" --> UtilityServices
AppTaskProcessor -- "uses" --> UtilityServices
click SSHClientCore href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/fabric/SSHClientCore.md" "Details"
click GroupOrchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/fabric/GroupOrchestrator.md" "Details"
click ConfigAuthManager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/fabric/ConfigAuthManager.md" "Details"
click AppTaskProcessor href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/fabric/AppTaskProcessor.md" "Details"
click UtilityServices href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/fabric/UtilityServices.md" "Details"
The Fabric architecture is designed to facilitate secure and efficient remote execution and file transfer over SSH. Its core functionality revolves around managing individual SSH connections and orchestrating operations across multiple hosts. A dedicated configuration and authentication system ensures secure access, while a task processing layer prepares and expands user commands for execution. Supporting these primary functions are various utility services and a robust exception handling mechanism to manage operational errors.
Manages individual SSH connections, executes remote commands, handles file transfers, and establishes SSH tunnels. It forms the fundamental layer for interacting with remote hosts.
Related Classes/Methods:
fabric.connection.Connection(49:1115)fabric.connection.Connection.open(589:667)fabric.connection.Connection.close(709:728)fabric.connection.Connection.get_gateway(500:528)fabric.connection.Connection.open_gateway(669:707)fabric.connection.Connection.run(749:763)fabric.connection.Connection.sudo(766:777)fabric.connection.Connection.get(888:897)fabric.connection.Connection.put(899:908)fabric.connection.Connection.forward_local(915:1005)fabric.connection.Connection.forward_remote(1014:1115)fabric.fabric.runners.Remote(14:145)fabric.fabric.runners.Remote.start(48:76)fabric.fabric.runners.Remote.stop(124:129)fabric.fabric.runners.Remote.generate_result(120:122)fabric.fabric.runners.Result(172:186)fabric.fabric.transfer.Transfer(21:323)fabric.fabric.transfer.Transfer.get(43:185)fabric.fabric.transfer.Transfer.put(187:323)fabric.fabric.transfer.Result(326:361)fabric.fabric.tunnels.TunnelManager(17:106)fabric.fabric.tunnels.Tunnel(109:154)
Orchestrates and executes operations (commands, file transfers) across a defined group of remote hosts, managing serial or parallel execution and aggregating results.
Related Classes/Methods:
fabric.fabric.group.Group(9:201)fabric.fabric.group.SerialGroup(204:222)fabric.fabric.group.ThreadingGroup(231:283)fabric.fabric.group.Group.run(104:116)fabric.fabric.group.Group.sudo(118:127)fabric.fabric.group.Group.put(139:153)fabric.fabric.group.Group.get(155:186)fabric.fabric.group.GroupResult(286:342)
Manages Fabric's configuration settings, including loading SSH configurations, and handles authentication processes for establishing secure connections.
Related Classes/Methods:
fabric.fabric.config.Config(12:331)fabric.fabric.config.Config.from_v1(42:102)fabric.fabric.config.Config.load_ssh_config(176:193)fabric.fabric.config.Config._load_ssh_files(234:256)fabric.fabric.config.Config._load_ssh_file(258:274)fabric.fabric.config.Config.set_runtime_ssh_path(165:174)fabric.fabric.auth.OpenSSHAuthStrategy(16:207)fabric.fabric.auth.OpenSSHAuthStrategy.get_sources(184:193)fabric.fabric.auth.OpenSSHAuthStrategy.get_pubkeys(91:182)fabric.fabric.auth.OpenSSHAuthStrategy.authenticate(195:200)fabric.fabric.auth.OpenSSHAuthStrategy.close(202:207)
Serves as the main entry point for the Fabric application, responsible for initializing the core program and preparing/expanding user-defined tasks for execution.
Related Classes/Methods:
fabric.fabric.executor.Executor(9:127)fabric.fabric.executor.Executor.expand_calls(50:99)fabric.fabric.executor.Executor.normalize_hosts(24:48)fabric.fabric.executor.Executor.parameterize(101:120)fabric.fabric.main.Fab(18:180)fabric.fabric.main.make_program(184:190)
Provides common utility functions used across various Fabric components, such as retrieving local user information, and defines custom exceptions for error handling.
Related Classes/Methods: