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 $COMPONENT
make image $COMPONENT
Note:$COMPONENT
is 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.yaml
See README.md