Skip to content
Kubernetes cloud-controller-manager for DigitalOcean (beta)
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci Change shebang to /usr/bin/env bash. Feb 16, 2019
cloud-controller-manager Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
docs Adding UUID Apr 17, 2019
e2e Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
releases Prepare release v0.1.13 Apr 3, 2019
scripts Change shebang to /usr/bin/env bash. Feb 16, 2019
vendor Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
.gitignore Add end-to-end test verifying Kubernetes compatibility. Nov 28, 2018
.travis.yml Migrate from go dep to Go modules. Apr 11, 2019
CHANGELOG.md Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
Gopkg.lock
LICENSE fix date in license Aug 11, 2017
Makefile Migrate from go dep to Go modules. Apr 11, 2019
README.md Migrate from go dep to Go modules. Apr 11, 2019
VERSION Prepare release v0.1.13 Apr 3, 2019
go.mod Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
go.sum Update Kubernetes dependencies to 1.14.1 and adjust code (#209) Apr 16, 2019
tools.go Migrate from go dep to Go modules. Apr 11, 2019

README.md

Kubernetes Cloud Controller Manager for DigitalOcean

Build Status Report Card

digitalocean-cloud-controller-manager is the Kubernetes cloud controller manager implementation for DigitalOcean. Read more about cloud controller managers here. Running digitalocean-cloud-controller-manager allows you to leverage many of the cloud provider features offered by DigitalOcean on your kubernetes clusters.

Releases

Cloud Controller Manager follows semantic versioning. The current version is: v0.1.13. This means that the project is still under active development and may not be production ready. The plugin will be bumped to v1.0.0 once the DigitalOcean Kubernetes product is released and will continue following the rules below:

  • Bug fixes will be released as a PATCH update.
  • New features will be released as a MINOR update.
  • Significant breaking changes makes a MAJOR update.

Because of the fast Kubernetes release cycles, CCM (Cloud Controller Manager) will only support the version that is also supported on DigitalOcean Kubernetes product. Any other releases will be not officially supported by us.

Getting Started

Learn more about running DigitalOcean cloud controller manager here!

Examples

Here are some examples of how you could leverage digitalocean-cloud-controller-manager:

Development

Requirements:

  • Go: min v1.11.x

This project uses Go modules for dependency management and employs vendoring. Please ensure to run make vendor after any dependency modifications.

After making your code changes, run the tests and CI checks:

make ci

If you want to test your changes, create a new image with the version set to dev:

VERSION=dev make publish

This will create a binary with version dev and docker image pushed to digitalocean/digitalocean-cloud-controller-manager:dev

Release a new version

To release a new version first bump the version:

make bump-version

Make sure everything looks good. Create a new branch with all changes:

git checkout -b release-<new version> origin/master
git commit -a -v
git push origin release-<new version>

After it's merged to master, tag the commit and push it:

git checkout master
git pull
git tag <new version>
git push --tags

Finally, create a Github release from master with the new version and publish it:

make publish

This will compile a binary containing the new version bundled in a docker image pushed to digitalocean/digitalocean-cloud-controller-manager:<new version>

Contributing

At DigitalOcean we value and love our community! If you have any issues or would like to contribute, feel free to open an issue/PR and cc any of the maintainers below.

You can’t perform that action at this time.