Using Quilkin
There are two choices for running Quilkin:
- Binary
- Container image
Binary
The release binary can be downloaded from the Github releases page.
Container Image
For each release, there is a container image built and hosted on Google Cloud Artifact Registry.
The latest production release can be found under the tag:
us-docker.pkg.dev/quilkin/release/quilkin:0.6.0-dev-bf3b43a
Which can be browsed as us-docker.pkg.dev/quilkin/release/quilkin.
The entrypoint of the container is to run /quilkin
with no arguments, therefore arguments will need to be supplied. See the documentation below
for all command line options.
Command-Line Interface
Quilkin provides a variety of different commands depending on your use-case.
The primary entrypoint of the process is run
, which runs Quilkin as a reverse
UDP proxy. To see a basic usage of the command-line interface run through the
netcat with Quilkin quickstart.
For more advanced usage, checkout the quilkin::Cli
documentation or run:
$ quilkin --help
The Command-Line Interface for Quilkin
Usage: quilkin [OPTIONS] <COMMAND>
Commands:
proxy Run Quilkin as a UDP reverse proxy
generate-config-schema Generates JSON schema files for known filters
manage Runs Quilkin as a xDS management server, using `provider` as a configuration source
help Print this message or the help of the given subcommand(s)
Options:
--no-admin Whether to spawn the admin server or not [env: NO_ADMIN=]
-c, --config <CONFIG> The path to the configuration file for the Quilkin instance [env: QUILKIN_CONFIG=] [default: quilkin.yaml]
--admin-address <ADMIN_ADDRESS> The port to bind for the admin server [env: QUILKIN_ADMIN_ADDRESS=]
-q, --quiet Whether Quilkin will report any results to stdout/stderr [env: QUIET=]
-h, --help Print help
-V, --version Print version
File Based Configuration
For use cases that utilise functionality such as:
- A static set of Filters
- Multiple static Endpoints
- Static metadata on Endpoints
Quilkin also provides a yaml based config file as well. See the File Configuration documentation for details.
Logging
By default Quilkin will log INFO
level events, you can change this by setting
the RUST_LOG
environment variable. See log
documentation for
more advanced usage.
If you are debugging Quilkin set the
RUST_LOG
environemnt variable toquilkin=trace
, to filter trace level logging to only Quilkin components.