node package manager


Common functions for system deployment.

Node.js Mecano

Mecano gather a set of functions usually used during system deployment. Documentation is available on the project website.

Functions include "chmod", "chown", "copy", "download", "execute", "extract", "git", "ini", "krb5_ktadd", "krb5_addprinc", "krb5_delprinc", "ldap_acl", "ldap_index", "ldap_schema", "link", "mkdir", "move", "remove", "render", "service", "touch", "upload" and "write". They all share common usages and philosophies:

  • Run seamlessly both locally and remotely over SSH.
  • Each action report if it had an effect.
  • Common behavior and API between actions: same action signature with options followed by callback; similar options properties; same callback signature with an error followed the number of affected actions.
  • Run one or multiple actions depending on option argument being an object or an array of objects.
  • Optmized for ease of use and checking over performance.
  • Full test coverage.
npm install mecano

For the tests to execute successfully, you must:

  • be online (attempt to fetch an ftp file)
  • be able to ssh yourself (eg ssh $(whoami)@localhost) without a password
npm test

Docker is used to run tests on centos: docker-compose up --abort-on-container-exit

Other used command includes docker-compose stop; docker-compose rm -f; docker-compose build