Documentation
Not logged in

Welcome !

This project is fully inspired by Cdist

A great easy configuration management tool using only ssh and unix tools.

If you are interested please feel free to contact me: aurelienDOTbondisATgmailDOTcom

Install

  • to install just clone the repo on a machine with a posix shell

fossil clone http://chiselapp.com/user/abondis/repository/lcd lcd.fsl
mkdir lcd
cd lcd
fossil open ../lcd.fsl
  • next lcd is ready to use in scripts

How to run

  • source the lcdenv file, or if you have you own config source your file

. lcdenv
  • to run an action on a host now you can

lcd USER@HOST ACTION ARGS
ACTION

This is an action like sshkey or a2_vhost. They are simple scripts stored in a folder named the same way as the script. Apart from the discover folder everything is an action. see Types/Actions documentation

ARGS

See the documentation on Types/Actions documentation

Roadmap

0.0.6

  • deploy shinken client and server

  • configure shinken host and services

  • deploy fusion inventory and configure fusion inventory

0.0.5

  • log actions and maintain a replay script

  • compare state between lcd logs and real state

0.0.4

  • deploy private config cf Private config

  • send/remove ssh keys

  • send/remove a line from a file

0.0.3

  • create a simple apache vhost

0.0.2

  • be able to install packages

  • wrap environment from one script to limit repeating actions in types

0.0.1

  • be able to mark a file remotely

Backlog

  • install php vhost

  • install ruby vhost

  • Clean documentation

  • generate basic documentation automagically

Define the goals

  • execute the code on the machine via push/pull/clone

  • share usefull scripts

  • just plain sh scripts ( cdist represent ;) )

  • generate documentation base on the actions done on a machine (ie: machine’s changelog based on actions)

The main Idea …

  • Take cdist and execute the code locally, in order to avoid a bunch of echos.

  • Take cdist and do not use declarative actions (???), in order to just write a script in the order we want it.

  • Make types usable without having to modify/recheck all the machine’s config to do a small change.

  • Generate config on the fly, after a successful deploy.