Skip to content

pradeepchhetri/lassi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lassi - Basic Configuration Management Tool

Setup

Lassi is built as a python module. It requires some build time dependencies to be installed.

Ubuntu

  1. Run bootstrap.sh
$ bash bootstrap.sh
  1. Install the python module
$ sudo python setup.py install
  1. 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.

  2. You can run the tool now

$ lassi

It will read the /etc/lassi.config file and configure each of the server one by one.

OSX

Didn't test on OSX but once the dependencies specified in bootstrap.sh are installed via homebrew, things should work fine.

Configuration Syntax

The configuration file is a JSON file which specifies the packages, services and files needs to be available on the host.

Package resource

"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 resource

"service": ["apache2"]

This ensures that services are started

File resource

"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

About

Yet Another Configuration Management Toolkit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published