This page explains you how to set up your development environment.
Before you start, install the following tools and packages:
- go (>= 1.11)
- golangci-lint
- kubectl (>= 1.14)
- kubebuilder
- minikube
- docker
- gcloud (Install
beta
components) - sha1sum (for Mac
brew install md5sha1sum
)
git clone https://github.com/elastic/cloud-on-k8s.git
cd cloud-on-k8s
Run make check-requisites
to check that all dependencies are installed.
-
Run
make dependencies
to download the Go libraries needed to compile the project. -
Get a working development Kubernetes cluster. You can either use:
make bootstrap-minikube # Sets up a Minikube cluster with required resources
or GKE
Make sure that container registry authentication is correctly configured as described here.
export GCLOUD_PROJECT=my-project-id make bootstrap-gke # Sets up GKE cluster with required resources
-
Deploy the operator.
make run
to run the operator locally, ormake deploy
to deploy the operators into the configured k8s cluster.make samples
to apply a sample stack resource.
E2E tests will run in the e2e-mercury
and e2e-venus
namespaces.
Run make run
to start the operator and then run make e2e-local
in a separate shell to run the tests.