Kusk is a command-line interface tool written in Go designed to manage Kusk Gateway, a Kubernetes-native API gateway built on Envoy. The repository is now archived and deprecated, with development having moved to the main Kusk Gateway repository. However, the CLI tool itself provides essential functionality for operators managing Kusk Gateway deployments in Kubernetes clusters.
The primary purpose of the Kusk CLI is to streamline the installation and configuration of Kusk Gateway and its associated components. The tool supports three main command categories: install, api generate, and dashboard access. The install command automates the deployment of Kusk Gateway and all its components into a Kubernetes cluster using Helm, eliminating the need for manual configuration of multiple resources. Users can customize the installation through flags controlling the release name prefix, target namespace, and whether to include optional components like the dashboard, API service, or Envoy fleets.
The api generate command addresses a critical workflow in API gateway management by converting OpenAPI specification documents into Kusk Gateway-compatible Kubernetes API resources. This command accepts OpenAPI specs from local files or remote URLs and generates manifests that can be directly applied to a cluster. The tool intelligently handles the x-kusk extension, which provides gateway-specific configuration. If the extension is absent, the CLI adds it with sensible defaults derived from flag values for upstream service details. If the extension already exists, the tool preserves existing settings while allowing flag-based overrides for service name, namespace, and port. The command requires specification of an Envoy fleet to expose the API, with support for multiple fleets managed by a single Kusk Gateway instance.
The dashboard command provides convenient access to the Kusk Gateway dashboard through port-forwarding, automatically opening it in the user's browser. This feature supports customization of the target Envoy fleet and port configuration, allowing operators to access dashboards across different deployments.
Installation options are flexible and accommodate various user preferences. The tool is available through Homebrew, Go install from GitHub releases, an automated installation script, or manual binary download and placement. Multiple update paths are provided, including Homebrew, direct GitHub releases, and source-based compilation.
The CLI is classified within multiple domains including API gateway functionality, Kubernetes integration, Envoy integration, traffic management, configuration, cloud-native architecture, service mesh patterns, routing, observability, and microservices. This broad classification reflects how Kusk Gateway operates as a comprehensive solution for managing API traffic in Kubernetes environments.
The repository maintains an MIT license and welcomes community contributions through established guidelines. Despite being archived, the CLI represents a focused tool for a specific operational need within the Kusk Gateway ecosystem, providing automation and convenience for deployment and configuration tasks that would otherwise require manual Kubernetes manifest creation and Helm chart management.