{"id":13820122,"url":"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost","last_synced_at":"2025-10-10T11:40:56.620Z","repository":{"id":37382753,"uuid":"332894939","full_name":"vmware-tanzu/cluster-api-provider-bringyourownhost","owner":"vmware-tanzu","description":"Kubernetes Cluster API Provider BYOH for already-provisioned hosts running Linux.","archived":false,"fork":false,"pushed_at":"2024-06-03T15:10:05.000Z","size":3606,"stargazers_count":225,"open_issues_count":72,"forks_count":74,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-08-05T08:08:41.788Z","etag":null,"topics":["bring-your-own-host","byoh","cluster-api","infrastructure-provider","kubernetes-cluster"],"latest_commit_sha":null,"homepage":"","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/vmware-tanzu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY_CONTACTS","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-25T21:56:30.000Z","updated_at":"2024-07-29T04:00:08.000Z","dependencies_parsed_at":"2024-01-13T16:22:24.305Z","dependency_job_id":"a4fa2166-736a-4fbb-9e8f-b88eec0c99ea","html_url":"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost","commit_stats":null,"previous_names":["vmware-tanzu/cluster-api-provider-byoh"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware-tanzu%2Fcluster-api-provider-bringyourownhost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware-tanzu%2Fcluster-api-provider-bringyourownhost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware-tanzu%2Fcluster-api-provider-bringyourownhost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware-tanzu%2Fcluster-api-provider-bringyourownhost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmware-tanzu","download_url":"https://codeload.github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225413757,"owners_count":17470619,"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":["bring-your-own-host","byoh","cluster-api","infrastructure-provider","kubernetes-cluster"],"created_at":"2024-08-04T08:00:58.591Z","updated_at":"2025-10-10T11:40:51.591Z","avatar_url":"https://github.com/vmware-tanzu.png","language":"Go","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# Kubernetes Cluster API Provider Bring Your Own Host (BYOH)\n\u003cp align=\"center\"\u003e\n\u003c!-- lint card --\u003e\u003ca href=\"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/actions/workflows/lint.yml\"\u003e\n\u003cimg src=\"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/actions/workflows/lint.yml/badge.svg\"\u003e\u003c/a\u003e\n\u003c!-- test status --\u003e\n\u003ca href=\"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/actions?query=event%3Apush+branch%3Amain+workflow%3ACI+\"\u003e\n\u003cimg src=\"https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/actions/workflows/ci.yml/badge.svg?branch=main\u0026event=push\"\u003e\u003c/a\u003e\n\u003c!-- go doc / reference card --\u003e\n\u003ca href=\"https://pkg.go.dev/github.com/vmware-tanzu/cluster-api-provider-bringyourownhost\"\u003e\n\u003cimg src=\"https://pkg.go.dev/badge/github.com/vmware-tanzu/cluster-api-provider-bringyourownhost.svg\"\u003e\u003c/a\u003e\n\u003c!-- goreportcard badge --\u003e\n\u003ca href=\"https://goreportcard.com/report/github.com/vmware-tanzu/cluster-api-provider-bringyourownhost\"\u003e\n\u003cimg src=\"https://goreportcard.com/badge/github.com/vmware-tanzu/cluster-api-provider-bringyourownhost\"\u003e\u003c/a\u003e\n\u003c!-- codecov badge --\u003e\n\u003ca href=\"https://codecov.io/gh/vmware-tanzu/cluster-api-provider-bringyourownhost\"\u003e\n\u003cimg src=\"https://codecov.io/gh/vmware-tanzu/cluster-api-provider-bringyourownhost/branch/main/graph/badge.svg?token=8GGPY0MENQ\"\u003e\u003c/a\u003e\n\u003c!-- openssf badge --\u003e\n\u003ca href=\"https://bestpractices.coreinfrastructure.org/projects/5506\"\u003e\n\u003cimg src=\"https://bestpractices.coreinfrastructure.org/projects/5506/badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n------\n\n## What is Cluster API Provider BYOH\n\n[Cluster API](https://github.com/kubernetes-sigs/cluster-api) brings\ndeclarative, Kubernetes-style APIs to cluster creation, configuration and\nmanagement.\n\n__BYOH__ is a Cluster API Infrastructure Provider for already-provisioned hosts running Linux. This provider allows operators to adopt Cluster API for deploying and managing kubernetes nodes without also having to adopt a specific infrastructure service. This enables users to decouple kubernetes node provisioning from host and infrastructure provisioning.\n\n## BYOH Glossary\n**Host** - A host is a running computer system. It could be physical or virtual. It has a kernel and some base operating system\n\n**BYO Host** - A Linux host provisioned and managed outside of Cluster API\n\n**BYOH Capacity Pool** - A set of BYO Hosts registered in a management cluster \u0026 authorized for usage as a capacity for deploying Kubernetes nodes\n\n**Kubernetes Node** - A Kubernetes Node that runs on top of a Host. There is a 1-to-1 relationship between nodes and hosts (every host has zero or one nodes). Node provisioning and lifecycle management is a Cluster API responsibility\n\n**Kubernetes Host Components** - The components that run uncontainerized on the host and are required to bootstrap a Kubernetes node. Typically, this is at least kubelet, containerd and kubeadm, but different OS might require different components in this category\n\n## Features\n\n- Native Kubernetes manifests and API\n- Support for single and multi-node control plane clusters\n- Support already provisioned Linux VMs with Ubuntu 20.04\n\n## Getting Started\nCheck out the [getting_started](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/blob/main/docs/getting_started.md) guide for launching a BYOH workload cluster\n\n## Community, discussion, contribution, and support\n\nThe BringYourOwnHost provider is developed in the open, and is constantly being improved by our users, contributors, and maintainers.\nIf you have questions or want to get the latest project news, you can connect with us in the following ways:\n\n- Chat with us on the Kubernetes [Slack](http://slack.k8s.io/) in the [#cluster-api](https://kubernetes.slack.com/archives/C8TSNPY4T) channel\n- Subscribe to the [SIG Cluster Lifecycle](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle) Google Group for access to documents and calendars\n- Join our Cluster API Provider for BringYourOwnHost working group sessions where we share the latest project news, demos, answer questions, and triage issues\n    - Weekly on Wednesdays @ 1:30PM Indian Standard Time on [Zoom](https://VMware.zoom.us/j/94476574480?pwd=WGYzOXBoL1VsVnBXK3c5TWd1bG5SZz09) - [convert to your timezone](https://dateful.com/time-zone-converter?t=13:30\u0026tz=IST)\n    - Previous meetings: \\[ [notes](https://docs.google.com/document/d/1T-3_eskC_HCtXLh3PA8y--mgO-AIajZfevcnYuno6JM/edit#heading=h.y186zgz0eh6e) | [recordings](https://www.youtube.com/playlist?list=PLHbHoGHbooH41L5P-tIK6QqhILdEI9yBK) \\]\n\nPull Requests and feedback on issues are very welcome!\nSee the [issue tracker](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/issues) if you're unsure where to start, especially the [Good first issue](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) and [Help wanted](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) tags, and\nalso feel free to reach out to discuss.\n\nSee also our [contributor guide](CONTRIBUTING.md) and the Kubernetes [community page](https://kubernetes.io/community) for more details on how to get involved.\n\n\n## Project Status\n\nThis project is currently a work-in-progress, in an Alpha state, so it may not be production ready. There is no backwards-compatibility guarantee at this point. For more details on the roadmap and upcoming features, check out the project's [issue](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/issues) tracker on GitHub.\n\n\n## Getting involved and contributing\n\n### Launching a Kubernetes cluster using BYOH source code\n\nCheck out the [developer guide](./docs/local_dev.md) for launching a BYOH cluster consisting of Docker containers as hosts.\n\nMore about development and contributing practices can be found in [`CONTRIBUTING.md`](./CONTRIBUTING.md).\n\n## Implement Custom Installer controller\nAn installer controller is responsible to provide the installation and uninstallation scripts for k8s dependencies, prerequisites and components on each `BYOHost`.  \nIf someone wants to implement their own installer controller then they need to follow the contract defined in [installer](./docs/installer.md) doc.\n\n------\n\n## Compatibility with Cluster API\n\n- BYOH is currently compatible wth Cluster API v1beta1 (v1.0)\n\n## Supported OS and Kubernetes versions\n| Operating System  | Architecture  | Kubernetes v1.24.* | Kubernetes v1.25.* | Kubernetes v1.26.* |\n| ------------------|---------------|:------------------:|:------------------:|:------------------:|\n| Ubuntu 20.04.*    | amd64         |         ✓          |         ✓          |         ✓          |\n\n**NOTE:**  The '*' in OS means that all Ubuntu 20.04 patches are supported.\n\n**NOTE:**  The '*' in the K8s version means that the K8s minor release is supported but it may happen that a BYOH bundle for a specific patch may not exist in the OCI registry. \n\n## BYOH in News\n- [TGIK episode on BYOH](https://www.youtube.com/watch?v=Xwm5Ka27-Io\u0026t=2838s)\n- BYOH presented during [Cluster API Office Hours](https://www.youtube.com/watch?v=6ODMLgX-dz4\u0026t=572s)\n- [BYOH on ARM](https://williamlam.com/2021/11/hybrid-x86-and-arm-kubernetes-clusters-using-tanzu-community-edition-tce-and-esxi-arm.html)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware-tanzu%2Fcluster-api-provider-bringyourownhost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmware-tanzu%2Fcluster-api-provider-bringyourownhost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware-tanzu%2Fcluster-api-provider-bringyourownhost/lists"}