marcqualie/rancher-shell

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# RancherShell

[![Gem Version](https://badge.fury.io/rb/rancher-shell.svg)](https://badge.fury.io/rb/rancher-shell)
[![CircleCI](https://circleci.com/gh/marcqualie/rancher-shell.svg?style=shield)](https://circleci.com/gh/marcqualie/rancher-shell)
[![Code Climate](https://codeclimate.com/github/marcqualie/rancher-shell/badges/gpa.svg)](https://codeclimate.com/github/marcqualie/rancher-shell)
[![Test Coverage](https://codeclimate.com/github/marcqualie/rancher-shell/badges/coverage.svg)](https://codeclimate.com/github/marcqualie/rancher-shell/coverage)
[![Issue Count](https://codeclimate.com/github/marcqualie/rancher-shell/badges/issue_count.svg)](https://codeclimate.com/github/marcqualie/rancher-shell)

A console utility for shelling into [Rancher](http://rancher.com) containers



## Installation

RancherShell runs as a binary on your system and only needs rubygems to be installed:

``` ruby
gem install rancher-shell
```


## Confguration

Configuration files are loaded in the following order if they exist:

- ~/.rancher-shell.yml
- ./.rancher-shell.yml

Files are merged using the following schema:

``` yaml
---
# ~/.rancher-shell.yml
projects:
  project1:
    name: "My First Project"
    options:
      container: production_web_1
      command: bundle exec rails console
    stacks:
      staging:
        options:
          container: staging_web_1
    api:
      host: rancher.yourdomain.com
      key: XXXXX
      secret: XXXXX
```

``` yaml
---
# /path/to/project1/.rancher-shell.yml
options:
  project: project1
projects:
  project1:
    stacks:
      qa:
        options:
          container: qa_web_1
```

Running `rancher-shell exec` with the above config will run command `bundle exec rails console` on `project1` within container `production_web_1`. Running `rancher-shell exec -s staging` will run the same command but within container `staging_web_1`. Full usage instructions on how to override these configs is at `rancher-shell help exec`.



## Usage

After configuring you can shell into your container using the following command:

``` shell
rancher-shell exec [-p project] [-s stack] [-c container] [command]
```

Run `rancher-shell help` for full usage instructions



## Development

After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).



## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/marcqualie/rancher-shell. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.



## License

The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).