Project

rundock

0.0
No commit activity in last 3 years
No release in over 3 years
Simple and extensible server orchestration framework
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.0
~> 10.0

Runtime

>= 0
>= 2.31.0, < 3.0.0
>= 0
 Project Readme

Rundock Gem Version Circle CI

Simple and extensible server orchestration framework based on specinfra.

Concept

  • Simple interface and configurations for orchestration various systems
  • Push type task pipeline
  • Extensible and pluggable design

Installation

$ gem install rundock

Usage

Edit your targetgroup to "targetgroup.yml" like this sample.

# target section
- target: 192.168.1.11
- target: host-alias-01
---
# target information section
host-alias-01:
  host: 192.168.1.12
  ssh_opts:
    port: 2222
    user: anyuser
    keys: ["~/.ssh/id_rsa_anyuser"]
    ssh_config: "/home/anyuser/custom_config"

and execute rundock.

$ rundock ssh -g /path/to/your-dir/targetgroup.yml -c 'your-gread-command'

or

Edit your operation scenario to "scenario.yml" like this sample.

# scenario section
- target: 192.168.1.11
  command:
    - "sudo hostname new-host-01"
    - "sudo sed -i -e 's/HOSTNAME=old-host-01/HOSTNAME=new-host-01/g' /etc/sysconfig/network"
- target: host-alias-01
  command:
    - "sudo yum -y install ruby"
  task:
    - update_gem
    - install_bundler
---
# target information section
host-alias-01:
  host: 192.168.1.12
  ssh_opts:
    port: 2222
    user: anyuser
    keys: ["~/.ssh/id_rsa_anyuser"]
---
# task information section
update_gem:
  command:
    - "sudo gem update --system"
    - "sudo gem update"
install_bundler:
  command:
    - "sudo gem install bundler --no-ri --no-rdoc"

and execute rundock.

$ rundock do /path/to/your-dir/scenario.yml

You can also specify default_ssh_options.yml (Net::SSH options) file contents that you specified "-d" option to the default ssh options.

  • use adhoc ssh
$ rundock ssh -g /path/to/your-dir/targetgroup.yml -c 'your-gread-command' -d /path/to/your-dir/default_ssh_options.yml
  • use scenario file
$ rundock do /path/to/your-dir/scenario.yml -d /path/to/your-dir/default_ssh_options.yml

You can see from rundock -h command.

Commands:
  rundock do [SCENARIO] [options]  # Run rundock from scenario file
  rundock help [COMMAND]           # Describe available commands or one specific command
  rundock ssh [options]            # Run rundock ssh with various options
  rundock version                  # Print version

Options:
  -l, [--log-level=LOG_LEVEL]
                                             # Default: info
      [--color], [--no-color]
                                             # Default: true
      [--header], [--no-header]
                                             # Default: true
      [--short-header], [--no-short-header]
      [--date-header], [--no-date-header]
                                             # Default: true

Documentations

Run tests

Requirements: Docker environments

$ bundle exec rake spec

Contributing

  1. Fork it ( https://github.com/[my-github-username]/rundock/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request