83 releases (36 breaking)
new 0.37.0 | Nov 9, 2024 |
---|---|
0.35.1 |
|
0.29.2 | Jun 17, 2024 |
0.27.0-alpha.1 | Mar 18, 2024 |
0.1.7 | Nov 10, 2020 |
#106 in WebAssembly
6,918 downloads per month
2.5MB
29K
SLoC
_ _ _____ _ _ _
____| | | | / ____| | | | |
__ ____ _ ___ _ __ ___ / ____| | ___ _ _ __| | | (___ | |__ ___| | |
\ \ /\ / / _` / __| '_ ` _ \| | | |/ _ \| | | |/ _` | \___ \| '_ \ / _ \ | |
\ V V / (_| \__ \ | | | | | |____| | (_) | |_| | (_| | ____) | | | | __/ | |
\_/\_/ \__,_|___/_| |_| |_|\_____|_|\___/ \__,_|\__,_| |_____/|_| |_|\___|_|_|
[!WARNING] This crate is being deprecated in favor of wash, where the wash CLI will be published from now on.
Why wash
wash
is a bundle of command line tools that, together, form a comprehensive CLI for wasmCloud development. Everything from generating new wasmCloud projects, starting local development infrastructure, interacting with OCI compliant registries, and deploying applications is contained within the subcommands of wash
. Our goal with wash
is to encapsulate our tools into a single binary to make developing WebAssembly with wasmCloud painless and simple.
Installing wash
Cargo
cargo install --locked wash-cli
If you have cargo-binstall:
cargo binstall wash-cli
Linux (deb/rpm + apt)
# Debian / Ubuntu (deb)
curl -s https://packagecloud.io/install/repositories/wasmcloud/core/script.deb.sh | sudo bash
# Fedora (rpm)
curl -s https://packagecloud.io/install/repositories/wasmcloud/core/script.rpm.sh | sudo bash
sudo apt install wash
Linux (snap)
sudo snap install wash --edge --devmode
Linux (brew)
brew install wasmcloud/wasmcloud/wash
MacOS (brew)
brew install wasmcloud/wasmcloud/wash
Windows (choco)
choco install wash
Nix
nix run github:wasmCloud/wash
Proxy authentication
In a scenario where you are behind a proxy, you can set the HTTP_PROXY
and HTTPS_PROXY
environment variables to the proxy URL.
And if your proxy requires authentication, you can set the WASH_PROXY_USERNAME
and WASH_PROXY_PASSWORD
environment variables to the username and password, respectively. Since most passwords contain special characters, it's recommended to specify the value for 'WASH_PROXY_PASSWORD' in single quotes.
For example, in a unix environment:
export WASH_PROXY_USERNAME='username'
export WASH_PROXY_PASSWORD='p@ssw0rd'
Using wash
wash
has multiple subcommands, each specializing in one specific area of the wasmCloud development process.
Build:
new Create a new project from a template
build Build (and sign) a wasmCloud component or capability provider
dev Start a developer loop to hot-reload a local wasmCloud component
inspect Inspect a capability provider or Wasm component for signing information and interfaces
par Create, inspect, and modify capability provider archive files
Run:
up Bootstrap a local wasmCloud environment
down Tear down a local wasmCloud environment (launched with wash up)
app Manage declarative applications and deployments (wadm)
spy Spy on all invocations a component sends and receives
ui Serve a web UI for wasmCloud
Iterate:
get Get information about different running wasmCloud resources
start Start a component or capability provider
scale Scale a component running in a host to a certain level of concurrency
stop Stop a component, capability provider, or host
update Update a component running in a host to newer image reference
link Link one component to another on a set of interfaces
call Invoke a simple function on a component running in a wasmCloud host
label Label (or un-label) a host with a key=value label pair
config Create configuration for components, capability providers and links
Publish:
pull Pull an artifact from an OCI compliant registry
push Push an artifact to an OCI compliant registry
Configure:
completions Generate shell completions for wash
ctx Manage wasmCloud host configuration contexts
drain Manage contents of local wasmCloud caches
keys Utilities for generating and managing signing keys
claims Generate and manage JWTs for wasmCloud components and capability providers
Shell auto-complete
wash
has support for autocomplete for Zsh, Bash, Fish, and PowerShell.
See Completions for instructions for installing
autocomplete for your shell.
Contributing to wash
Visit CONTRIBUTING.md for more information on how to contribute to wash
project.
Dependencies
~112MB
~2M SLoC