Documentation

Index

Constants

View Source
const GroupName = "kubelet.config.k8s.io"

    GroupName is the group name used in this package

    Variables

    View Source
    var (
    	// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
    	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
    	// AddToScheme is a global function that registers this API group & version to a scheme
    	AddToScheme = SchemeBuilder.AddToScheme
    )
    View Source
    var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

      SchemeGroupVersion is group version used to register these objects

      Functions

      This section is empty.

      Types

      type CredentialProvider

      type CredentialProvider struct {
      	// name is the required name of the credential provider. It must match the name of the
      	// provider executable as seen by the kubelet. The executable must be in the kubelet's
      	// bin directory (set by the --image-credential-provider-bin-dir flag).
      	Name string `json:"name"`
      
      	// matchImages is a required list of strings used to match against images in order to
      	// determine if this provider should be invoked. If one of the strings matches the
      	// requested image from the kubelet, the plugin will be invoked and given a chance
      	// to provide credentials. Images are expected to contain the registry domain
      	// and URL path.
      	//
      	// Each entry in matchImages is a pattern which can optionally contain a port and a path.
      	// Globs can be used in the domain, but not in the port or the path. Globs are supported
      	// as subdomains like '*.k8s.io' or 'k8s.*.io', and top-level-domains such as 'k8s.*'.
      	// Matching partial subdomains like 'app*.k8s.io' is also supported. Each glob can only match
      	// a single subdomain segment, so *.io does not match *.k8s.io.
      	//
      	// A match exists between an image and a matchImage when all of the below are true:
      	// - Both contain the same number of domain parts and each part matches.
      	// - The URL path of an imageMatch must be a prefix of the target image URL path.
      	// - If the imageMatch contains a port, then the port must match in the image as well.
      	//
      	// Example values of matchImages:
      	//   - 123456789.dkr.ecr.us-east-1.amazonaws.com
      	//   - *.azurecr.io
      	//   - gcr.io
      	//   - *.*.registry.io
      	//   - registry.io:8080/path
      	MatchImages []string `json:"matchImages"`
      
      	// defaultCacheDuration is the default duration the plugin will cache credentials in-memory
      	// if a cache duration is not provided in the plugin response. This field is required.
      	DefaultCacheDuration *metav1.Duration `json:"defaultCacheDuration"`
      
      	// Required input version of the exec CredentialProviderRequest. The returned CredentialProviderResponse
      	// MUST use the same encoding version as the input. Current supported values are:
      	// - credentialprovider.kubelet.k8s.io/v1alpha1
      	APIVersion string `json:"apiVersion"`
      
      	// Arguments to pass to the command when executing it.
      	// +optional
      	Args []string `json:"args,omitempty"`
      
      	// Env defines additional environment variables to expose to the process. These
      	// are unioned with the host's environment, as well as variables client-go uses
      	// to pass argument to the plugin.
      	// +optional
      	Env []ExecEnvVar `json:"env,omitempty"`
      }

        CredentialProvider represents an exec plugin to be invoked by the kubelet. The plugin is only invoked when an image being pulled matches the images handled by the plugin (see matchImages).

        func (*CredentialProvider) DeepCopy

        func (in *CredentialProvider) DeepCopy() *CredentialProvider

          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialProvider.

          func (*CredentialProvider) DeepCopyInto

          func (in *CredentialProvider) DeepCopyInto(out *CredentialProvider)

            DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

            type CredentialProviderConfig

            type CredentialProviderConfig struct {
            	metav1.TypeMeta `json:",inline"`
            
            	// providers is a list of credential provider plugins that will be enabled by the kubelet.
            	// Multiple providers may match against a single image, in which case credentials
            	// from all providers will be returned to the kubelet. If multiple providers are called
            	// for a single image, the results are combined. If providers return overlapping
            	// auth keys, the value from the provider earlier in this list is used.
            	Providers []CredentialProvider `json:"providers"`
            }

              CredentialProviderConfig is the configuration containing information about each exec credential provider. Kubelet reads this configuration from disk and enables each provider as specified by the CredentialProvider type.

              func (*CredentialProviderConfig) DeepCopy

                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialProviderConfig.

                func (*CredentialProviderConfig) DeepCopyInto

                func (in *CredentialProviderConfig) DeepCopyInto(out *CredentialProviderConfig)

                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                  func (*CredentialProviderConfig) DeepCopyObject

                  func (in *CredentialProviderConfig) DeepCopyObject() runtime.Object

                    DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

                    type ExecEnvVar

                    type ExecEnvVar struct {
                    	Name  string `json:"name"`
                    	Value string `json:"value"`
                    }

                      ExecEnvVar is used for setting environment variables when executing an exec-based credential plugin.

                      func (*ExecEnvVar) DeepCopy

                      func (in *ExecEnvVar) DeepCopy() *ExecEnvVar

                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecEnvVar.

                        func (*ExecEnvVar) DeepCopyInto

                        func (in *ExecEnvVar) DeepCopyInto(out *ExecEnvVar)

                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.