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