redspread/spread

Implement building functionality in `spread build`

mfburnett opened this issue · 2 comments

In addition to creating and updating Kubernetes objects, spread deploy will also locally build a Docker context based on the path specified. It should then push to a Docker registry (if we’re not building it, we assume it shouldn’t be pushed).

Images are indicated to be built with an ampersand (&) placed immediately before the image name field in the container struct. Only those images built are pushed to the registry by default, taking configuration from ~/.docker/config.json.

We're now discussing having spread build be build-push-deploy, while spread deploy is solely updating Kubernetes objects. We think it's important to be explicit in the commands.

In order to build an image, a field of type BuildImageOptions in image.Image must be populated. The solution above works well for image name but we probably want a way to incorporate the other settings.