All Projects → signalfx → Maestro Ng

signalfx / Maestro Ng

Licence: apache-2.0
Orchestration of Docker-based, multi-host environments

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Maestro Ng

Rancher
Complete container management platform
Stars: ✭ 18,191 (+2575.15%)
Mutual labels:  orchestration
Picluster
A Simplified Docker Swarm or Kubernetes Alternative to Container Scheduling and Orchestration
Stars: ✭ 390 (-42.65%)
Mutual labels:  orchestration
Runbook
A framework for gradual system automation
Stars: ✭ 531 (-21.91%)
Mutual labels:  orchestration
Containerops
DevOps Orchestration Platform
Stars: ✭ 317 (-53.38%)
Mutual labels:  orchestration
Bolt
Bolt is an open source orchestration tool that automates the manual work it takes to maintain your infrastructure on an as-needed basis or as part of a greater orchestration workflow. It can be installed on your local workstation and connects directly to remote nodes with SSH or WinRM, so you are not required to install any agent software.
Stars: ✭ 380 (-44.12%)
Mutual labels:  orchestration
Odin
A programmable, observable and distributed job orchestration system.
Stars: ✭ 405 (-40.44%)
Mutual labels:  orchestration
Cake
🍰 Cake (C# Make) is a cross platform build automation system.
Stars: ✭ 3,154 (+363.82%)
Mutual labels:  orchestration
Flintrock
A command-line tool for launching Apache Spark clusters.
Stars: ✭ 568 (-16.47%)
Mutual labels:  orchestration
Storyscript
Magical coding language for tomorrow’s developer; the other 1 billion people not in GitHub. 🧙
Stars: ✭ 381 (-43.97%)
Mutual labels:  orchestration
Lain
LAIN's main repo
Stars: ✭ 455 (-33.09%)
Mutual labels:  orchestration
Lxdock
Build and orchestrate your development environments with LXD - a.k.a. Vagrant is Too Heavy™
Stars: ✭ 350 (-48.53%)
Mutual labels:  orchestration
Rackhd
RackHD™ provides hardware management and orchestration services
Stars: ✭ 379 (-44.26%)
Mutual labels:  orchestration
Shuffle
Shuffle: A general purpose security automation platform platform. We focus on accessibility for all.
Stars: ✭ 424 (-37.65%)
Mutual labels:  orchestration
Smith
Smith is a Kubernetes workflow engine / resource manager
Stars: ✭ 288 (-57.65%)
Mutual labels:  orchestration
Compose
Define and run multi-container applications with Docker
Stars: ✭ 24,462 (+3497.35%)
Mutual labels:  orchestration
Faraday
Faraday introduces a new concept - IPE (Integrated Penetration-Test Environment) a multiuser Penetration test IDE. Designed for distributing, indexing, and analyzing the data generated during a security audit.
Stars: ✭ 3,198 (+370.29%)
Mutual labels:  orchestration
Terraform Provider Oci
Terraform Oracle Cloud Infrastructure provider
Stars: ✭ 400 (-41.18%)
Mutual labels:  orchestration
Buildxl
Microsoft Build Accelerator
Stars: ✭ 676 (-0.59%)
Mutual labels:  orchestration
Cattle
Infrastructure orchestration engine for Rancher 1.x
Stars: ✭ 567 (-16.62%)
Mutual labels:  orchestration
Rundeck
Enable Self-Service Operations: Give specific users access to your existing tools, services, and scripts
Stars: ✭ 4,426 (+550.88%)
Mutual labels:  orchestration

MaestroNG

Build Status Docs

MaestroNG is an orchestrator of Docker-based, multi-hosts environments.

The original Maestro was developed as a single-host orchestrator for Docker-based deployments. Given the state of Docker at the time of its writing, it was a great first step towards orchestration of deployments using Docker containers as the unit of application distribution.

Docker having made significant advancements since then, deployments and environments spanning across several hosts are becoming more and more common and are in the need for some orchestration.

Based off ideas from the original Maestro and taking inspiration from Docker's links feature, MaestroNG makes the deployment and control of complex, multi-host environments using Docker containers possible and easy to use. Maestro of course supports declared dependencies between services and makes sure to honor those during environment bring up.

What is Maestro?

MaestroNG is, for now, a command-line utility that allows for automatically managing the orchestrated deployment and bring up of a set of service instance containers that compose an environment on a set of target host machines.

Each host machine is expected to run a Docker daemon. Maestro will then contact the Docker daemon of each host in the environment to figure out the status of the environment and what actions to take based on the requested command.

Dependencies

MaestroNG requires Docker 0.6.7 or newer on the hosts as it makes use of the container naming feature and bug fixes in NAT port forwarding.

You'll also need the following Python modules, although these will be automatically installed by setuptools if you follow the instructions below.

  • A recent docker-py
  • PyYAML (you may need to install this manually, e.g. apt-get install python-yaml)
  • Jinja2
  • Python Requests
  • bgtunnel
  • six

If you plan on using the HipChat auditor, you'll also need python-simple-hipchat.

Installation

Maestro is distributed on the Python Package Index. You can install Maestro via Pip:

$ pip install --user --upgrade maestro-ng

If you want the bleeding edge, you can install directly from the Git repository:

$ pip install --user --upgrade git+git://github.com/signalfx/maestro-ng

Note for MacOS users

The above command may fail if you installed Python and pip via Homebrew, usually with the following error message:

error: can't combine user with prefix, exec_prefix/home, or install_(plat)base

This is because the Homebrew formula for pip configures distutils with an installation prefix, and this cannot be combined with the use of the --user flag, as describe in https://github.com/Homebrew/homebrew/wiki/Homebrew-and-Python#note-on-pip-install---user.

If you encounter this problem, simply install the package without the --user flag:

$ pip install --upgrade git+git://github.com/signalfx/maestro-ng

Use as a Docker container

First, build your maestro-ng image using :

docker build -t maestro-ng .

Then say you have a maestro-ng configuration named /fu/bar/myconf.yml

If you want to start this on a docker host without install python and its pip modules :

docker run --rm -t -i -v /fu/bar/myconf.yml:/maestro.yaml maestro-ng <start/stop/status/clean>

or, if the myconf.yml is in the current dir :

docker run --rm -t -i -v $(pwd)/myconf.yml:/maestro.yaml maestro-ng <start/stop/status/clean>

Documentation

The MaestroNG documentation is available on ReadTheDocs. For a overview of recent changes, see the ChangeLog.

License

MaestroNG is licensed under the Apache License, Version 2.0. See LICENSE for full license text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].