...

Source file src/github.com/google/go-containerregistry/pkg/name/doc.go

Documentation: github.com/google/go-containerregistry/pkg/name

     1  // Copyright 2018 Google LLC All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //    http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Package name defines structured types for representing image references.
    16  //
    17  // What's in a name? For image references, not nearly enough!
    18  //
    19  // Image references look a lot like URLs, but they differ in that they don't
    20  // contain the scheme (http or https), they can end with a :tag or a @digest
    21  // (the latter being validated), and they perform defaulting for missing
    22  // components.
    23  //
    24  // Since image references don't contain the scheme, we do our best to infer
    25  // if we use http or https from the given hostname. We allow http fallback for
    26  // any host that looks like localhost (localhost, 127.0.0.1, ::1), ends in
    27  // ".local", or is in the "private" address space per RFC 1918. For everything
    28  // else, we assume https only. To override this heuristic, use the Insecure
    29  // option.
    30  //
    31  // Image references with a digest signal to us that we should verify the content
    32  // of the image matches the digest. E.g. when pulling a Digest reference, we'll
    33  // calculate the sha256 of the manifest returned by the registry and error out
    34  // if it doesn't match what we asked for.
    35  //
    36  // For defaulting, we interpret "ubuntu" as
    37  // "index.docker.io/library/ubuntu:latest" because we add the missing repo
    38  // "library", the missing registry "index.docker.io", and the missing tag
    39  // "latest". To disable this defaulting, use the StrictValidation option. This
    40  // is useful e.g. to only allow image references that explicitly set a tag or
    41  // digest, so that you don't accidentally pull "latest".
    42  package name
    43  

View as plain text