Lassi is built as a python module. It requires some build time dependencies to be installed.
- Run bootstrap.sh
$ bash bootstrap.sh
- Install the python module
$ sudo python setup.py install
-
Copy the example configuration file (lassi.config.example) to
/etc/lassi.config
. This contains the host list along with the changes that needs to be pushed for each host. -
You can run the tool now
$ lassi
It will read the /etc/lassi.config file and configure each of the server one by one.
Didn't test on OSX but once the dependencies specified in bootstrap.sh are installed via homebrew, things should work fine.
The configuration file is a JSON file which specifies the packages, services and files needs to be available on the host.
"package": [
{
"name": "apache2",
"ensure": "absent"
},
{
"name": "php-fpm",
"ensure": "present"
"notify": ["apache2"]
}
]
Default value of ensure
is present
notify
will reload those services whenever that package is installed
"service": ["apache2"]
This ensures that services are started
"file": [
{
"source": "/tmp/testphp.php",
"destination": "/var/www/html/testphp.php",
"owner": "www-data",
"group": "www-data",
"permissions": "0755",
"notify": ["apache2"]
}
]
source
is the path in the local filesystem
destination
is the path in the remote filesystem
owner
is the file owner
group
is the file group owner
permissions
is the file permissions
notify
will reload the services whenever the file content changes