{"id":37087443,"url":"https://github.com/filcloud/kubefed","last_synced_at":"2026-01-14T10:45:42.548Z","repository":{"id":57513832,"uuid":"223327108","full_name":"filcloud/kubefed","owner":"filcloud","description":"Kubernetes Cluster Federation","archived":false,"fork":true,"pushed_at":"2020-03-21T07:32:25.000Z","size":83190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-15T07:48:34.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"kubernetes-retired/kubefed","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/filcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-11-22T05:02:42.000Z","updated_at":"2020-02-05T08:12:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/filcloud/kubefed","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/filcloud/kubefed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filcloud%2Fkubefed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filcloud%2Fkubefed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filcloud%2Fkubefed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filcloud%2Fkubefed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/filcloud","download_url":"https://codeload.github.com/filcloud/kubefed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filcloud%2Fkubefed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28417716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:25:19.714Z","status":"ssl_error","status_checked_at":"2026-01-14T10:22:49.371Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-01-14T10:45:41.744Z","updated_at":"2026-01-14T10:45:42.537Z","avatar_url":"https://github.com/filcloud.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/kubernetes-sigs/kubefed.svg?branch=master)](https://travis-ci.org/kubernetes-sigs/kubefed \"Travis\")\n[![Go Report Card](https://goreportcard.com/badge/github.com/kubernetes-sigs/kubefed)](https://goreportcard.com/report/github.com/kubernetes-sigs/kubefed)\n[![Image Repository on Quay](https://quay.io/repository/kubernetes-multicluster/kubefed/status \"Image Repository on Quay\")](https://quay.io/repository/kubernetes-multicluster/kubefed)\n[![LICENSE](https://img.shields.io/badge/license-apache2.0-green.svg)](https://github.com/kubernetes-sigs/kubefed/blob/master/LICENSE)\n[![Releases](https://img.shields.io/github/release/kubernetes-sigs/kubefed/all.svg)](https://github.com/kubernetes-sigs/kubefed/releases \"KubeFed latest release\")\n\n# Kubernetes Cluster Federation\n\nKubernetes Cluster Federation (KubeFed for short) allows you to coordinate the\nconfiguration of multiple Kubernetes clusters from a single set of APIs in a\nhosting cluster. KubeFed aims to provide mechanisms for expressing which\nclusters should have their configuration managed and what that configuration\nshould be. The mechanisms that KubeFed provides are intentionally low-level, and\nintended to be foundational for more complex multicluster use cases such as\ndeploying multi-geo applications and disaster recovery.\n\nKubeFed is currently **alpha** and moving rapidly toward its initial\n[beta release](https://github.com/kubernetes-sigs/kubefed/milestone/4).\n\n## Concepts\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"docs/images/concepts.png\" width=\"711\"\u003e\u003c/p\u003e\n\nKubeFed is configured with two types of information:\n\n- **Type configuration** declares which API types KubeFed should handle\n- **Cluster configuration** declares which clusters KubeFed should target\n\n**Propagation** refers to the mechanism that distributes resources to federated\nclusters.\n\nType configuration has three fundamental concepts:\n\n- **Templates** define the representation of a resource common across clusters\n- **Placement** defines which clusters the resource is intended to appear in\n- **Overrides** define per-cluster field-level variation to apply to the template\n\nThese three abstractions provide a concise representation of a resource intended\nto appear in multiple clusters. They encode the minimum information required for\n**propagation** and are well-suited to serve as the glue between any given\npropagation mechanism and higher-order behaviors like policy-based placement and\ndynamic scheduling.\n\nThese fundamental concepts provide building blocks that can be used by\nhigher-level APIs:\n\n- **Status** collects the status of resources distributed by KubeFed across all federated clusters\n- **Policy** determines which subset of clusters a resource is allowed to be distributed to\n- **Scheduling** refers to a decision-making capability that can decide how \n  workloads should be spread across different clusters similar to how a human\n  operator would\n\n## Features\n\n| Feature | Maturity | Feature Gate | Default |\n|---------|----------|--------------|---------|\n| [Push propagation of arbitrary types to remote clusters](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/userguide.md#verify-your-deployment-is-working) | Alpha | PushReconciler | true |\n| [CLI utility (`kubefedctl`)](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/userguide.md#kubefedctl-cli) | Alpha | | |\n| [Generate KubeFed APIs without writing code](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/userguide.md#enabling-federation-of-an-api-type) | Alpha | | |\n| [Multicluster Service DNS via `external-dns`](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/servicedns-with-externaldns.md) | Alpha | CrossClusterServiceDiscovery | true |\n| [Multicluster Ingress DNS via `external-dns`](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/ingressdns-with-externaldns.md) | Alpha | FederatedIngress | true |\n| [Replica Scheduling Preferences](https://github.com/kubernetes-sigs/kubefed/blob/master/docs/userguide.md#replicaschedulingpreference) | Alpha | SchedulerPreferences | true |\n\n## Guides\n\n### User Guide\n\nTake a look at our [user guide](docs/userguide.md) if you are interested in\nusing KubeFed.\n\n### Development Guide\n\nTake a look at our [development guide](docs/development.md) if you are\ninterested in contributing.\n\n## Community\n\nRefer to the [contributing guidelines](./CONTRIBUTING.md) if you would like to contribute to KubeFed.\n\n### Communication channels\n\nKubeFed is sponsored by [SIG Multicluster](https://github.com/kubernetes/community/tree/master/sig-multicluster) and it uses the same communication channels as SIG multicluster.\n\n* Slack channel: [#sig-multicluster](http://slack.k8s.io/#sig-multicluster)\n* [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-multicluster)\n\n## Code of Conduct\n\nParticipation in the Kubernetes community is governed by the\n[Kubernetes Code of Conduct](./code-of-conduct.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilcloud%2Fkubefed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilcloud%2Fkubefed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilcloud%2Fkubefed/lists"}