Server

The server module takes care of os-level state. Targets POSIX compatability, tested on Linux/BSD.

server.group

Manage system groups.

server.group(name, present=True, system=False)
  • name: name of the group to ensure
  • present: whether the group should be present or not
  • system: whether to create a system group
System users:
System users don’t exist on BSD, so the argument is ignored for BSD targets.

server.script

Upload and execute a local script on the remote host.

server.script(filename, chdir=None)
  • filename: local script filename to upload & execute
  • chdir: directory to cd into before executing the script

server.script_template

Generate, upload and execute a local script template on the remote host.

server.script_template(template_filename, chdir=None)
  • template_filename: local script template filename
  • chdir: directory to cd into before executing the script

server.shell

Run raw shell code.

server.shell(commands, chdir=None)
  • commands: command or list of commands to execute on the remote server
  • chdir: directory to cd into before executing commands

server.user

Manage system users & their ssh authorized_keys. Options:

server.user(
    name, present=True, home=None, shell=None, group=None, groups=None, public_keys=None,
    delete_keys=False, ensure_home=True, system=False
)
  • name: name of the user to ensure
  • present: whether this user should exist
  • home: the users home directory
  • shell: the users shell
  • group: the users primary group
  • groups: the users secondary groups
  • public_keys: list of public keys to attach to this user, home must be specified
  • delete_keys: whether to remove any keys not specified in public_keys
  • ensure_home: whether to ensure the home directory exists
  • system: whether to create a system account
Home directory:
When ensure_home or public_keys are provided, home defaults to /home/{name}.

server.wait

Waits for a port to come active on the target machine. Requires netstat, checks every 1s.

server.wait(port=None)
  • port: port number to wait for