I have a couple of concerns about how to specify versions using k8s-deploy. I'd be happy to make changes, just want to lay out my case and get feedback first.
- k8s-deploy works by
seding :latest out of a deployment file. This is overly broad, because it doesn't allow two images with the version :latest
- in production, services should not be using the
latest tag for images at all, IMO. They should use either a branch name, like production, or a specific build id, like a commit sha or branch+buildnum, like production-123.
proposal:
- in deploy-service, make the sed specific enough to match a single image, like
image: ${DOCKER_IMAGE}:(.+)$
- capture the image tag in the sed expression, so the existing script is free to use a value other than
latest in the checked-in deployment.yml
I have a couple of concerns about how to specify versions using k8s-deploy. I'd be happy to make changes, just want to lay out my case and get feedback first.
seding:latestout of a deployment file. This is overly broad, because it doesn't allow two images with the version:latestlatesttag for images at all, IMO. They should use either a branch name, likeproduction, or a specific build id, like a commit sha or branch+buildnum, like production-123.proposal:
image: ${DOCKER_IMAGE}:(.+)$latestin the checked-in deployment.yml