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 use:
make bootstrap-minikube # Sets up a Minikube cluster with required resources
Make sure that container registry authentication is correctly configured as described here.
export GCLOUD_PROJECT=my-project-id make bootstrap-cloud # Sets up GKE cluster (by default) with required resources
make bootstrap-kind # Sets up a kind 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.