{"id":15067745,"url":"https://github.com/kubeslice/kubeslice-controller","last_synced_at":"2025-04-04T12:06:56.764Z","repository":{"id":36961928,"uuid":"482762914","full_name":"kubeslice/kubeslice-controller","owner":"kubeslice","description":"KubeSlice Controller Opensource Repository: The KubeSlice Controller orchestrates the creation and management of slices on worker clusters.","archived":false,"fork":false,"pushed_at":"2025-03-24T10:05:57.000Z","size":11727,"stargazers_count":61,"open_issues_count":20,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-28T11:07:11.343Z","etag":null,"topics":["controller","crd-controller","go","orchestrate-containers"],"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/kubeslice.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":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-18T07:55:44.000Z","updated_at":"2025-03-24T10:04:15.000Z","dependencies_parsed_at":"2024-01-09T09:25:25.406Z","dependency_job_id":"39255eb1-84ce-4afc-937c-38246bab0abd","html_url":"https://github.com/kubeslice/kubeslice-controller","commit_stats":{"total_commits":229,"total_committers":22,"mean_commits":"10.409090909090908","dds":0.8296943231441047,"last_synced_commit":"ef9212feeb5498d61f790ffdf47f2de7e8aa7911"},"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeslice%2Fkubeslice-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeslice%2Fkubeslice-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeslice%2Fkubeslice-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubeslice%2Fkubeslice-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubeslice","download_url":"https://codeload.github.com/kubeslice/kubeslice-controller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174409,"owners_count":20896077,"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":["controller","crd-controller","go","orchestrate-containers"],"created_at":"2024-09-25T01:27:00.572Z","updated_at":"2025-04-04T12:06:56.741Z","avatar_url":"https://github.com/kubeslice.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kubeslice-controller\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/kubeslice/kubeslice-controller)](https://goreportcard.com/report/github.com/kubeslice/kubeslice-controller)\n[![License](https://img.shields.io/github/license/kubeslice/kubeslice-controller)](https://github.com/kubeslice/kubeslice-controller/blob/master/LICENSE)\n[![GitHub release](https://img.shields.io/github/release/kubeslice/kubeslice-controller.svg)](https://GitHub.com/kubeslice/kubeslice-controller/releases/)\n[![GitHub issues](https://img.shields.io/github/issues/kubeslice/kubeslice-controller.svg)](https://GitHub.com/kubeslice/kubeslice-controller/issues/)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/kubeslice/kubeslice-controller.svg)](https://GitHub.com/kubeslice/kubeslice-controller/pulls/)\n[![Code Size](https://img.shields.io/github/languages/code-size/kubeslice/kubeslice-controller.svg)](https://github.com/kubeslice/kubeslice-controller)\n[![Contributors](https://img.shields.io/github/contributors/kubeslice/kubeslice-controller.svg)](https://GitHub.com/kubeslice/kubeslice-controller/graphs/contributors)\n\n\nkubeslice-controller uses Kubebuilder, a framework for building Kubernetes APIs\nusing [custom resource definitions (CRDs)](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions).\n\n## Get Started\n\nThe KubeSlice Controller orchestrates the creation and management of slices on worker clusters.\nIt is strongly recommended that you use a released version. Follow the instructions provided in this [document](https://kubeslice.io/documentation/open-source/latest/category/install-kubeslice) to install Kubeslice on cloud clusters.\n\n## Build and Deploy a KubeSlice Controller on a Kind Cluster\n\nSee our documentation on [installing the KubeSlice Controller](https://kubeslice.io/documentation/open-source/latest/install-kubeslice/yaml/yaml-controller-install).\n\n### Prerequisites\n\nBefore you begin, make sure the following prerequisites are met:\n\n* Docker is installed and running on your local machine.\n* A running [`kind`](https://kind.sigs.k8s.io/) cluster.\n* [`kubectl`](https://kubernetes.io/docs/tasks/tools/) is installed and configured.\n* You have prepared the environment for the installation of [`kubeslice-controller`](https://github.com/kubeslice/kubeslice-controller) on the controller cluster and [`worker-operator`](https://github.com/kubeslice/worker-operator) on the worker cluster. For more information, see [Prerequisites](https://kubeslice.io/documentation/open-source/latest/category/prerequisites).\n\n### Set up Your Helm Repo\nIf you have not added Avesha's `helm repo` yet, add it.\n\n```console\nhelm repo add avesha https://kubeslice.github.io/charts/\n```\n\nUpgrade Avesha's `helm repo`.\n\n```console\nhelm repo update\n```\n\n### Build Your Docker Image\nTo download the latest docker image for `kubeslice-controller`, click [here](https://hub.docker.com/r/aveshasystems/kubeslice-controller).\n\n1. Clone the latest version of kubeslice-controller from  the `master` branch.\n\n   ```console\n   git clone https://github.com/kubeslice/kubeslice-controller.git\n   cd kubeslice-controller\n   ```\n\n2. Edit the image name variable `IMG` in the [`Makefile`](Makefile) to change the docker tag to be built.\n   The default image is set as `IMG ?= aveshasystems/kubeslice-controller:latest`. Modify this as required.\n\n   ```console\n   make docker-build\n   ```\n\n### Run Local Image on Kind Clusters\n\n1. Load the kubeslice-controller image into your kind cluster ([kind](https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster)).\n   If needed, modify `aveshasystems/kubeslice-controller` with your locally built image name in the previous step.\n   \n* Note: If you use a named cluster, you must specify the name of the cluster you wish to load the images into. See [loading an image into your kind cluster](https://kind.sigs.k8s.io/docs/user/quick-start/#loading-an-image-into-your-cluster).\n\n   ```console\n   kind load docker-image aveshasystems/kubeslice-controller --name cluster-name\n   ```\n   Example\n\n   ```console\n   kind load docker-image aveshasystems/kubeslice-controller --name kind\n   ```\n\n2. Check the loaded image in the cluster. Modify the node name as required.\n   \n * Note: `kind-control-plane` is the name of the Docker container. Modify the name if needed.\n  \n\n```console\ndocker exec -it kind-control-plane critical images\n```\n### Deploy the KubeSlice Controller on a Cluster\n1. Create a chart values file called `yourvaluesfile.yaml`. Refer to [values.yaml](https://github.com/kubeslice/charts/blob/master/charts/kubeslice-controller/values.yaml) to update the `kubeslice-controller` image to the local build image.\n\n   From the sample:\n\n   ```\n   kubeslice:\n   ---\n   ---\n      controller:\n      ---\n      ---\n         image: aveshasystems/kubeslice-controller\n         tag: 0.1.1\n   ```\n\n  Change it to:\n\n   ```\n   kubeslice:\n   ---\n   ---\n      controller:\n      ---\n      ---\n         image: \u003cmy-custom-image\u003e \n         tag: \u003cunique-tag\u003e\n   ```\n\n2. Deploy the updated chart.\n\n   ```console\n   make chart-deploy VALUESFILE=yourvaluesfile.yaml\n   ```\n   \n### Verify the Installation\n\nVerify the installation of the KubeSlice Controller by checking the pods belonging to the `kubeslice-controller` namespace using the following command:\n\n```console\nkubectl get pods -n kubeslice-controller\n```\n\nExample Output\n\n```\nNAME                                            READY   STATUS    RESTARTS   AGE\nkubeslice-controller-manager-5b548fb865-kzb7c   2/2     Running   0          102s\n```\n\n### Uninstall the KubeSlice Controller\nFor more information, see [uninstall KubeSlice](https://kubeslice.io/documentation/open-source/1.3.0/uninstall-kubeslice/).\n\n```console\nmake chart-undeploy\n```\n\n## License\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeslice%2Fkubeslice-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubeslice%2Fkubeslice-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubeslice%2Fkubeslice-controller/lists"}