{"id":19806896,"url":"https://github.com/rancher-sandbox/cluster-api-addon-provider-fleet","last_synced_at":"2025-02-28T12:30:20.056Z","repository":{"id":232750319,"uuid":"784634164","full_name":"rancher-sandbox/cluster-api-addon-provider-fleet","owner":"rancher-sandbox","description":"Cluster API Add-on Provider for Fleet will auto register child clusters with fleet.","archived":false,"fork":false,"pushed_at":"2024-04-29T12:32:13.000Z","size":159,"stargazers_count":0,"open_issues_count":9,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-30T11:38:52.792Z","etag":null,"topics":["capi","clusterapi","fleet","gitops"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/rancher-sandbox.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":"2024-04-10T08:39:08.000Z","updated_at":"2024-05-06T05:26:23.981Z","dependencies_parsed_at":"2024-04-15T15:55:42.608Z","dependency_job_id":"a2443773-7da7-45e3-94f7-97ed611164d5","html_url":"https://github.com/rancher-sandbox/cluster-api-addon-provider-fleet","commit_stats":null,"previous_names":["rancher-sandbox/cluster-api-addon-provider-fleet"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher-sandbox%2Fcluster-api-addon-provider-fleet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher-sandbox%2Fcluster-api-addon-provider-fleet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher-sandbox%2Fcluster-api-addon-provider-fleet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rancher-sandbox%2Fcluster-api-addon-provider-fleet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rancher-sandbox","download_url":"https://codeload.github.com/rancher-sandbox/cluster-api-addon-provider-fleet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241150488,"owners_count":19918352,"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":["capi","clusterapi","fleet","gitops"],"created_at":"2024-11-12T09:08:49.835Z","updated_at":"2025-02-28T12:30:20.040Z","avatar_url":"https://github.com/rancher-sandbox.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cluster API Add-on Provider for Fleet\n\n\u003e NOTE: this is a work in progress. The project is looking for more contributors.\n\n## What is Cluster API Add-on Provider for Fleet (CAAPF)?\n\nCluster API Add-on Provider for Fleet (CAAPF) is a Cluster API (CAPI) provider that provides integration with [Fleet](https://github.com/rancher/fleet) to enable the easy deployment of applications to a CAPI provisioned cluster.\n\nIt provides the following functionality:\n\n- Addon provider automatically installs `Fleet` in your management cluster.\n- The provider will register a newly provisioned CAPI cluster with `Fleet` so that applications can be automatically deployed to the created cluster via GitOps, `Bundle` or `HelmApp`.\n- The provider will automatically create a [Fleet Cluster Group](https://fleet.rancher.io/cluster-group) for every [CAPI ClusterClass](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/). This enables you to deploy the same applications to all clusters created from the same ClusterClass.\n- `CAPI` `Cluster`, `ControlPlane` resources are automatically added to the `Fleet` `Cluster` resource templates, allowing to perform per-cluster configuration templating for `Helm` based installations.\n\n## Demo\n\n[![asciicast](https://asciinema.org/a/659626.svg)](https://asciinema.org/a/659626)\n\n## Calico CNI installation demo\n\n[![asciicast](https://asciinema.org/a/700924.svg)](https://asciinema.org/a/700924)\n\n## Getting started\n\nYou can refer to the provider documentation [here](./docs/book/src/.).\n\n## Installation\n\nYou can install production instance of `CAAPF` in your cluster with [`CAPI Operator`](https://github.com/kubernetes-sigs/cluster-api-operator).\n\n```bash\nkubectl apply -f https://github.com/jetstack/cert-manager/releases/latest/download/cert-manager.yaml\nhelm repo add capi-operator https://kubernetes-sigs.github.io/cluster-api-operator\nhelm repo update\nhelm upgrade --install capi-operator capi-operator/cluster-api-operator --create-namespace -n capi-operator-system --set infrastructure=docker --set addon=fleet\n\n# Apply CAAPF URL patch\nkubectl patch addonprovider fleet -n fleet-addon-system --type='merge' -p '{\"spec\": {\"fetchConfig\": {\"url\": \"https://github.com/rancher-sandbox/cluster-api-addon-provider-fleet/releases/latest/addon-components.yaml\"}}}'\n```\n\n## Configuration\n\nBy default `CAAPF` expects your cluster to have fleet pre-installed and configured, but it can manage installation via `FleetAddonConfig`:\n\n```yaml\napiversion: addons.cluster.x-k8s.io/v1alpha1\nkind: FleetAddonConfig\nmetadata:\n  name: fleet-addon-config\nspec:\n  config:\n    server:\n      inferLocal: true # Uses default `kuberenetes` endpoint and secret for APIServerURL configuration\n  install:\n    version: v0.12.0-alpha.14 # We will install alpha for helmapp support\n```\n\nYou can also define your `API` server `URL` and certificates `ConfigMap` or `Secret`, which has a `ca.crt` data key:\n\n```yaml\napiversion: addons.cluster.x-k8s.io/v1alpha1\nkind: FleetAddonConfig\nmetadata:\n  name: fleet-addon-config\nspec:\n  config:\n    server:\n      apiServerUrl: \"https://public-url.io\"\n      apiServerCaConfigRef:\n        apiVersion: v1\n        kind: ConfigMap\n        name: kube-root-ca.crt\n        namespace: default\n  install:\n    followLatest: true # Installs current latest version of fleet from https://github.com/rancher/fleet-helm-charts\n```\n\n\n## Get in contact\n\nYou can get in contact with us via the [#cluster-api](https://rancher-users.slack.com/archives/C060L985ZGC) channel on the [Rancher Users Slack](https://slack.rancher.io/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher-sandbox%2Fcluster-api-addon-provider-fleet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Francher-sandbox%2Fcluster-api-addon-provider-fleet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Francher-sandbox%2Fcluster-api-addon-provider-fleet/lists"}