Method __init__
__init__( self )
Undocumented
Class mode_sudo
Cuisine functions will be executed with sudo.
Method __init__
__init__( self )
Undocumented
Class mode_user
Cuisine functions will be executed as the current user.
Function command_check
command_check( command )
Tests if the given command is available on the system.
Function command_ensure
command_ensure( command, package=None )
Ensures that the given command is present, if not installs the package with the given name, which is the same as the command by default.
Function dir_attribs
dir_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the given remote directory.
Function dir_ensure
dir_ensure( location, recursive=False, mode=None, owner=None, group=None )
Ensures that there is a remote directory at the given location, optionnaly updating its mode/owner/group.
If we are not updating the owner/group then this can be done as a single ssh call, so use that method, otherwise set owner/group after creation.
Function dir_exists
dir_exists( location )
Tells if there is a remote directory at the given location.
Function dispatch
dispatch( function )
Dispatches the current function to specific implementation. For instance @dispatch("packageensure", select="packagesystem").
Function file_append
file_append( location, content, mode=None, owner=None, group=None )
Appends the given content to the remote file at the given location, optionally updating its mode/owner/group.
Function file_attribs
file_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the remote file at the given location.
Function file_attribs_get
file_attribs_get( location )
Return mode, owner, and group for remote path. Return mode, owner, and group if remote path exists, None
otherwise.
Function file_ensure
file_ensure( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the remote file at the given location.
Function file_exists
file_exists( location )
Tests if there is a remote file at the given location.
Function file_is_dir
file_is_dir( location )
Undocumented
Function file_is_file
file_is_file( location )
Undocumented
Function file_is_link
file_is_link( location )
Undocumented
Function file_link
file_link( source, destination, symbolic=True, mode=None, owner=None, group=None )
Creates a (symbolic) link between source and destination on the remote host, optionally setting its mode/owner/group.
Function file_local_read
file_local_read( location )
Reads a local file from the given location, expanding ~
and shell variables.
Function file_read
file_read( location )
Reads the remote file at the given location.
Function file_sha256
file_sha256( location )
Returns the SHA-256 sum (as a hex string) for the remote file at the given location
Function file_unlink
file_unlink( path )
Undocumented
Function file_update
file_update( location, updater= at 0x22a6ed8> )
Updates the content of the given by passing the existing content of the remote file at the given location to the updater
function.
For instance, if you'd like to convert an existing file to all uppercase, simply do:
file_update("/etc/myfile", lambda _:_.upper())
Function file_upload
file_upload( remote, local )
Uploads the local file to the remote location only if the remote location does not exists or the content are different.
Function file_write
file_write( location, content, mode=None, owner=None, group=None )
Writes the given content to the file at the given remote location, optionally setting mode/owner/group.
Function group_check
group_check( name )
Checks if there is a group defined with the given name, returning its information as a {"name":<str>,"gid":<str>,"members":<list[str]>}
or None
if the group does not exists.
Function group_create
group_create( name, gid=None )
Creates a group with the given name, and optionally given gid.
Function group_ensure
group_ensure( name, gid=None )
Ensures that the group with the given name (and optional gid) exists.
Function group_user_add
group_user_add( group, user )
Adds the given user/list of users to the given group/groups.
Function group_user_check
group_user_check( group, user )
Checks if the given user is a member of the given group. It will return False
if the group does not exist.
Function group_user_ensure
group_user_ensure( group, user )
Ensure that a given user is a member of a given group.
Function mode_local
mode_local( )
Sets Cuisine into local mode, where run/sudo won't go through Fabric's API, but directly through a popen. This allows you to easily test your Cuisine scripts without using Fabric
Function mode_remote
mode_remote( )
Comes back to Fabric's API for run/sudo. This basically reverts the effect of calling mode_local()
.
Function package_ensure
package_ensure( *args, **kwargs )
Tests if the given package is installed, and installes it in case it's not already there.
Function package_ensure_apt
package_ensure_apt( package )
Undocumented
Function package_install
package_install( *args, **kwargs )
Installs the given package/list of package, optionnaly updating the package database.
Function package_install_apt
package_install_apt( package, update=False )
Undocumented
Function package_update
package_update( *args, **kwargs )
Updates the package database (when no argument) or update the package or list of packages given as argument.
Function package_update_apt
package_update_apt( package=None )
Undocumented
Function run
run( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE' global to tell wether the command should be run as regular user or sudo.
Function run_local
run_local( command )
A wrapper around subprocess
Function select_package
select_package( option=None )
Undocumented
Function ssh_authorize
ssh_authorize( user, key )
Adds the given key to the .ssh/authorized_keys
for the given user.
Function ssh_keygen
ssh_keygen( user, keytype='dsa' )
Generates a pair of ssh keys in the user's home .ssh directory.
Function sudo
sudo( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE' global to tell wether the command should be run as regular user or sudo.
Function system_uuid
system_uuid( )
Gets a machines UUID (Universally Unique Identifier).
Function system_uuid_alias_add
system_uuid_alias_add( )
Adds system UUID alias to /etc/hosts. Some tools/processes rely/want the hostname as an alias in /etc/hosts e.g. 127.0.0.1 localhost <hostname>
.
Function text_detect_eol
text_detect_eol( text )
Undocumented
Function text_ensure_line
text_ensure_line( text, *lines )
Ensures that the given lines are present in the given text, otherwise appends the lines that are not already in the text at the end of it.
Function text_get_line
text_get_line( text, predicate )
Returns the first line that matches the given predicate.
Function text_normalize
text_normalize( text )
Converts tabs and spaces to single space and strips the text.
Function text_nospace
text_nospace( text )
Converts tabs and spaces to single space and strips the text.
Function text_replace_line
text_replace_line( text, old, new, find= at 0x22a66e0>, process= at 0x22a6758> )
Replaces lines equal to old
with new
, returning the new text and the count of replacements.
Function text_strip_margin
text_strip_margin( text, margin='|' )
Undocumented
Function text_template
text_template( text, variables )
Substitutes ${PLACEHOLDER}
s within the text with the corresponding values from variables.
Function upstart_ensure
upstart_ensure( name )
Ensures that the given upstart service is running, restarting it if necessary
Function user_check
user_check( name )
Checks if there is a user defined with the given name, returning its information as a {"name":<str>,"uid":<str>,"gid":<str>,"home":<str>,"shell":<str>}
or None
if the user does not exists.
Function user_create
user_create( name, passwd=None, home=None, uid=None, gid=None, shell=None, uid_min=None, uid_max=None )
Creates the user with the given name, optionally giving a specific password/home/uid/gid/shell.
Function user_ensure
user_ensure( name, passwd=None, home=None, uid=None, gid=None, shell=None )
Ensures that the given users exists, optionally updating their passwd/home/uid/gid/shell.
dict
{'package': 'apt'}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
str
'\n'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'user'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
str
'sudo'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
SRE_Pattern
Compiled regular expression objects
str
'0.2.1'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'\r\n'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'package'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'apt'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Module cuisine
cuisine
makes it easy to write automatic server installation and configuration recipies by wrapping common administrative tasks (installing packages, creating users and groups) in Python functions.
cuisine
is designed to work with Fabric and provide all you need for getting your new server up and running in minutes.
Note, that right now, Cuisine only supports Debian-based Linux systems.
See also:
:copyright: (c) 2011 by Sébastien Pierre, see AUTHORS for more details. :license: BSD, see LICENSE for more details.
bool
bool(x) -> bool
Returns True when the argument x is true, False otherwise. The builtins True and False are the only two instances of the class bool. The class bool is a subclass of the class int, and cannot be subclassed.
Function text_normalize
text_normalize( text )
Converts tabs and spaces to single space and strips the text.
Function text_get_line
text_get_line( text, predicate )
Returns the first line that matches the given predicate.
Function system_uuid
system_uuid( )
Gets a machines UUID (Universally Unique Identifier).
Function text_ensure_line
text_ensure_line( text, *lines )
Ensures that the given lines are present in the given text, otherwise appends the lines that are not already in the text at the end of it.
str
'\r\n'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function text_replace_line
text_replace_line( text, old, new, find= at 0x22a66e0>, process= at 0x22a6758> )
Replaces lines equal to old
with new
, returning the new text and the count of replacements.
str
'user'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function text_template
text_template( text, variables )
Substitutes ${PLACEHOLDER}
s within the text with the corresponding values from variables.
str
'sudo'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
str
'apt'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function text_strip_margin
text_strip_margin( text, margin='|' )
Undocumented
str
'0.2.1'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Module cuisine
cuisine
makes it easy to write automatic server installation and configuration recipies by wrapping common administrative tasks (installing packages, creating users and groups) in Python functions.
cuisine
is designed to work with Fabric and provide all you need for getting your new server up and running in minutes.
Note, that right now, Cuisine only supports Debian-based Linux systems.
See also:
:copyright: (c) 2011 by Sébastien Pierre, see AUTHORS for more details. :license: BSD, see LICENSE for more details.
Function user_ensure
user_ensure( name, passwd=None, home=None, uid=None, gid=None, shell=None )
Ensures that the given users exists, optionally updating their passwd/home/uid/gid/shell.
SRE_Pattern
Compiled regular expression objects
Function user_check
user_check( name )
Checks if there is a user defined with the given name, returning its information as a {"name":<str>,"uid":<str>,"gid":<str>,"home":<str>,"shell":<str>}
or None
if the user does not exists.
dict
{'package': 'apt'}
dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2)
str
'\n'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function upstart_ensure
upstart_ensure( name )
Ensures that the given upstart service is running, restarting it if necessary
Function text_detect_eol
text_detect_eol( text )
Undocumented
Function group_user_ensure
group_user_ensure( group, user )
Ensure that a given user is a member of a given group.
Function system_uuid_alias_add
system_uuid_alias_add( )
Adds system UUID alias to /etc/hosts. Some tools/processes rely/want the hostname as an alias in /etc/hosts e.g. 127.0.0.1 localhost <hostname>
.
Function run
run( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE' global to tell wether the command should be run as regular user or sudo.
Function run_local
run_local( command )
A wrapper around subprocess
Function package_update
package_update( *args, **kwargs )
Updates the package database (when no argument) or update the package or list of packages given as argument.
Function package_update_apt
package_update_apt( package=None )
Undocumented
Function ssh_keygen
ssh_keygen( user, keytype='dsa' )
Generates a pair of ssh keys in the user's home .ssh directory.
Function sudo
sudo( *args, **kwargs )
A wrapper to Fabric's run/sudo commands, using the 'cuisine.MODE' global to tell wether the command should be run as regular user or sudo.
Function select_package
select_package( option=None )
Undocumented
Function ssh_authorize
ssh_authorize( user, key )
Adds the given key to the .ssh/authorized_keys
for the given user.
Function mode_local
mode_local( )
Sets Cuisine into local mode, where run/sudo won't go through Fabric's API, but directly through a popen. This allows you to easily test your Cuisine scripts without using Fabric
Function mode_remote
mode_remote( )
Comes back to Fabric's API for run/sudo. This basically reverts the effect of calling mode_local()
.
Function group_user_check
group_user_check( group, user )
Checks if the given user is a member of the given group. It will return False
if the group does not exist.
Function file_sha256
file_sha256( location )
Returns the SHA-256 sum (as a hex string) for the remote file at the given location
Function package_install
package_install( *args, **kwargs )
Installs the given package/list of package, optionnaly updating the package database.
Function package_install_apt
package_install_apt( package, update=False )
Undocumented
Function package_ensure
package_ensure( *args, **kwargs )
Tests if the given package is installed, and installes it in case it's not already there.
Function package_ensure_apt
package_ensure_apt( package )
Undocumented
Function file_upload
file_upload( remote, local )
Uploads the local file to the remote location only if the remote location does not exists or the content are different.
Function file_write
file_write( location, content, mode=None, owner=None, group=None )
Writes the given content to the file at the given remote location, optionally setting mode/owner/group.
Function text_nospace
text_nospace( text )
Converts tabs and spaces to single space and strips the text.
Function file_update
file_update( location, updater= at 0x22a6ed8> )
Updates the content of the given by passing the existing content of the remote file at the given location to the updater
function.
For instance, if you'd like to convert an existing file to all uppercase, simply do:
file_update("/etc/myfile", lambda _:_.upper())
Function group_ensure
group_ensure( name, gid=None )
Ensures that the group with the given name (and optional gid) exists.
Function group_user_add
group_user_add( group, user )
Adds the given user/list of users to the given group/groups.
Function group_check
group_check( name )
Checks if there is a group defined with the given name, returning its information as a {"name":<str>,"gid":<str>,"members":<list[str]>}
or None
if the group does not exists.
Function group_create
group_create( name, gid=None )
Creates a group with the given name, and optionally given gid.
Function file_unlink
file_unlink( path )
Undocumented
str
'package'
str(object) -> string
Return a nice string representation of the object. If the argument is a string, the return value is the same object.
Function file_read
file_read( location )
Reads the remote file at the given location.
Function file_exists
file_exists( location )
Tests if there is a remote file at the given location.
Function file_is_dir
file_is_dir( location )
Undocumented
Function file_attribs_get
file_attribs_get( location )
Return mode, owner, and group for remote path. Return mode, owner, and group if remote path exists, None
otherwise.
Function file_ensure
file_ensure( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the remote file at the given location.
Function file_link
file_link( source, destination, symbolic=True, mode=None, owner=None, group=None )
Creates a (symbolic) link between source and destination on the remote host, optionally setting its mode/owner/group.
Function file_local_read
file_local_read( location )
Reads a local file from the given location, expanding ~
and shell variables.
Function file_is_file
file_is_file( location )
Undocumented
Function file_is_link
file_is_link( location )
Undocumented
Function dir_attribs
dir_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the given remote directory.
Function dir_ensure
dir_ensure( location, recursive=False, mode=None, owner=None, group=None )
Ensures that there is a remote directory at the given location, optionnaly updating its mode/owner/group.
If we are not updating the owner/group then this can be done as a single ssh call, so use that method, otherwise set owner/group after creation.
Function command_check
command_check( command )
Tests if the given command is available on the system.
Function command_ensure
command_ensure( command, package=None )
Ensures that the given command is present, if not installs the package with the given name, which is the same as the command by default.
Function file_append
file_append( location, content, mode=None, owner=None, group=None )
Appends the given content to the remote file at the given location, optionally updating its mode/owner/group.
Function file_attribs
file_attribs( location, mode=None, owner=None, group=None, recursive=False )
Updates the mode/owner/group for the remote file at the given location.
Function dir_exists
dir_exists( location )
Tells if there is a remote directory at the given location.
Function dispatch
dispatch( function )
Dispatches the current function to specific implementation. For instance @dispatch("packageensure", select="packagesystem").
Class mode_sudo
Cuisine functions will be executed with sudo.
Method __init__
__init__( self )
Undocumented
Function user_create
user_create( name, passwd=None, home=None, uid=None, gid=None, shell=None, uid_min=None, uid_max=None )
Creates the user with the given name, optionally giving a specific password/home/uid/gid/shell.
Class mode_user
Cuisine functions will be executed as the current user.
Method __init__
__init__( self )
Undocumented