===================================== Local testing of the Kubernetes stack ===================================== These are some brief but essential steps to get everything from cloud-api to cloud-k8s-operator running locally (each of them requires a Python virtualenv with dependencies installed). - Start the Brain and Redis: .. code-block:: console $ cd path/to/your/projects/crate/cloud $ docker-compose up -d brain redis - Run cloud-api .. code-block:: console $ cd path/to/your/projects/crate/cloud-api $ source path/to/cloud-api-venv/bin/activate (cloud-api) $ FLASK_LOGGING=DEBUG FLASK_HOST=127.0.0.1 FLASK_PORT=8080 ENV=local cloud-api - Run cloud-agent .. code-block:: console $ cd path/to/your/projects/crate/cloud-agent $ source path/to/cloud-agent-venv/bin/activate (cloud-agent) $ cloud-agent - Run cloud-api-celery .. code-block:: console $ cd path/to/your/projects/crate/cloud-api $ source path/to/cloud-api-venv/bin/activate (cloud-api) $ CELERY_LOG_LEVEL=DEBUG LOCAL_ENV=dev/local.env celery worker --app cloud.api.celery.worker.celery --concurrency 1 Depending on the IP address you'll run cloud-agent on, you might need to change the value for `CLOUD_API_AGENT_URL` in `dev/local.env`. - Run Minikube and make sure that's your default Kubernetes context .. code-block:: console $ minikube start $ kubectl config use-context minikube - Run the Kubernetes operator for projects .. code-block:: console $ cd path/to/your/projects/cloud-k8s-operator $ source path/to/cloud-k8s-operator-venv/bin/activate (cloud-k8s-operator) $ kopf run --verbose --standalone ./cloud/operator/project.py