Documentation ¶
Index ¶
- func ParseAuth(auth *runtime.AuthConfig, host string) (string, string, error)
- func RegistryHostsFromCRIConfig(ctx context.Context, config Registry, credsFuncs ...Credential) source.RegistryHosts
- func RegistryHostsFromConfig(cfg Config, credsFuncs ...Credential) source.RegistryHosts
- type AuthConfig
- type Config
- type Credential
- type HostConfig
- type Mirror
- type MirrorConfig
- type Registry
- type RegistryConfig
- type TLSConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseAuth ¶ added in v0.6.3
ParseAuth parses AuthConfig and returns username and password/secret required by containerd. NOTE: Ported from https://github.com/containerd/containerd/blob/v1.5.2/pkg/cri/server/image_pull.go#L176-L214
func RegistryHostsFromCRIConfig ¶ added in v0.6.3
func RegistryHostsFromCRIConfig(ctx context.Context, config Registry, credsFuncs ...Credential) source.RegistryHosts
RegistryHostsFromCRIConfig creates RegistryHosts (a set of registry configuration) from CRI-plugin-compatible config. NOTE: ported from https://github.com/containerd/containerd/blob/v1.5.2/pkg/cri/server/image_pull.go#L332-L405
func RegistryHostsFromConfig ¶
func RegistryHostsFromConfig(cfg Config, credsFuncs ...Credential) source.RegistryHosts
RegistryHostsFromConfig creates RegistryHosts (a set of registry configuration) from Config.
Types ¶
type AuthConfig ¶ added in v0.6.3
type AuthConfig struct { // Username is the username to login the registry. Username string `toml:"username" json:"username"` // Password is the password to login the registry. Password string `toml:"password" json:"password"` // Auth is a base64 encoded string from the concatenation of the username, // a colon, and the password. Auth string `toml:"auth" json:"auth"` // IdentityToken is used to authenticate the user and get // an access token for the registry. IdentityToken string `toml:"identitytoken" json:"identitytoken"` }
AuthConfig contains the config related to authentication to a specific registry
type Config ¶
type Config struct {
Host map[string]HostConfig `toml:"host"`
}
Config is config for resolving registries.
type Credential ¶ added in v0.6.1
type HostConfig ¶
type HostConfig struct {
Mirrors []MirrorConfig `toml:"mirrors"`
}
type Mirror ¶ added in v0.6.3
type Mirror struct { // Endpoints are endpoints for a namespace. CRI plugin will try the endpoints // one by one until a working one is found. The endpoint must be a valid url // with host specified. // The scheme, host and path from the endpoint URL will be used. Endpoints []string `toml:"endpoint" json:"endpoint"` }
Mirror contains the config related to the registry mirror
type MirrorConfig ¶
type MirrorConfig struct { // Host is the hostname of the host. Host string `toml:"host"` // Insecure is true means use http scheme instead of https. Insecure bool `toml:"insecure"` // RequestTimeoutSec is timeout seconds of each request to the registry. // RequestTimeoutSec == 0 indicates the default timeout (defaultRequestTimeoutSec). // RequestTimeoutSec < 0 indicates no timeout. RequestTimeoutSec int `toml:"request_timeout_sec"` }
type Registry ¶ added in v0.6.3
type Registry struct { // ConfigPath is a path to the root directory containing registry-specific // configurations. // If ConfigPath is set, the rest of the registry specific options are ignored. ConfigPath string `toml:"config_path" json:"configPath"` // Mirrors are namespace to mirror mapping for all namespaces. // This option will not be used when ConfigPath is provided. // DEPRECATED: Use ConfigPath instead. Remove in containerd 1.7. Mirrors map[string]Mirror `toml:"mirrors" json:"mirrors"` // Configs are configs for each registry. // The key is the domain name or IP of the registry. // This option will be fully deprecated for ConfigPath in the future. Configs map[string]RegistryConfig `toml:"configs" json:"configs"` }
Registry is registry settings configured
type RegistryConfig ¶ added in v0.6.3
type RegistryConfig struct { // Auth contains information to authenticate to the registry. Auth *AuthConfig `toml:"auth" json:"auth"` // TLS is a pair of CA/Cert/Key which then are used when creating the transport // that communicates with the registry. // This field will not be used when ConfigPath is provided. // DEPRECATED: Use ConfigPath instead. Remove in containerd 1.7. TLS *TLSConfig `toml:"tls" json:"tls"` }
RegistryConfig contains configuration used to communicate with the registry.
type TLSConfig ¶ added in v0.6.3
type TLSConfig struct { InsecureSkipVerify bool `toml:"insecure_skip_verify" json:"insecure_skip_verify"` CAFile string `toml:"ca_file" json:"caFile"` CertFile string `toml:"cert_file" json:"certFile"` KeyFile string `toml:"key_file" json:"keyFile"` }
TLSConfig contains the CA/Cert/Key used for a registry