kubernetes-retired/kubeadm-dind-cluster

bad form - please don't change versioned code from under us

hypergig opened this issue · 2 comments

Typically when you stamp some code with a non snapshot version, like v1.12, it becomes immutable. I won't say it's religion, but certainly a pretty widely accepted thing.

A few days ago the dind-cluster-v1.12.sh script changed, causing a miss match of script and docker images, which instantly failed anything that depended on kubeadm-dind-clusters. A minor inconvenience to be sure, I just needed to update our version of the script, but none the less broke a sacred rule of devops..

thou shall not double release the same version

(...hey I didn't say it wasn't my religion)

Tools like artifactory don't even let you push a release twice exactly because of this. So I humbly ask, can we either never change locked in release versions of the dind-cluster scripts in master, or start doing releases in this repo? And docker images with release version tags should never change... ever. Please just cut a new version? Or, can we start using snapshots or some other non release identifier?

I would be happy to help anyway I can

EDIT
Just to be clear, I am suggesting decoupling kubeadm-dind-cluster version from kubernetes version so we can lock in immutable things... ie

dind-cluster-v1.12.sh -> dind-cluster-v1.12-0.1.0.sh

@hypergig There is a discussion around changes in scripts at #255. Don't hesitate to weigh in

Hi, sorry for the inconvenience. After #273 is merged k-d-c will have releases with scripts pinned to the images built for them.