Skip to content

Commit

Permalink
egctl proposal (#797)
Browse files Browse the repository at this point in the history
* add egctl proposal

Signed-off-by: zirain <zirain2009@gmail.com>

* Update docs/latest/design/egctl.md

Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
Signed-off-by: zirain <hejianpeng2@huawei.com>

* udpate arkodg's review comments

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* address comment and update config command

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* update wording

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* update review comments

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* fix typo

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* update dane's comment

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* remove install/uninstall

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

* remove egctl log command

Signed-off-by: hejianpeng <hejianpeng2@huawei.com>

Signed-off-by: zirain <zirain2009@gmail.com>
Signed-off-by: zirain <hejianpeng2@huawei.com>
Signed-off-by: hejianpeng <hejianpeng2@huawei.com>
Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
  • Loading branch information
zirain and arkodg committed Jan 6, 2023
1 parent 309566d commit 97032be
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions docs/latest/design/egctl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Introduce egctl

## Motivation

EG should provide a command line tool with following capabilities:

- Collect configuration from envoy proxy and gateway
- Analyse system configuration to diagnose any issues in envoy gateway

This tool is named `egctl`.

## Syntax

Use the following syntax to run `egctl` commands from your terminal window:

```console
egctl [command] [entity] [name] [flags]
```

where `command`, `name`, and `flags` are:

* `command`: Specifies the operation that you want to perform on one or more resources,
for example `config`, `version`.

* `entity`: Specifies the entity the operation is being performed on such as `envoy-proxy` or `envoy-gateway`.

* `name`: Specifies the name of the specified instance.

* `flags`: Specifies optional flags. For example, you can use the `-c` or `--config` flags to specify the values for installing.

If you need help, run `egctl help` from the terminal window.

## Operation

The following table includes short descriptions and the general syntax for all the `egctl` operations:

| Operation | Syntax | Description |
| --------- | -------------------------------- | --------------------------------------------------------------------------- |
| `version` | `egctl version` | Prints out build version information. |
| `config` | `egctl config ENTITY` | Retrieve information about proxy configuration from envoy proxy and gateway |
| `analyze` | `egctl analyze` | Analyze EG configuration and print validation messages |

## Examples

Use the following set of examples to help you familiarize yourself with running the commonly used `egctl` operations:

```console
# Retrieve all information about proxy configuration from envoy
egctl config envoy-proxy all <instance_name>

# Retrieve listener information about proxy configuration from envoy
egctl config envoy-proxy listener <instance_name>

# Retrieve information about envoy gateway
egctl config envoy-gateway
```

0 comments on commit 97032be

Please sign in to comment.