Director
Director is a console tool for orchestrating your server & your software., (*1)
Coupled with Ansible, Director makes it easy to track and manage large numbers of servers., (*2)
More coming soon., (*3)
Current Commands
-
status, (*4)
Outputs the current servers and apps in the registry., (*5)
-
server:add, (*6)
Adds a server to the registry., (*7)
-
app:add, (*8)
Adds an app to the registry., (*9)
-
app:update, (*10)
Update the apps information., (*11)
-
app:init, (*12)
Clones the app's source code to the desired path., (*13)
Next Steps
-
role:add, (*14)
Adds a role to the registry.
Adds the role to .playbook.yml, (*15)
-
server:assign, (*16)
Assigns a role to a server.
Adds the server to .inventory, (*17)
-
server:unassign, (*18)
Unassigns a role to a server.
Removes the server from .inventory, (*19)
-
director:direct, (*20)
Runs ansible-playbook using current .playbook.yml and .inventory.
Updates all of the servers., (*21)
Notes
Vars files may be included for a server during it's direct run:, (*22)
Add "vars_files" to the config/servers.yml file, (*23)
=======, (*24)
Installation
- Install PHP CLI.
- Install Composer: https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx
curl -sS https://getcomposer.org/installer | php
-
Manually install Director:
For now we recommend installing it manually as we polish it up for release into packagist:, (*25)
- Git clone to your favorite local projects folder:
cd ~/Projects
git clone git@github.com:jonpugh/director.git
- Go into director folder and run
composer intall.
- Either:
a. Add a symlink from ~/Projects/director/director to /usr/local/bin or /usr/bin.
b. Add it to your PATH variable, (*26)
We are still working on getting director to work out of the box., (*27)
These environment variables are needed after you clone this repo and run composer install:, (*28)
PATH=$PATH:/vagrant/director/vendor/bin:/vagrant/director, (*29)
export PYTHONPATH=/vagrant/director/vendor/jonpugh/ansible/lib:
export ANSIBLE_LIBRARY=/vagrant/director/vendor/jonpugh/ansible/library
export MANPATH=/vagrant/director/vendor/jonpugh/ansible/docs/man:
export ANSIBLE_HOSTS=/vagrant/director/inventory, (*30)