All Projects → puppetlabs → Wash

puppetlabs / Wash

Licence: apache-2.0
Wide Area SHell: a cloud-native shell for bringing remote infrastructure to your terminal.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Wash

Spring Cloud Config
External configuration (server and client) for Spring Cloud
Stars: ✭ 1,740 (+935.71%)
Mutual labels:  cloud-native
Azkarra Streams
🚀 Azkarra is a lightweight java framework to make it easy to develop, deploy and manage cloud-native streaming microservices based on Apache Kafka Streams.
Stars: ✭ 146 (-13.1%)
Mutual labels:  cloud-native
Kratos
A modular-designed and easy-to-use microservices framework in Go.
Stars: ✭ 15,844 (+9330.95%)
Mutual labels:  cloud-native
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+1032.74%)
Mutual labels:  cloud-native
Rafter
Kubernetes-native S3-like files/assets store based on CRDs and powered by MinIO
Stars: ✭ 145 (-13.69%)
Mutual labels:  cloud-native
Fluvio
Cloud-native distributed data streaming platform, written in Rust
Stars: ✭ 149 (-11.31%)
Mutual labels:  cloud-native
Phantoscope
Open Source, Cloud Native, RESTful Search Engine Powered by Neural Networks
Stars: ✭ 127 (-24.4%)
Mutual labels:  cloud-native
Spec
Open Application Model (OAM).
Stars: ✭ 2,317 (+1279.17%)
Mutual labels:  cloud-native
Pathivu
An efficient log ingestion and log aggregation system https://pathivu.io/
Stars: ✭ 146 (-13.1%)
Mutual labels:  cloud-native
Akka
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Stars: ✭ 11,938 (+7005.95%)
Mutual labels:  cloud-native
Vpp Agent
⚡️ Control plane management agent for FD.io's VPP
Stars: ✭ 137 (-18.45%)
Mutual labels:  cloud-native
Spring Cloud Cli
Spring Cloud CLI features
Stars: ✭ 139 (-17.26%)
Mutual labels:  cloud-native
Hazelcast Kubernetes
Kubernetes Discovery for Hazelcast
Stars: ✭ 151 (-10.12%)
Mutual labels:  cloud-native
Curiefense
Curiefense is a unified, open source platform protecting cloud native applications.
Stars: ✭ 136 (-19.05%)
Mutual labels:  cloud-native
Vald
Vald. A Highly Scalable Distributed Vector Search Engine
Stars: ✭ 158 (-5.95%)
Mutual labels:  cloud-native
Kubernetes Vagrant Centos Cluster
Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox, only PoC or Demo use.
Stars: ✭ 1,750 (+941.67%)
Mutual labels:  cloud-native
Beetle
🔥 Kubernetes multi-cluster deployment automation service.
Stars: ✭ 149 (-11.31%)
Mutual labels:  cloud-native
Kubernetes 101
Kubernetes 101 - by Jeff Geerling
Stars: ✭ 169 (+0.6%)
Mutual labels:  cloud-native
Redex
Cloud-native Redis server implemented in Elixir
Stars: ✭ 160 (-4.76%)
Mutual labels:  cloud-native
Chaostoolkit Kubernetes
Kubernetes driver extension of the Chaos Toolkit probes and actions API
Stars: ✭ 153 (-8.93%)
Mutual labels:  cloud-native

wash (Wide Area SHell)

GitHub release Build Status GoDoc Go Report Card

wash helps you deal with all your remote or cloud-native infrastructure using the UNIX-y patterns and tools you already know and love!

For an introduction to Wash, see our main site at https://pup.pt/wash.

COMMUNITYDEVELOPROADMAP

Community Feedback

We're actively soliciting community feedback and input on our roadmap! Don't hesitate to file issues for new features, new plugin types, new primitives, new command-line tools, or anything else that crosses your mind. You can also chat with us directly on #wash on Slack. Please abide by our code of conduct when interacting with the community.

See the roadmap below to see what we've got planned!

We'd also love to get contributions from you! For a quick guide, take a look at our guide to contributing.

Developing Wash

See https://pup.pt/wash/#getting-started for pre-requisites to run Wash.

Wash is a single binary application written in Go. It uses Go modules to identify dependencies.

To build it, run go build. To test, run go test ./....

Requires golang 1.12+.

Acceptance tests are in the test directory. First build with go build, then run them using BATS with PATH=.:$PATH bats test.

See the core plugin docs if you're interested in core plugin development.

Roadmap

Project maintainers are not actively working on all of these things, but any of these are directions we would support others in pursuing.

Primitives

  • [ ] file/directory upload (prereq for executing commands that aren't just one-liners)
  • [x] edit a resource (e.g. edit a file representing a k8s ConfigMap, and upon write save it via the k8s api)
  • [x] delete a resource (e.g. rm-ing a file in an S3 bucket deletes it)
  • [x] signal handling to represent basic verbs (e.g. sending a TERM to an EC2 instance will terminate it)
  • [ ] copy / move / rename (how should this work?)
  • [ ] make stream able to "go back in time" (e.g. support tail -100 -f style of "look-back")

Daemon enhancements

  • [ ] rad startup ASCII art logo (<- high priority!)
  • [X] expose plugin configuration via main config file
  • [ ] expose what API calls are in-flight (to report status on large, distributed calls)

CLI tools

  • [ ] colorized output for ls, similar to exa -l
  • [x] make ls emit something useful when used against non-wash resources
  • [ ] exec should work in parallel across multiple target resources
  • [ ] build an interactive shell that works over exec (need to update plugins API to support this, most likely)
  • [ ] a version of top that works using wash primitives to get information to display from multiple targets

Plugins / content

list read stream exec meta
Docker
Containers
Container logs
Volumes
Images
Networks
Services
Stacks
Swarm nodes
Swarm config
Kubernetes
Pods
Persistent Volume Claims
Services
ConfigMaps
generic k8s resources
AWS
EC2
S3 buckets
S3 directories
S3 objects
Cloudwatch
Lambda
pubsub (e.g. SNS)
databases (e.g. dynamo, RDS)
networking (e.g. ELB, Route53)
SSH/WinRM targets
SSHfs
GCP
Azure
VMware
Splunk
Logstash
Network Devices (e.g. Cisco)
IoT (e.g. Nest, Hue, Rachio)
wash itself (expose internals)

✓ = Implemented ○ = Possible, but not yet implemented

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].