kubernetes: github.com/igm/kubernetes/pkg/credentialprovider Index | Files | Directories

package credentialprovider

import "github.com/igm/kubernetes/pkg/credentialprovider"

Package credentialprovider supplies interfaces and implementations for docker registry providers to expose their authentication scheme.

Index

Package Files

config.go doc.go keyring.go plugins.go provider.go

func ReadUrl Uses

func ReadUrl(url string, client *http.Client, header *http.Header) (body []byte, err error)

func RegisterCredentialProvider Uses

func RegisterCredentialProvider(name string, provider DockerConfigProvider)

RegisterCredentialProvider is called by provider implementations on initialization to register themselves, like so:

func init() {
 	RegisterCredentialProvider("name", &myProvider{...})
}

type BasicDockerKeyring Uses

type BasicDockerKeyring struct {
    // contains filtered or unexported fields
}

BasicDockerKeyring is a trivial map-backed implementation of DockerKeyring

func (*BasicDockerKeyring) Add Uses

func (dk *BasicDockerKeyring) Add(cfg DockerConfig)

func (*BasicDockerKeyring) Lookup Uses

func (dk *BasicDockerKeyring) Lookup(image string) (docker.AuthConfiguration, bool)

Lookup implements the DockerKeyring method for fetching credentials based on image name.

type CachingDockerConfigProvider Uses

type CachingDockerConfigProvider struct {
    Provider DockerConfigProvider
    Lifetime time.Duration
    // contains filtered or unexported fields
}

CachingDockerConfigProvider implements DockerConfigProvider by composing with another DockerConfigProvider and caching the DockerConfig it provides for a pre-specified lifetime.

func (*CachingDockerConfigProvider) Enabled Uses

func (d *CachingDockerConfigProvider) Enabled() bool

Enabled implements dockerConfigProvider

func (*CachingDockerConfigProvider) Provide Uses

func (d *CachingDockerConfigProvider) Provide() DockerConfig

Provide implements dockerConfigProvider

type DockerConfig Uses

type DockerConfig map[string]DockerConfigEntry

DockerConfig represents the config file used by the docker CLI. This config that represents the credentials that should be used when pulling images from specific image repositories.

func ReadDockerConfigFile Uses

func ReadDockerConfigFile() (cfg DockerConfig, err error)

func ReadDockerConfigFileFromUrl Uses

func ReadDockerConfigFileFromUrl(url string, client *http.Client, header *http.Header) (cfg DockerConfig, err error)

type DockerConfigEntry Uses

type DockerConfigEntry struct {
    Username string
    Password string
    Email    string
}

func (*DockerConfigEntry) UnmarshalJSON Uses

func (ident *DockerConfigEntry) UnmarshalJSON(data []byte) error

type DockerConfigProvider Uses

type DockerConfigProvider interface {
    Enabled() bool
    Provide() DockerConfig
}

DockerConfigProvider is the interface that registered extensions implement to materialize 'dockercfg' credentials.

type DockerKeyring Uses

type DockerKeyring interface {
    Lookup(image string) (docker.AuthConfiguration, bool)
}

DockerKeyring tracks a set of docker registry credentials, maintaining a reverse index across the registry endpoints. A registry endpoint is made up of a host (e.g. registry.example.com), but it may also contain a path (e.g. registry.example.com/foo) This index is important for two reasons: - registry endpoints may overlap, and when this happens we must find the

most specific match for a given image

- iterating a map does not yield predictable results

func NewDockerKeyring Uses

func NewDockerKeyring() DockerKeyring

NewDockerKeyring creates a DockerKeyring to use for resolving credentials, which lazily draws from the set of registered credential providers.

Directories

PathSynopsis
gcpPackage gcp_credentials contains implementations of DockerConfigProvider for Google Cloud Platform.

Package credentialprovider imports 15 packages (graph). Updated 2018-04-17. Refresh now. Tools for package owners.