Skip to content

peopledoc/macman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

######
macman
######

``macman`` is a project-centric high-level machine manager.

.. warning::

   This project is experimental.

.. note::

   ``macman`` was created as a wrapper around Vagrant, in order to manage
   several machines at once, and not only using VirtualBox. In recent versions
   of Vagrant support multiple machines, and VirtualBox is no longer the only
   supported machine backend. So ``macman`` may be discontinued.


*******
Example
*******

.. code:: sh

   # Register a new box.
   macman register helloworld

   # Configure the VM.
   macman configure helloworld cpus=2 ram=256
   macman configure helloworld ip=10.0.0.10
   # Have a look at generated configuration.
   cat etc/macman.cfg
   # And have a look at generated Vagrantfile (Vagrant is the default).
   cat var/vm/helloworld/Vagrantfile

   # Let's use the VM.
   macman start helloworld
   macman ssh helloworld
   macman stop helloworld

   # You can manage several VMs!
   macman register goodbye
   macman configure goodbye ram=192 ip=10.0.0.11
   macman start all
   macman stop all


********
Abstract
********

This script has been created to manage all project-related machines from one
place, the project's root folder.

Key features:

* ``macman`` command focuses on most important commands.
* Configuration file if simple.
* Detailed configuration (i.e. Vagrantfile) is generated with templates.
* Operate on several VMs at once (start, stop...)

You focus on few important settings such as cpus, ram or IP adress, and
delegate the tricky things to scripts or templates) you share with your team.


************
Installation
************

With pip:

.. code:: sh

   pip install -e git+git@github.com:novagile/macman.git#egg=macman


********
Commands
********

* register MACHINE
* start MACHINE
* stop MACHINE
* download MACHINE
* configure MACHINE [[OPTION=VALUE] [OPTION=VALUE] ...]

  Where available options are:

  * ram: defaults to '512'.
  * vram: defaults to '16'.
  * cpus: defaults to '1'.
  * ip: defaults to '34.34.34.10'. Do not use '1' as last number because
    Vagrant will use it for your host.
  * gui: 'true' or defaults to 'nil'.
  * ssh_forward_agent: 'false' or defaults to 'true'.

* delete MACHINE
* ssh MACHINE
* restart MACHINE

**********
Ressources
**********

* Documentation: https://github.com/novagile/macman/
* PyPI page: not released yet
* Code repository: https://github.com/novagile/macman/
* Bugtracker: https://github.com/novagile/macman/issues
* Continuous integration: not setup yet

Releases

No releases published

Packages

No packages published