Skip to content

theonejb/dropletconn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dropletconn

List and connect to your Digital Ocean droplets instantly (without a .ssh/config)

Quick Start

go get github.com/theonejb/dropletconn
go install github.com/theonejb/dropletconn
dropletconn config
dropletconn list
dropletconn connect <NAME OF DROPLET>

Installing and Configuring dropletconn

Install and Configure dropletconn

Listing your droplets

List droplets using dropletconn

Connecting to a droplet

Connect to a droplet using dropletconn

Usage

To use, go get github.com/theonejb/dropletconn and go install github.com/theonejb/dropletconn. dropletconn is the name of the genrated binary. I personally have it aliased to dc using export dc=dropletconn in my .zshrc file since I use it atleast 20 times a day to connect to various servers at work.

You will also need to generate a token from Digital Ocean API Tokens that dropletconn will use to get a list of droplets available in your account. For safety, use a Read only scoped token.

Available commands and their usage is described here. Some commands have a short version as well, which is what you see after the OR pipe (|) in their help text below.

  • config: Generate config file that stores the API token and other settings. This needs to be generated before the rest of the commands can be used
  • list | l [<FILTER EXPRESSION>]..: Lists all droplets from your account. You can optionally pass a number of filter expressions. If you do, only droplets whose names or IPs contain at least one of the given fitler expressions will be listed
  • connect | c NAME: Connect to the droplet with the given name
  • run | r <FILTER EXPRESSION> <COMMAND>: Runs the given command on all droplets matching the filter expression. The filter expression is required, and only one filter expression can be given

You can pass an optional --force-update flag. By default, the list of droplets is cached for a configurable duration (as set in the config file). Passing this flag forces an update of this list before running the command.

The list command also accepts an options --list-public-ip flag. If this flag is used only the public IP of the nodes is printed, nothing else. This is incase you want a list of all IPs in your DO account. I needed this to create a Fabric script.

Note: The way flags are parsed, you have to list your flags before your commands. For example, you can not do dropletconn list --list-public-ip. Instead, you need to do dropletconn --list-public-ip list. Same for the --force-update flag.

To enable completion of droplet names, source the included Zsh completion file. Credit for that script goes to James Coglan. I copied it from his blog (https://blog.jcoglan.com/2013/02/12/tab-completion-for-your-command-line-apps/).

About

A simple golang base CLI app to list and connect to your DigitalOcean droplets

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors