The CCM has a simple build system based on make. Dependencies are managed
using go mod.
-
Ensure you have the aforementioned development tools installed as well as the release 1.15.x of Go.
-
Clone the repo under
/src/github.com/oracle/ -
make vendor
make build-local $COMPONENTmake image $COMPONENTNote:$COMPONENTis optional. If you don't specify all components image will be built and placed under dist folder.
You can template manifests/cloud-controller-manager/oci-cloud-controller-manager.yaml
using make manifests. This enables running specific versions of the CCM with
the proviso that the version has been pushed to Github, the CI pipeline has
passed, and HEAD is pointed to the commit in question. You can then execute
the following to run the CCM as a DaemonSet (RBAC optional):
$ kubectl apply -f dist/oci-cloud-controller-manager.yaml
$ kubectl apply -f dist/oci-cloud-controller-manager-rbac.yamlSee README.md