kubernetes: github.com/bboreham/kubernetes/pkg/client/transport Index | Files

package transport

import "github.com/bboreham/kubernetes/pkg/client/transport"

Index

Package Files

cache.go config.go round_trippers.go transport.go

func DebugWrappers Uses

func DebugWrappers(rt http.RoundTripper) http.RoundTripper

DebugWrappers wraps a round tripper and logs based on the current log level.

func HTTPWrappersForConfig Uses

func HTTPWrappersForConfig(config *Config, rt http.RoundTripper) (http.RoundTripper, error)

HTTPWrappersForConfig wraps a round tripper with any relevant layered behavior from the config. Exposed to allow more clients that need HTTP-like behavior but then must hijack the underlying connection (like WebSocket or HTTP2 clients). Pure HTTP clients should use the RoundTripper returned from New.

func New Uses

func New(config *Config) (http.RoundTripper, error)

New returns an http.RoundTripper that will provide the authentication or transport level security defined by the provided Config.

func TLSConfigFor Uses

func TLSConfigFor(c *Config) (*tls.Config, error)

TLSConfigFor returns a tls.Config that will provide the transport level security defined by the provided Config. Will return nil if no transport level security is requested.

type Config Uses

type Config struct {
    // UserAgent is an optional field that specifies the caller of this
    // request.
    UserAgent string

    // The base TLS configuration for this transport.
    TLS TLSConfig

    // Username and password for basic authentication
    Username string
    Password string

    // Bearer token for authentication
    BearerToken string

    // Transport may be used for custom HTTP behavior. This attribute may
    // not be specified with the TLS client certificate options. Use
    // WrapTransport for most client level operations.
    Transport http.RoundTripper

    // WrapTransport will be invoked for custom HTTP behavior after the
    // underlying transport is initialized (either the transport created
    // from TLSClientConfig, Transport, or http.DefaultTransport). The
    // config may layer other RoundTrippers on top of the returned
    // RoundTripper.
    WrapTransport func(rt http.RoundTripper) http.RoundTripper
}

Config holds various options for establishing a transport.

func (*Config) HasBasicAuth Uses

func (c *Config) HasBasicAuth() bool

HasBasicAuth returns whether the configuration has basic authentication or not.

func (*Config) HasCA Uses

func (c *Config) HasCA() bool

HasCA returns whether the configuration has a certificate authority or not.

func (*Config) HasCertAuth Uses

func (c *Config) HasCertAuth() bool

HasCertAuth returns whether the configuration has certificate authentication or not.

func (*Config) HasTokenAuth Uses

func (c *Config) HasTokenAuth() bool

HasTokenAuth returns whether the configuration has token authentication or not.

type TLSConfig Uses

type TLSConfig struct {
    CAFile   string // Path of the PEM-encoded server trusted root certificates.
    CertFile string // Path of the PEM-encoded client certificate.
    KeyFile  string // Path of the PEM-encoded client key.

    Insecure bool // Server should be accessed without verifying the certificate. For testing only.

    CAData   []byte // Bytes of the PEM-encoded server trusted root certificates. Supercedes CAFile.
    CertData []byte // Bytes of the PEM-encoded client certificate. Supercedes CertFile.
    KeyData  []byte // Bytes of the PEM-encoded client key. Supercedes KeyFile.
}

TLSConfig holds the information needed to set up a TLS transport.

Package transport imports 9 packages (graph). Updated 2017-07-27. Refresh now. Tools for package owners. This is a quick bug-fix fork (has fewer than three commits, and only during the week it was created).