cumulus

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2022 License: MIT Imports: 5 Imported by: 0

README

cumulus

A library and command line tool for concurrent bulk investigation and occational manipulation of multiple clouds.

Status

HIGHLY EXPERIMENTAL

Why am I writing this?

The AWS command line is slow. S....l....o....w.

It's also...awkwardly laid out, in the format of "service - endpoint". GCP and Digital Ocean CLIs are much more intuitively designed in the form of "subject - object - verb - modifiers".

And, last, the AWS CLI works with a single account, and a single region, at a time. Even wehn I'm exclusively using AWS, this is not the right abstraction.

Oh, and very last...I have hit some non-linearity in the AWS command line, where large result sets are incredibly delayed. I'm not that patient.

So the goal of this tool is to produce a cloud library that's much better structured, faster, concurrent, and not tied strictly to AWS.

That last part is the most experimental. I have tried better structures for library and found them good. In this tool, I'm attempting a "common denominator" API approach to multiple clouds and...well...we're going to see how well that works.

Also, I'm using that library to create a better CLI.

Examples

$ time aws --region us-east-1 ec2 describe-snapshots --owner-id 536746477680 | grep SnapshotId | wc -l
      20

real	0m1.135s
user	0m0.695s
sys	0m0.246s

vs

checking 4 regions in each of 5 accounts

$ time ./bulk-cloud snapshot list | wc -l
     446

real	0m0.968s
user	0m0.292s
sys	0m0.096s

It has similar performance for listing instances, zones...everything else (except, oddly, the API for S3 is pretty slow)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL