{"id":18420360,"url":"https://github.com/kubeshop/kusk-gen","last_synced_at":"2025-04-07T13:31:56.150Z","repository":{"id":40350283,"uuid":"379575605","full_name":"kubeshop/kusk-gen","owner":"kubeshop","description":"Kusk Gen generates Ingress-controller configurations from your OpenAPI definition","archived":false,"fork":false,"pushed_at":"2022-10-17T11:17:58.000Z","size":875,"stargazers_count":174,"open_issues_count":15,"forks_count":12,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-03-22T19:23:43.801Z","etag":null,"topics":["ambassador","generator","ingress","ingress-nginx","kubernetes","nginx","openapi","traefik"],"latest_commit_sha":null,"homepage":"https://kubeshop.github.io/kusk-gen","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubeshop.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}},"created_at":"2021-06-23T11:11:20.000Z","updated_at":"2024-10-31T17:45:55.000Z","dependencies_parsed_at":"2023-01-19T21:07:14.408Z","dependency_job_id":null,"html_url":"https://github.com/kubeshop/kusk-gen","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeshop%2Fkusk-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeshop%2Fkusk-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeshop%2Fkusk-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeshop%2Fkusk-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubeshop","download_url":"https://codeload.github.com/kubeshop/kusk-gen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247661837,"owners_count":20975131,"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":["ambassador","generator","ingress","ingress-nginx","kubernetes","nginx","openapi","traefik"],"created_at":"2024-11-06T04:21:20.424Z","updated_at":"2025-04-07T13:31:54.606Z","avatar_url":"https://github.com/kubeshop.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kusk-gen - use OpenAPI to configure Kubernetes\n\n## What is kusk-gen?\n\nDevelopers deploying their REST APIs in Kubernetes shouldn't have to worry about managing resources that do not directly\nrelate to their applications or services.\n\nkusk-gen (_coachman in Swedish_) treats your OpenAPI/Swagger definition as a source of truth for generating \nsupplementary Kubernetes resources for your REST APIs in regard to mappings, security, traffic-control, monitoring, etc.\n\nRead the [Introductory blog-post](https://medium.com/kubeshop-i/hello-kusk-openapi-for-kubernetes-19be94fc1e91) to get an overview.\n\n![kusk-gen-overview](https://user-images.githubusercontent.com/14029650/129193622-b5f06b8d-845d-4b1e-adaf-34dd7b3e0108.png)\n\n## Quick Start\n\n### Homebrew\n`brew install kubeshop/kusk/kusk-gen`\n\n### Latest release on Github\n`go install github.com/kubeshop/kusk-gen@$VERSION`\n\nIf you don't want to build it yourself, the [Releases](https://github.com/kubeshop/kusk-gen/releases) page contains already built binaries for all supported platforms.\n\nDownload it and unpack *kusk-gen* to the directory of you choice.\n\n### From source\n```shell\ngit clone git@github.com:kubeshop/kusk-gen.git \u0026\u0026 \\\ncd kusk-gen \u0026\u0026 \\\ngo install\n```\n\nRead more at [Getting Started](https://kubeshop.github.io/kusk-gen/getting-started/)\n\n## Why kusk-gen?\n\nUsing OpenAPI as the source-for-truth for client, servers, testing, documentation, etc. is a common approach when \nbuilding microservice architectures with REST APis. Kusk extends this paradigm to also include Kubernetes configurations, \nallowing you to \n- Cut down on development time when deploying your REST APIs to your clusters\n- Remove the need to learn tools-specific formats and configurations\n- Easily switch between supported tools without having to learn new formats/configurations\n\n## Features\n\n- kusk-gen can inspect your cluster for the tools it supports and generate corresponding resources automatically.\n- the Kusk [OpenAPI Extension](https://kubeshop.github.io/kusk/openapi-extension/) allows you to specify extended QoS and k8s related metadata which will be used\n  to configure your cluster accordingly.\n- kusk-gen plays nicely with both manual and automated/GitOps/CD workflows.\n- The underlying architecture makes it straight-forward to extend kusk-gen with new generators\n\nkusk-gen currently supports (click for configuration options)\n- [Ambassador 1.x](https://kubeshop.github.io/kusk-gen/ambassador/)\n- [Ambassador 2.0](https://kubeshop.github.io/kusk-gen/ambassador2/)\n  - **Warning** This is a developer preview and should be treated as unstable\n- [Linkerd](https://kubeshop.github.io/kusk-gen/linkerd/)\n- [Ingress-Nginx](https://kubeshop.github.io/kusk-gen/ingress-nginx/)\n  - This generator refers to the community ingress from [Kubernetes ingress-nginx](https://github.com/kubernetes/ingress-nginx/)\n- [Traefik V2 (v2.x)](https://kubeshop.github.io/kusk-gen/traefik/)\n\nSome of the upcoming tools we'd like to support are Kong and Contour. Please don't hesitate to \nsuggest others or contribute your own generator!\n\n## Documentation \u0026 Support\n\nTo learn more about kusk-gen check out the [complete documentation](https://kubeshop.github.io/kusk-gen/)\n\nJoin our [Discord Server](https://discord.gg/uNuhy6GDyn) to ask questions, suggest ideas, etc.\n\n# How to contribute\n\n- Check out our [Contributor Guide](https://github.com/kubeshop/.github/blob/main/CONTRIBUTING.md) and\n  [Code of Conduct](https://github.com/kubeshop/.github/blob/main/CODE_OF_CONDUCT.md)\n- Fork/Clone the repo and make sure you can run it as shown above\n- Check out open [issues](https://github.com/kubeshop/kusk-gen/issues) here on GitHub\n- Get in touch with the team by starting a discussion on [GitHub](https://github.com/kubeshop/kusk-gen/discussions) or on our [Discord Server](https://discord.gg/uNuhy6GDyn).\n  or open an issue of your own that you would like to contribute to the project.\n- Fly like the wind!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeshop%2Fkusk-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubeshop%2Fkusk-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeshop%2Fkusk-gen/lists"}