aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 822eee71eeb08ea568ef4e003448af82f18d12dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Hydra Suite - Cloud Command and Control
=======================================

The Hydra Suite is a complete set of tools for orchestration and management of
network of machines.

This suite is made of three commands:

  - hydractl: issues commands in the current host.
  - hydra:    issues commands on multiple hosts.
  - hydras:   issues commands to multiple sets of hosts.

It is also built around a set of Puppet modules which does the actual
configuration of each system.

Installation
------------

First, clone the code:

    git clone git://git.sarava.org/hydra.git

Then check the source integrity of the latest release:

    cd hydra
    tag="`git describe --abbrev=0 --tags`
    git tag -v $tag && git checkout $tag # check the source!

Finally, add hydra folder to your `$PATH` or run the following command to install
it under `/usr/local`:

    ./hydractl deploy

Managing an existing network
----------------------------

If you have enough credentials (ssh pubkey set in the server), you can fetch
all the needed repositories and configurations to a local folder
`~/file/example` using simply the following command:

    hydra example init ~/file/example gitolite@admin.example.org:config.git

Creating a new network
----------------------

Use the following commands to create the needed repositories when starting a new network:

    hydra example init   ~/file/example
    hydra example config domain example.org

Dependencies
------------

Major direct upstreams:

* [https://www.debian.org Debian].
* [http://docs.puppetlabs.com Puppet].
* [Shared Puppet Modules Initiative](https://labs.riseup.net/code/projects/sharedpuppetmodules).