ImageTagIsValid ensures that a given image tag is compliant with the OCI spec
ModifyImageRepository takes an imageName (e.g., repository/image:tag), and returns an image name with updated repository
ModifyImageTag takes an imageName (e.g., repository/image:tag), and returns an image name with updated tag
SemverToOCIImageTag is a helper function that replaces all non-allowed symbols in tag strings with underscores. Image tag can only contain lowercase and uppercase letters, digits, underscores, periods and dashes. Current usage is for CI images where all of symbols except '+' are valid, but function is for generic usage where input can't be always pre-validated. Taken from k8s.io/cmd/kubeadm/app/util
Image type represents the container image details
ImageFromString parses a docker image string into three parts: repo, tag and digest.