{"id":13581942,"url":"https://github.com/vultr/vultr-cloud-controller-manager","last_synced_at":"2025-10-23T02:34:23.421Z","repository":{"id":37096648,"uuid":"240020548","full_name":"vultr/vultr-cloud-controller-manager","owner":"vultr","description":"Kubernetes Cloud Controller Manager for Vultr","archived":false,"fork":false,"pushed_at":"2025-03-06T18:06:33.000Z","size":23710,"stargazers_count":67,"open_issues_count":5,"forks_count":18,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T08:08:44.075Z","etag":null,"topics":["cloud-controller-manager","k8s","kubernetes","vultr","vultr-ccm","vultr-cloud-controller-manager","vultr-kubernetes"],"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/vultr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-12T13:32:46.000Z","updated_at":"2025-03-06T18:06:12.000Z","dependencies_parsed_at":"2023-02-17T23:15:39.560Z","dependency_job_id":"7c76dc34-7931-43bb-bc39-8335860a9e56","html_url":"https://github.com/vultr/vultr-cloud-controller-manager","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vultr%2Fvultr-cloud-controller-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vultr%2Fvultr-cloud-controller-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vultr%2Fvultr-cloud-controller-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vultr%2Fvultr-cloud-controller-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vultr","download_url":"https://codeload.github.com/vultr/vultr-cloud-controller-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247622986,"owners_count":20968575,"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":["cloud-controller-manager","k8s","kubernetes","vultr","vultr-ccm","vultr-cloud-controller-manager","vultr-kubernetes"],"created_at":"2024-08-01T15:02:20.378Z","updated_at":"2025-10-23T02:34:23.314Z","avatar_url":"https://github.com/vultr.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"![Unit Tests](https://github.com/vultr/vultr-cloud-controller-manager/workflows/Unit%20Tests/badge.svg)\n# Kubernetes Cloud Controller Manager for Vultr\n\nThe Vultr Cloud Controller Manager (ccm) provides a fully supported experience of Vultr features in your Kubernetes cluster.\n\n- Node resources are assigned their respective Vultr instance hostnames, Region, PlanID and public/private IPs.\n- Node resources get put into their proper state if they are shutdown or removed. This allows for Kubernetes to properly reschedule pods\n- Vultr LoadBalancers are automatically deployed when a LoadBalancer service is deployed.\n\nThis plugin is in active development and you can track progress in the [Milestones](https://github.com/vultr/vultr-cloud-controller-manager/milestone/1).\n\n## Getting Started\n\nMore information about running Vultr cloud controller manager can be found [here](docs)\n\nExamples can also be found [here](docs/examples)\n\n### **Note: do not modify vultr load-balancers manually**\nWhen a load-balancer is created through the CCM (Loadbalancer service type), you should not modify the load-balancer. Your changes will eventually get reverted back due to the CCM validating state.\n\nAny changes to the load-balancer should be done through the service object.\n\n## Development \n\nGo minimum version `1.19.0`\n\nThe `vultr-cloud-controller-manager` uses go modules for its dependencies.\n\n### Building the Binary\n\nSince the `vultr-cloud-controller-manager` is meant to run inside a kubernetes cluster you will need to build the binary to be Linux specific.\n\n`GOOS=linux GOARCH=amd64 go build -o dist/vultr-cloud-controller-manager .`\n\nor by using our `Makefile`\n\n`make build-linux`\n\nThis will build the binary and output it to a `dist` folder.\n\n**Note** However if you wish to build the binary with the OS you are using you can run `make build`\n\n### Building the Docker Image\n\nTo build a docker image of the `vultr-cloud-controller-manager` you can use the `docker-build` entry in the make file. Take note that it requires 2 variables \n\n- Version \n- REGISTRY (dockerhub registry name)\n\nan example could be \n\n`VERSION=v0.1.0 REGISTRY=vultr make docker-build`\n\nor if you chose to run it manually\n\n`docker build . -t vultr-cloud-controller-manager`\n\nRunning the image\n\n`docker run -ti vultr/vultr-cloud-controller-manager`\n\n### Deploying to a kubernetes cluster\n\nYou will need to make sure that your kubernetes cluster is configured to interact with a `external cloud provider`\n\nMore can be read about this in the [Running Cloud Controller](https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/)\n\nTo deploy the versioned CCM that Vultr providers you will need to apply two yaml files to your cluster which can be found [here](https://github.com/vultr/vultr-cloud-controller-manager/tree/master/docs/releases).\n\n- Secret.yml will take in the region ID in which your cluster is deployed in and your API key.\n\n- v0.X.X.yml is a preconfigured set of kubernetes resources which will help get the CCM installed.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvultr%2Fvultr-cloud-controller-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvultr%2Fvultr-cloud-controller-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvultr%2Fvultr-cloud-controller-manager/lists"}