Wash
A UNIX-like shell for managing your cloud native and non-cloud native things.
With Wash
-
You can use
ls
to list,cat
to read, andwexec
to run commands on all your things. No more switching between confusing CLI tools. -
You can use
find
to filter anything on anything. No more complicated query DSLs. -
You can
cd
through a vendor's API. No more navigating complex console UIs. -
You can extend it to talk to other things, like Spotify.
See for yourself
AWS
The EC2 instance
find
query shown above (find . -k '*instance' -m '.state.name' running -m '.tags[?].key' owner
) returns all running EC2 instances with the 'owner' tag.
GCP
The compute instance
find
query shown above (find . -k '*instance' -m '.status' RUNNING -m '.labels.owner' -exists
) returns all running compute instances with the 'owner' label.
Kubernetes
The pods
find
query shown above (find . -k '*pod' -m '.status.phase' Running -m '.metadata.labels.pod-template-hash' -exists
) returns all running pods with the 'pod-template-hash' label.
Docker
The container
find
query shown above (find . -k '*container' -m '.state' running -m '.labels.com\.docker\.compose\.version' -exists
) returns all running containers with the 'com.docker.compose.version' label.
External plugins (Spotify)
The Spotify plugin shows off Wash's greatest power: its ability to talk to anything via the external plugin interface. And when we say anything, we really do mean anything. We mean other cloud native vendors like OpenStack or Azure. We mean personal IoT devices like network devices, smart lightbulbs, or bluetooth-enabled espresso scales. We mean IT infrastructure like Puppet nodes, Bolt inventory files, or any of your company's internal APIs. And we also mean some truly bizarre APIs like Goodreads or Fandango. Thus if you've got some other things you'd like to
cd
andls
through, filter withfind
, read withcat
, or more, then give Wash a try. We already have some community-built external plugins that you can use. If those aren't enough, then you can write your own external plugin in any language you like (think Bash, Ruby, Python, Go). The sky is the limit.