waft.system.nodes.debian_node module

class waft.system.nodes.debian_node.DebianNode(client: ClientBase)

Bases: LinuxNode

Node for debian specific functionality

add_gpg_key(gpg_data: str, gpg_params: str, output_path: str) None

Run a gpg command to dearmor and save gpg key to a specific file

Parameters:
  • gpg_data – Data to save in GPG key

  • gpg_params – Additional params as a single string

  • output_path – Path where the dearmored gpg key should be saved

get_network_route(ip_address: str, optional_params: List[str] | None = None) str

Retrieve the network route to a specified IP address on a Windows system or Unix-based system.

This method uses traceroute command to find the network route for the given IP address.

Parameters:
  • ip_address (str) – The IP address for which to find the network route.

  • optional_params (Optional[List[str]]) – Additional optional parameters for the traceroute command.

Returns:

The output from the traceroute command.

Return type:

str

get_package_manager_repos() list[str]

Return dictionary of repo filenames and associated URLs

inline_ssh_env: bool = True
install_playwright_deps()

Install playwright dependencies

package_manager: str = 'apt'
package_manager_repo_dir: PurePosixPath = PurePosixPath('/etc/apt/sources.list.d')
platform: Platforms = 'debian'
run_dig(domain: str, dig_params: list[str] | None = None) Result

Generic method that will run a dig command from the node

Parameters:
  • domain – domain to run query against e.g. example.com

  • dig_params – valid dig parameters e.g. +short

uninstall_package(package_name: str, full_purge=True)

Uninstall package with given name

Parameters:
  • package_name – String name of package to be uninstalled

  • full_purge – Boolean indicating if all associated files should be removed upon uninstalling the package