This repository contains an open source specification and implementation of a Kubernetes- and Istio-based container platform.
If you are interested in contributing to Elafros
, see
CONTRIBUTING.md and DEVELOPMENT.md.
Once you've setup your development
environment, stand up Elafros
with:
bazel run :everything.create
This will:
- Build the
ela-controller
into a Docker container. - Publish the
ela-controller
container to{DOCKER_REPO_OVERRIDE}/ela-controller:latest
. - Create a number of resources, including:
- A
Namespace
in which we run Elafros components. - A
ServiceAccount
as which Elafros will authorize requests. - A
ClusterRoleBinding
, which grants the Elafros service account the capability to interact with cluster resources. - The
CustomResourceDefinition
s for Elafros resources. - The
Deployment
running the Elafros controller.
- A
You can see things running with:
$ kubectl -n ela-system get pods
NAME READY STATUS RESTARTS AGE
ela-controller-77897cc687-vp27q 1/1 Running 0 16s
You can access the Elafros Controller's logs with:
$ kubectl -n ela-system logs $(kubectl -n ela-system get pods -l app=ela-controller -o name)
You can delete all of the service components with:
bazel run :elafros.delete
bazel run :istio.delete
Delete all cached environment variables (e.g. DOCKER_REPO_OVERRIDE
):
bazel clean
Due to a bazel deletion ordering issue,
which also prevents bazel run :everything.delete
from working,
both of the above commands will output errors such as:
deployments.extensions "ela-webhook" not found
...
serviceaccounts "istio-mixer-service-account" not found
Deleting the Custom Resource Definitions will cascade and cause any instances of those resources to be cleaned up.