type DockerKeyring … type BasicDockerKeyring … type providersDockerKeyring … type AuthConfig … // Add add some docker config in basic docker keyring func (dk *BasicDockerKeyring) Add(cfg DockerConfig) { … } const defaultRegistryHost … const defaultRegistryKey … // isDefaultRegistryMatch determines whether the given image will // pull from the default registry (DockerHub) based on the // characteristics of its name. func isDefaultRegistryMatch(image string) bool { … } // ParseSchemelessURL parses a schemeless url and returns a url.URL // url.Parse require a scheme, but ours don't have schemes. Adding a // scheme to make url.Parse happy, then clear out the resulting scheme. func ParseSchemelessURL(schemelessURL string) (*url.URL, error) { … } // SplitURL splits the host name into parts, as well as the port func SplitURL(url *url.URL) (parts []string, port string) { … } // URLsMatchStr is wrapper for URLsMatch, operating on strings instead of URLs. func URLsMatchStr(glob string, target string) (bool, error) { … } // URLsMatch checks whether the given target url matches the glob url, which may have // glob wild cards in the host name. // // Examples: // // globURL=*.docker.io, targetURL=blah.docker.io => match // globURL=*.docker.io, targetURL=not.right.io => no match // // Note that we don't support wildcards in ports and paths yet. func URLsMatch(globURL *url.URL, targetURL *url.URL) (bool, error) { … } // Lookup implements the DockerKeyring method for fetching credentials based on image name. // Multiple credentials may be returned if there are multiple potentially valid credentials // available. This allows for rotation. func (dk *BasicDockerKeyring) Lookup(image string) ([]AuthConfig, bool) { … } // Lookup implements the DockerKeyring method for fetching credentials // based on image name. func (dk *providersDockerKeyring) Lookup(image string) ([]AuthConfig, bool) { … } type FakeKeyring … // Lookup implements the DockerKeyring method for fetching credentials based on image name // return fake auth and ok func (f *FakeKeyring) Lookup(image string) ([]AuthConfig, bool) { … } type UnionDockerKeyring … // Lookup implements the DockerKeyring method for fetching credentials based on image name. // return each credentials func (k UnionDockerKeyring) Lookup(image string) ([]AuthConfig, bool) { … }