CLI

GatewayD is a CLI application that runs on Windows, Linux-based distributions and macOS. The application has many subcommands that are explained below:

Subcommand Description Flags/Example
completion generates the autocompletion script for the specified shell - bash
- fish
- powershell
- zsh
config manages GatewayD global configuration  
config init generates a global configuration file - -c, --config global config file (default “gatewayd.yaml”)
- -f, --force: overwrites the existing config file
- --sentry: Enable Sentry for error reporting (default true)
config lint validates global configuration file - -c, --config global config file (default “gatewayd.yaml”)
- --sentry: Enable Sentry for error reporting (default true)
help shows help about any subcommand The -h or --help flag can be used to get more information about a specific subcommand.
plugin manages GatewayD plugins and their configurations  
plugin init generates a plugins configuration file - -p, --plugin-config: plugins config file (default “gatewayd_plugins.yaml”)
- -f, --force: overwrites the existing config file
- --sentry: Enable Sentry for error reporting (default true)
plugin install installs one or more plugins from:
- CLI arguments (GitHub URL or a locally downloaded archive file)
- the plugins configuration file
- -p, --plugin-config: plugins config file (default “gatewayd_plugins.yaml”)
- -o, --output-dir: output directory of the plugin, where the plugin is extracted (default “./plugins”)
- -n, --name: Name of the plugin (only for installing from archive files)
- --pull-only: only pull the plugin, don’t install it
- --cleanup: Clean up the downloaded and extracted files after installing the plugin (except the plugin binary) (default true)
- --update: Update the plugin if it already exists (default false)
- --backup: Backup the plugins configuration file before installing the plugin (default false)
- --overwrite-config: Overwrite the existing plugins configuration file (overrides --update, only used for installing from the plugins configuration file)
- --no-prompt: Do not prompt for user input (default true)
- --skip-path-slip-verification: Skip the path slip verification (default false). Use it only if you’re using an absolute path for --output-dir in an isolated environment like Docker and you trust the source of the plugin
- --sentry: Enable Sentry for error reporting (default true)
plugin lint validates plugins configuration file - -p, --plugin-config: plugins config file (default “gatewayd_plugins.yaml”)
- --sentry: Enable Sentry for error reporting (default true)
plugin list lists all installed plugins - -p, --plugin-config: plugins config file (default “gatewayd_plugins.yaml”)
- -e, --only-enabled: Only list enabled plugins
- --sentry: Enable Sentry for error reporting (default true)
plugin scaffold generates a plugin scaffold for plugin development and stores the files into a directory - -i, --input-file: plugin scaffold input file (default “input.yaml”)
- -o, --output-dir: utput directory for the scaffold (default “./plugins”)
run runs an instance of gatewayd with the specified configuration files - -c, --config: global config file (default "gatewayd.yaml")
- -p, --plugin-config: plugin config file (default "gatewayd_plugins.yaml")
- --tracing: Enable tracing with OpenTelemetry via gRPC
- --collector-url string: Collector URL of OpenTelemetry gRPC endpoint (default "localhost:4317")
- --sentry: Enable Sentry for error reporting (default true)
- --lint: Enable linting of configuration files (default true)
- --dev: Enable development mode for plugin development
- --usage-report: Enable usage report (default true)
version shows version information GatewayD v0.6.0 (2023-03-12T22:22:55+0000/ae469dc, go1.20.1, linux/amd64)

Please visit the telemetry and usage report page for more information on which pieces of data are collected by the service.