An open API service indexing awesome lists of open source software.

https://github.com/marcqualie/rancher-shell


https://github.com/marcqualie/rancher-shell

rancher rubygems

Last synced: 7 months ago
JSON representation

Awesome Lists containing this project

README

          

# 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).