Project

rtprov

0.0
Low commit activity in last 3 years
No release in over a year
Yamaha router (RTX or NVR series) provisioning tool
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
~> 0.74.0
~> 13.0

Runtime

 Project Readme

rtprov

Yamaha router (RTX or NVR series etc.) provisioning tool.

Installation

$ gem install rtprov

Requirements

rtprov requires following commands. Please install these.

  • colordiff (or diff)
  • lftp
  • ssh
  • which

Preparation

  • Enable SSH and SFTP access.
  • Create user and allow SSH access and administration.

And you must know following passwords.

  • User password
  • Administrator password
  • Anonymous user password

Usage

rtprov new

rtprov new creates directory and some files. Please run other commands in created directory.

It creates ./encryption_key to encrypt router configurations. .gitignore ignores this. Please store it securely.

$ rtprov new my_office

rtprov edit

rtprov edit creates or edits router configuration file in ./routers directory. It is encrypted by ./encryption_key file. rtprov launches ENV["RTPROV_EDITOR"] or ENV["EDITOR"] to edit file.

# Launch editor and create/update routers/my_router.yml.enc
$ rtprov edit my_router

rtprov show

rtprov show print router configuration to stdout.

# Prints decrypted routers/my_router.yml.enc
$ rtprov show my_router

rtprov get

rtprov get gets config file from router and print to stdout. If -n, --number option is not specified, it gets config0.

# Get config0 from my_router and print to stdout
$ rtprov get my_router
# Get config1 from my_router and print to stdout
$ rtprov get --number 1 my_router

rtprov put

rtprov put puts config file to router and load it. Second argument is template name. If you create templates/my_config.erb, template name is my_config. If -n, --number option is not specified, it gets config0.

It prints diff before transfer and ask you. rtprov uses ENV["RTPROV_DIFF"] or colordiff or diff to print diff.

# Rendering templates/my_config.erb and put to my_route as config0 and load it.
$ rtprov put my_router my_config
# Rendering templates/my_config.erb and put to my_route as config1 and load it.
$ rtprov put my_router --number 1 my_config

Templates are ERB file. In template, define variables described in router file. For example, in router file,

variables:
  foo:
    bar:
      - baz: foobar

in template,

<%= foo.bar[0].baz >

you can get "foobar".

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

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.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/labocho/rtprov.

License

The gem is available as open source under the terms of the MIT License.