Path: blob/main/components/image-builder-mk3/README.md
2492 views
image-builder-mk3
image-builder-mk3
is a service that runs in meta clusters, which provides APIs to create and list workspace image builds, resolve workspace docker image references, and listen to build updates and logs.
Once completed, #7845 will move
image-builder-mk3
(and image builds) from meta to workspace clusters.
The following diagram shows what happens during a workspace image build. See the (internal) Architecture page for more details.
Relevant:
Development
To test local changes, the following script will compile and publish a docker image, and restart the image-builder-mk3 k8s deployment at your current kube context with this image:
Making changes to the protocol
Protocol changes are to be made in the image-builder-api
component.
Updating the installer config
Changes to the installed k8s config can be done here.
Running locally
To run image-builder-mk3
locally, the example-config.json
can be used as follows:
See metrics at http://localhost:9500/metrics
.
Invoking RPCs
When image-builder-mk3
is running locally, you can use grpcurl
to make gRPC requests against the API:
See https://github.com/fullstorydev/grpcurl#invoking-rpcs for how to make different types of requests with grpcurl
.
Running tests
To run all image-builder-mk3
tests:
Required Permssion
If you want it to work in a particular public cloud, you may need to grant some permissions. Below is a reference for this.
AWS IAM Policy
If you would like to use ECR as a container registry, please add the following IAM policy below. Also, if you want to use ECR as public, you should add ecr-public
too.