-
Notifications
You must be signed in to change notification settings - Fork 172
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CLI: add readme with install instructions
The text in this readme is based largely on the one from the old Go CLI. Some sections have been removed since support for the thing being mentioned was not carried forward (e.g. `--data-*` flags, import/export, and also piping json bodies in which apparently our new clap-based parser doesn't do). Installer instructions are limited to the initial set offered via #1593 More sections will be added to describe `homebrew`/`cargo` installation once available.
- Loading branch information
1 parent
66042cd
commit 70ee772
Showing
4 changed files
with
165 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
<h1 align="center"> | ||
<a href="https://www.svix.com"> | ||
<img width="120" src="https://avatars.githubusercontent.com/u/80175132?s=200&v=4" /> | ||
<p align="center">Svix - Webhooks as a service</p> | ||
</a> | ||
</h1> | ||
|
||
# Svix CLI | ||
|
||
[![GitHub release (latest by date)][release-img]][release] | ||
|
||
|
||
|
||
A CLI to interact with the Svix API. | ||
|
||
**With the Svix CLI, you can:** | ||
|
||
- Interact with the Svix API | ||
- Validate Webhook payloads | ||
|
||
|
||
## Installation | ||
|
||
### Pre-built executables | ||
|
||
#### Via installer scripts | ||
|
||
Pre-build binaries are available for Linux, macOS via shell script installers. | ||
|
||
``` | ||
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/svix/svix-webhooks/releases/download/v1.44.0/svix-cli-installer.sh | sh | ||
``` | ||
|
||
For Windows users, installation can be done via powershell: | ||
|
||
``` | ||
powershell -ExecutionPolicy ByPass -c "irm https://github.com/svix-onelson/svix-webhooks/releases/download/v1.54.0/svix-cli-installer.ps1 | iex" | ||
``` | ||
|
||
These scripts will install the binaries to `~/.svix/bin` and also add this directory to your `PATH` by default. | ||
|
||
#### Manually | ||
|
||
Additionally, you can select executables to download directly from [our releases page](https://github.com/svix/svix-cli/releases), and use them as is without | ||
having to install anything. | ||
|
||
1. Download and extract the archive for your operating system. | ||
2. Run the `svix-cli` executable from the command line: `./svix-cli help`. | ||
|
||
> [!NOTE] | ||
> You may need to allow execution by running `chmod +x svix-cli`. | ||
|
||
You can also put the binaries anywhere in your `PATH` so you can run the command from anywhere without needing to provide its full path. On macOS or Linux you can achieve this by moving the executable to `/usr/local/bin` or `/usr/bin`. | ||
|
||
|
||
## Usage | ||
|
||
Installing the Svix CLI provides access to the `svix` command. | ||
|
||
```sh | ||
svix-cli [command] | ||
|
||
# Run `svix-cli help` for information about the available commands | ||
svix-cli help | ||
|
||
# or add the `--help` flag to any command for a more detailed description and list of flags | ||
svix-cli [command] --help | ||
``` | ||
|
||
|
||
## Using the `listen` command | ||
|
||
The `listen` command creates an on-the-fly publicly accessible URL for use when testing webhooks. | ||
|
||
> [!NOTE] | ||
> You don't need a Svix account when using the `listen` command. | ||
The cli then acts as a proxy, forwarding any requests to the given local URL. | ||
This is useful for testing your webhook server locally without having to open a port or | ||
change any NAT configuration on your network. | ||
|
||
Example: | ||
|
||
```sh | ||
svix-cli listen http://localhost:8000/webhook/ | ||
``` | ||
|
||
Output: | ||
|
||
```sh | ||
Webhook Relay is now listening at: | ||
https://play.svix.com/in/c_tSdQhb4Q5PTF5m2juiWu8qFREqE/ | ||
|
||
All requests on this endpoint will be forwarded to your local URL: | ||
http://localhost:8000/webhook/ | ||
View logs and debug information at: | ||
https://play.svix.com/view/c_tSdQhb4Q5PTF5m2juiWu8qFREqE/ | ||
To disable logging, run `svix-cli listen --no-logging` | ||
``` | ||
|
||
The above command will return you a unique URL and forward any POST requests it receives | ||
to `http://localhost:8000/webhook/`. | ||
|
||
## Interacting with the Svix Server | ||
|
||
```sh | ||
# Set your Auth Token temporarily via the SVIX_AUTH_TOKEN environment variable | ||
export SVIX_AUTH_TOKEN=<MY-AUTH-TOKEN> | ||
# or to persistently store your auth token in a config file run | ||
svix-cli login # interactively configure your Svix API credentials | ||
|
||
# Create an Application with the name "Demo" | ||
svix-cli application create '{ "name": "demo" }' | ||
|
||
# List Applications | ||
svix-cli application list --limit 2 --iterator some_iterator | ||
``` | ||
|
||
## Commands | ||
|
||
The Svix CLI supports the following commands: | ||
| Command | Description | | ||
| --------------- | ---------------------------------------------------------- | | ||
| login | Interactively configure your Svix API credentials | | ||
| application | List, create & modify applications | | ||
| authentication | Manage authentication tasks such as getting dashboard URLs | | ||
| endpoint | List, create & modify endpoints | | ||
| event-type | List, create & modify event types | | ||
| message | List & create messages | | ||
| message-attempt | List, lookup & resend message attempts | | ||
| signature | Sign or Verify the signature of a webhook message | | ||
| listen | Forward webhook requests a local url | | ||
| integration | List, create & modify integrations | | ||
| open | Quickly open Svix pages in your browser | | ||
| completion | Generate completion script | | ||
| version | Get the version of the Svix CLI | | ||
| help | Help about any command | | ||
|
||
|
||
## Shell Completions | ||
|
||
Shell completion scripts are provided for `bash`, `elvish`, `fish`, `powershell`, and `zsh`. | ||
|
||
To generate a script for your shell type `svix-cli completion <SHELL NAME>`. | ||
|
||
For detailed instructions on configuring completions for your shell run `svix-cli completion --help`. | ||
|
||
|
||
## Documentation | ||
|
||
For a more information, checkout our [API reference](https://docs.svix.com). | ||
|
||
|
||
|
||
[release-img]: https://img.shields.io/github/v/release/svix/svix-cli | ||
[release]: https://github.com/svix/svix-cli/releases |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters