[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73255":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},73255,"kro","kubernetes-sigs\u002Fkro","kubernetes-sigs","kro | Kube Resource Orchestrator","https:\u002F\u002Fkro.run\u002F",null,"Go",2913,357,44,68,0,5,13,35,15,29.66,"Apache License 2.0",false,"main",true,[27],"k8s-sig-cloud-provider","2026-06-12 02:03:10","# kro | Kube Resource Orchestrator\n\n\n[![Go Report Card](https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Fkubernetes-sigs\u002Fkro)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fkubernetes-sigs\u002Fkro)\n![GitHub go.mod Go version](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fgo-mod\u002Fgo-version\u002Fkubernetes-sigs\u002Fkro)\n![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fkubernetes-sigs\u002Fkro)\n![GitHub Repo stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkubernetes-sigs\u002Fkro)\n\nKube Resource Orchestrator (kro) is a subproject of [Kubernetes SIG Cloud Provider](https:\u002F\u002Fgithub.com\u002Fkubernetes\u002Fcommunity\u002Fblob\u002Fmaster\u002Fsig-cloud-provider\u002FREADME.md). This project aims to simplify the creation and management of complex custom resources for Kubernetes.\n\nKro helps you to define complex multi-resource constructs as reusable components in your applications and systems. It does this by providing a Kubernetes-native, vendor agnostic way to define groupings of Kubernetes resources.\n\nKro's fundamental custom resource is the *ResourceGraphDefinition*. A ResourceGraphDefinition defines collections of underlying Kubernetes resources. It can define any Kubernetes resources, either native or custom, and can specify the dependencies between them. This lets you define complex custom resources, and include default configurations for their use.\n\nThe kro controller will determine the dependencies between resources, establish the correct order of operations to create and configure them, and then dynamically create and manage all of the underlying resources for you.\n\nKro is Kubernetes native and integrates seamlessly with existing tools to preserve familiar processes and interfaces.\n\n## Documentation\n\n| Title                                  | Description                     |\n| -------------------------------------- | ------------------------------- |\n| [Introduction][kro-overview]           | An introduction to kro          |\n| [Installation][kro-installation]       | Install kro in your cluster     |\n| [Getting started][kro-getting-started] | Deploy your first ResourceGraphDefinition |\n| [Concepts][kro-concepts]               | Learn more about kro concepts   |\n| [Examples][kro-examples]               | Example resources               |\n| [Contributions](.\u002FCONTRIBUTING.md)       | How to get involved             |\n\n[kro-overview]: https:\u002F\u002Fkro.run\u002Fdocs\u002Foverview\n[kro-installation]: https:\u002F\u002Fkro.run\u002Fdocs\u002Fgetting-started\u002FInstallation\n[kro-getting-started]: https:\u002F\u002Fkro.run\u002Fdocs\u002Fgetting-started\u002Fdeploy-a-resource-graph-definition\n[kro-concepts]: https:\u002F\u002Fkro.run\u002Fdocs\u002Fconcepts\u002Fresource-group-definitions\n[kro-examples]: https:\u002F\u002Fkro.run\u002Fexamples\u002F\n\n## FAQ\n\n1. **What is kro?**\n\n    Kube Resource Orchestrator (**kro**) is a new operator for Kubernetes that simplifies the creation of complex Kubernetes resource configurations.\n    kro lets you create and manage custom groups of Kubernetes resources by defining them as a *ResourceGraphDefinition*, the project's fundamental custom resource.\n    ResourceGraphDefinition specifications define a set of resources and how they relate to each other functionally.\n    Once defined, ResourceGraphDefinitions can be applied to a Kubernetes cluster where the kro controller is running.\n    Once validated by kro, you can create instances of your ResourceGraphDefinition.\n    kro translates your ResourceGraphDefinition instance and its parameters into specific Kubernetes resources and configurations which it then manages for you.\n\n2. **How does kro work?**\n\n    kro is designed to use core Kubernetes primitives to make resource grouping, customization, and dependency management simpler.\n    When a ResourceGraphDefinition is applied to the cluster, the kro controller verifies its specification, then dynamically creates a new CRD and registers it with the API server.\n    kro then deploys a dedicated controller to respond to instance events on the CRD. This microcontroller is responsible for managing the lifecycle of resources defined in the ResourceGraphDefinition for each instance that is created.\n\n3. **How do I use kro?**\n\n    To create your custom resource groupings, you create *ResourceGraphDefinition* specifications. These specify one or more Kubernetes resources, and can include specific configurations for each resource.\n\n    For example, you can define a *WebApp* ResourceGraphDefinition that defines a *WebAppCRD* CRD that is composed of a *Deployment*, pre-configured to deploy your web server backend, and a *Service* configured to run on a specific port.\n    You can just as easily create a more complex *WebAppWithDB* ResourceGraphDefinition by combining the existing *WebApp* ResourceGraphDefinition with a *Table* custom resource to provision a cloud managed database instance for your web app to use.\n\n    Once you have defined a ResourceGraphDefinition, you can apply it to a Kubernetes cluster where the kro controller is running. kro will take care of the heavy lifting of creating CRDs and deploying dedicated controllers in order to manage instances of your new custom resource group.\n\n    To create an instance of your custom resource groupings, you create an instance of the CRD that your ResourceGraphDefinition specifies. In the WebApp ResourceGraphDefinition example, this would be an instance of the *WebAppCRD* CRD. kro will respond by dynamically creating, configuring, and managing the underlying Kubernetes resources for you. \n\n4. **Why did you build this project?**\n\n    We want to help streamline and simplify building with Kubernetes. Building with Kubernetes means dealing with resources that need to operate and work together, and orchestrating this can get complex and difficult at scale.\n   With this project, we're taking a step in reducing the complexity of resource dependency management and customization, paving the way for a simple and scalable way to create complex custom resources for Kubernetes.\n\n5. **What should I know about API changes?**\n\n   kro's API is currently at `v1alpha1`. As kro evolves, we may introduce breaking changes to improve the API. We are committed to providing clear migration paths, deprecation notices, and comprehensive support to help users adapt to any breaking changes. Our goal is to ensure smooth transitions as the project continues to improve.\n\n## Community Participation\n\nDevelopment and discussion is coordinated in the [Kubernetes Slack (invite link)][k8s-slack] channel [#kro][kro-channel] channel.\n\n[k8s-slack]: https:\u002F\u002Fcommunityinviter.com\u002Fapps\u002Fkubernetes\u002Fcommunity\n[kro-channel]: https:\u002F\u002Fkubernetes.slack.com\u002Farchives\u002FC081TMY9D6Y\n\nPlease join our community meeting.\n* Every other Wednesday at 9AM PT (Pacific Time). [Convert to local timezone][tz-help]\n* [Add to Google Calendar][gcal-add] \n* Agenda: [Public doc][agenda]\n* Join us: [Zoom meeting][zoom]\n* Community meeting recordings:  [YouTube channel][youtube]\n\n\n[tz-help]: http:\u002F\u002Fwww.thetimezoneconverter.com\u002F?t=9%3A00&tz=PT%20%28Pacific%20Time%29\n[gcal-add]: https:\u002F\u002Fcalendar.google.com\u002Fcalendar\u002Frender?action=TEMPLATE&text=Kro+Community+Meeting&details=Join+us+for+the+Kro+community+meeting.%0A%0AZoom%3A+https%3A%2F%2Fzoom.us%2Fj%2F508079177%3Fpwd%3DZmEvMksxdTFTc0N1eXFLRm91QUlyUT09%0AAgenda%3A+https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1GqeHcBlOw6ozo-qS4TLdXSi5qUn88QU6dwdq0GvxRz4&location=https%3A%2F%2Fzoom.us%2Fj%2F508079177%3Fpwd%3DZmEvMksxdTFTc0N1eXFLRm91QUlyUT09&dates=20260204T090000%2F20260204T100000&recur=RRULE%3AFREQ%3DWEEKLY%3BINTERVAL%3D2%3BBYDAY%3DWE&ctz=America%2FLos_Angeles\n[agenda]: https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1GqeHcBlOw6ozo-qS4TLdXSi5qUn88QU6dwdq0GvxRz4\u002Fedit?tab=t.0\n[zoom]: https:\u002F\u002Fzoom.us\u002Fj\u002F508079177?pwd=ZmEvMksxdTFTc0N1eXFLRm91QUlyUT09\n[youtube]: https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCUlcI3NYq9ehl5wsdfbJzSA\n\n\n\n\n### Code of conduct\n\nParticipation in the project community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security) and [SECURITY](SECURITY.md) for information.\n\n## License\n\n[Apache 2.0](LICENSE)\n","Kube Resource Orchestrator (kro) 是一个旨在简化 Kubernetes 中复杂自定义资源创建和管理的项目。其核心功能是通过定义 *ResourceGraphDefinition* 来组合多种 Kubernetes 资源，支持原生或自定义资源，并能指定它们之间的依赖关系，从而实现复杂的资源配置和默认设置。kro 控制器会自动解析这些资源间的依赖性，确保按正确顺序创建和配置资源。该项目使用 Go 语言开发，具备 Kubernetes 原生特性，能够无缝集成到现有的工具链中。适用于需要频繁部署和维护由多个相关联的 Kubernetes 资源构成的应用场景，特别是在云提供商环境下对资源编排有较高需求的情况下。",2,"2026-06-11 03:44:44","high_star"]