{"id":20410287,"url":"https://github.com/kuadrant/kuadrantctl","last_synced_at":"2025-07-20T06:04:50.715Z","repository":{"id":43481170,"uuid":"368546815","full_name":"Kuadrant/kuadrantctl","owner":"Kuadrant","description":"Kuadrant configuration command line utility","archived":false,"fork":false,"pushed_at":"2025-02-12T16:50:34.000Z","size":659,"stargazers_count":6,"open_issues_count":24,"forks_count":14,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T16:00:58.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kuadrant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-18T13:47:49.000Z","updated_at":"2025-02-12T16:46:50.000Z","dependencies_parsed_at":"2024-03-14T12:29:06.373Z","dependency_job_id":"55cac85f-28d5-4cb5-bb65-5d707715e074","html_url":"https://github.com/Kuadrant/kuadrantctl","commit_stats":{"total_commits":80,"total_committers":5,"mean_commits":16.0,"dds":0.09999999999999998,"last_synced_commit":"bc290793dae544d4aa6eca774f5b8336d4b073af"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Kuadrant/kuadrantctl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Fkuadrantctl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Fkuadrantctl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Fkuadrantctl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Fkuadrantctl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kuadrant","download_url":"https://codeload.github.com/Kuadrant/kuadrantctl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kuadrant%2Fkuadrantctl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266076051,"owners_count":23872729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T05:45:20.122Z","updated_at":"2025-07-20T06:04:50.707Z","avatar_url":"https://github.com/Kuadrant.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kuadrantctl\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n\n`kuadrantctl` is a CLI tool for managing [Kuadrant](https://kuadrant.io/) configurations and resources.\n\n## Installing\n\n`kuadrantctl` can be installed either by downloading pre-compiled binaries or by compiling from source. For most users, downloading the binary is the easiest and recommended method.\n\n### Installing Pre-compiled Binaries\n\n1. Download the latest binary for your platform from the [`kuadrantctl` Releases](https://github.com/Kuadrant/kuadrantctl/releases) page.\n2. Unpack the binary.\n3. Move it to a directory in your `$PATH` so that it can be executed from anywhere.\n\n### Compiling from Source\n\nIf you prefer to compile from source or are contributing to the project, you can install `kuadrantctl` using  `make install`. This method requires Golang 1.23.6 or newer.\n\nIt is possible to use the make target `install` to compile from source. From root of the repository, run \n\n```bash\nmake install\n```\n\nThis will compile `kuadrantctl` and install it in the `bin` directory at root of directory. It will also ensure the correct version of the binary is displayed . It can be ran using `./bin/kuadrantctl` .  \n\n## Usage\n\n Below is a high-level overview of its commands, along with links to detailed documentation for more complex commands.\n\n### General Syntax\n\n```bash\nkuadrantctl [command] [subcommand] [flags]\n```\n\n### Commands Overview\n\n| Command      | Description                                                |\n| ------------ | ---------------------------------------------------------- |\n| `completion` | Generate autocompletion scripts for the specified shell    |\n| `generate`   | Commands related to Kubernetes Gateway API and Kuadrant resource generation from OpenAPI 3.x specifications          |\n| `topology`   | Command related to Kuadrant topology                       |\n| `help`       | Help about any command                                     |\n| `version`    | Print the version number of `kuadrantctl`                  |\n\n### Flags\n\n| Flag               | Description           |\n| ------------------ | --------------------- |\n| `-h`, `--help`     | Help for `kuadrantctl`  |\n| `-v`, `--verbose`  | Enable verbose output |\n\n### Commands Detail\n\n#### `completion`\n\nGenerate an autocompletion script for the specified shell.\n\n| Subcommand   | Description                                 |\n| ------------ | ------------------------------------------- |\n| `bash`       | Generate script for Bash                    |\n| `fish`       | Generate script for Fish                    |\n| `powershell` | Generate script for PowerShell              |\n| `zsh`        | Generate script for Zsh                     |\n\n#### `generate`\n\nCommands related to Kubernetes Gateway API and Kuadrant resource generation from OpenAPI 3.x specifications.\n\n| Subcommand   | Description                                   |\n| ------------ | --------------------------------------------- |\n| `gatewayapi` | Generate Gateway API resources                |\n| `kuadrant`   | Generate Kuadrant resources                   |\n\n##### `generate gatewayapi`\n\nGenerate Gateway API resources from an OpenAPI 3.x specification\n\n| Subcommand | Description                                      | Flags                             |\n| ---------- | ------------------------------------------------ | --------------------------------- |\n| `httproute`| Generate Gateway API HTTPRoute from OpenAPI 3.0.X| `--oas string` Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required). `-o` Output format: 'yaml' or 'json'. (default \"yaml\") |\n\n#### `topology`\n\nExport and visualize kuadrant topology\n\n### Usage\n\n```shell\n$ kuadrantctl topology -h\nExport and visualize kuadrant topology\n\nUsage:\n  kuadrantctl topology [flags]\n\nFlags:\n  -d, --dot string         Graphviz DOT output file\n  -h, --help               help for topology\n  -n, --namespace string   Topology's namespace (default \"kuadrant-system\")\n  -o, --output string      SVG image output file\n\nGlobal Flags:\n  -v, --verbose   verbose output\n```\n\n##### `generate kuadrant`\n\nGenerate Kuadrant resources from an OpenAPI 3.x specification\n\n| Subcommand       | Description                                       | Flags                             |\n| ---------------- | ------------------------------------------------- | --------------------------------- |\n| `authpolicy`     | Generate a [Kuadrant AuthPolicy](https://docs.kuadrant.io/kuadrant-operator/doc/auth/) from an OpenAPI 3.0.x specification   | `--oas string` Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required). `-o` Output format: 'yaml' or 'json'. (default \"yaml\") |\n| `ratelimitpolicy`| Generate [Kuadrant RateLimitPolicy](https://docs.kuadrant.io/kuadrant-operator/doc/rate-limiting/) from an OpenAPI 3.0.x specification | `--oas string` Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required). `-o` Output format: 'yaml' or 'json'. (default \"yaml\") |\n\n\n#### `version`\n\nPrint the version number of `kuadrantctl`.\n\nNo additional flags or subcommands.\n\n### Additional Guides\n\n#### Generating Gateway API HTTPRoute Objects\n\n- Generates [Gateway API HTTPRoute](https://gateway-api.sigs.k8s.io/v1alpha2/guides/http-routing/) objects from an OpenAPI Specification (OAS) 3.x.\n- Supports reading from a file, URL, or stdin.\n- Example usages and more information can be found in the [detailed guide](doc/generate-gateway-api-httproute.md).\n\n#### Generating Kuadrant AuthPolicy Objects\n\n- Generates [Kuadrant AuthPolicy](https://github.com/Kuadrant/kuadrant-operator/blob/v0.4.1/doc/auth.md) objects for managing API authentication.\n- Supports `openIdConnect` and `apiKey` types from the OpenAPI Security Scheme Object.\n- Example usages and more information can be found in the [detailed guide](doc/generate-kuadrant-auth-policy.md).\n\n#### Generating Kuadrant RateLimitPolicy Objects\n\n- Generates [Kuadrant RateLimitPolicy](https://github.com/Kuadrant/kuadrant-operator/blob/v0.4.1/doc/rate-limiting.md) objects for managing API rate limiting.\n- Supports reading from a file, URL, or stdin.\n- Example usages and more information can be found in the [detailed guide](doc/generate-kuadrant-rate-limit-policy.md).\n\nFor more detailed information about each command, including options and usage examples, use `kuadrantctl [command] --help`.\n\n\n## Using with GitHub Actions\n\n```yaml\n- name: Install kuadrantctl\n  uses: jaxxstorm/action-install-gh-release@v1.10.0\n  with: # Grab the latest version\n    repo: Kuadrant/kuadrantctl\n```\n\n## Commands\n* [Generate Gateway API HTTPRoute objects from OpenAPI 3.X](doc/generate-gateway-api-httproute.md)\n* [Generate Kuadrant RateLimitPolicy from OpenAPI 3.X](doc/generate-kuadrant-rate-limit-policy.md)\n* [Generate Kuadrant AuthPolicy from OpenAPI 3.X](doc/generate-kuadrant-auth-policy.md)\n\n## Contributing\nThe [Development guide](doc/development.md) describes how to build the kuadrantctl CLI and how to test your changes before submitting a patch or opening a PR.\n\n## Licensing\n\nThis software is licensed under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0).\n\nSee the LICENSE and NOTICE files that should have been provided along with this software for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuadrant%2Fkuadrantctl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuadrant%2Fkuadrantctl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuadrant%2Fkuadrantctl/lists"}