Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test/utils/image: Support a single repository #93510

Merged
merged 1 commit into from
Jan 14, 2021

Commits on Jan 12, 2021

  1. test/utils/image: Support a single repository

    In downstream contexts, it's extremely useful to be able to combine
    all the "testable" images in Kubernetes into a single repo so that
    a user could mirror these offline in one chunk, and audit the set of
    images for changes. For instance, within OpenShift we would like to
    have a single place we can place all the images used by all the tests
    with a single authentication scheme. While some images are not "real"
    and can't be mirrored (for instance, the images that point to an
    auth protected registry), that is not the majority.
    
    This code makes it possible to specify an environment variable
    KUBE_TEST_REPO that maps the static strings of the registry to a
    single repository by placing the uniqueness in a tag. For instance:
    
    KUBE_TEST_REPO=quay.io/openshift/community-e2e-images
    
    would translate `k8s.gcr.io/prometheus-to-sd:v0.5.0` to `quay.io/openshift/community-e2e-images:e2e-30-k8s-gcr-io-prometheus-to-sd-v0-5-0-6JI59Yih4oaj3oQOjRfhyQ`.
    
    The tag is a safe form of the name, plus the index (the constant within
    manifest.go), plus a hash of the full input. The length of the tag is
    constrained to the minimum of hash + index + the safe name.
    
    The public method is changed to return two maps - index to original
    name and index to test repo name. These maps would be the same if
    the env var is not set.
    smarterclayton committed Jan 12, 2021
    Configuration menu
    Copy the full SHA
    386f94f View commit details
    Browse the repository at this point in the history