oxidecomputer / omicron

Omicron: Oxide control plane
Mozilla Public License 2.0
248 stars 39 forks source link

Image names can't contain common version symbols (such as `.`) #3109

Open iliana opened 1 year ago

iliana commented 1 year ago

Our rules for resource names are roughly those of DNS labels, as specified in RFC 1035 (this decision is somewhat documented in RFD 4). This is useful for resources which may eventually get DNS-based resources, such as instance names.

Image need to have unique names, and so it is common to include a version number of the image in a name. For instance, the latest Alpine image is named alpine-standard-3.18.0-x86_64.iso. It would probably make sense to give this image a name like alpine-3.18.0 to distinguish it from other Alpine releases. This is not currently possible.

Users can keep track of the distro and version of the image in separate fields, but it feels very unnatural to have to name the image something like alpine-3-18-0.

We should also consider whether to include other common version symbols (+ and maybe whatever else is allowed in semver). Whether a symbol needs to be urlencoded or not is a useful factor.

david-crespo commented 1 year ago

I’m with you. I think the technical side should be pretty easy — the hardest thing is communicating to users the rare exceptions to the rule that names are RFC 1035.