Documentation ¶
Overview ¶
Package tlsconfig provides config and flags for building TLS configurations for servers and clients.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CAConfig ¶
type CAConfig struct {
CACert string `json:"caCert,omitempty" yaml:"caCert,omitempty"`
}
CAConfig represents a CA certificate.
func DefaultCAConfig ¶
func DefaultCAConfig() *CAConfig
DefaultCAConfig returns the default CAConfig.
type CertConfig ¶
type CertConfig struct { Cert string `json:"cert,omitempty" yaml:"cert,omitempty"` Key string `json:"key,omitempty" yaml:"key,omitempty"` }
CertConfig represent a TLS certificate and its key.
func DefaultCertConfig ¶
func DefaultCertConfig() *CertConfig
DefaultCertConfig returns the default CertConfig.
func (*CertConfig) Flags ¶
func (c *CertConfig) Flags(prefix string, defaults *CertConfig) *pflag.FlagSet
Flags returns a flagset that can be added to the command line.
func (*CertConfig) Load ¶
func (c *CertConfig) Load(_ context.Context) (*tls.Certificate, error)
Load loads the certificate.
type ClientConfig ¶
type ClientConfig struct {
ServerCA CAConfig `json:"server,omitempty" yaml:"server,omitempty"`
}
ClientConfig is the configuration for client-side TLS.
func DefaultClientConfig ¶
func DefaultClientConfig() *ClientConfig
DefaultClientConfig returns the default configuration.
func (*ClientConfig) Flags ¶
func (c *ClientConfig) Flags(prefix string, defaults *ClientConfig) *pflag.FlagSet
Flags returns a flagset that can be added to the command line.
type MutualClientConfig ¶
type MutualClientConfig struct { ClientConfig ClientCert CertConfig `json:"client,omitempty" yaml:"client,omitempty"` }
MutualClientConfig is the configuration for client-side mTLS.
func DefaultMutualClientConfig ¶
func DefaultMutualClientConfig() *MutualClientConfig
DefaultMutualClientConfig returns the default configuration.
func (*MutualClientConfig) Flags ¶
func (c *MutualClientConfig) Flags(prefix string, defaults *MutualClientConfig) *pflag.FlagSet
Flags returns a flagset that can be added to the command line.
type MutualServerConfig ¶
type MutualServerConfig struct { ServerConfig ClientCA CAConfig `json:"client,omitempty" yaml:"client,omitempty"` }
MutualServerConfig is the configuration for server-side mTLS.
func DefaultMutualServerConfig ¶
func DefaultMutualServerConfig() *MutualServerConfig
DefaultMutualServerConfig returns the default configuration.
func (*MutualServerConfig) Flags ¶
func (c *MutualServerConfig) Flags(prefix string, defaults *MutualServerConfig) *pflag.FlagSet
Flags returns a flagset that can be added to the command line.
type ServerConfig ¶
type ServerConfig struct {
ServerCert CertConfig `json:"server,omitempty" yaml:"server,omitempty"`
}
ServerConfig is the configuration for server-side TLS.
func DefaultServerConfig ¶
func DefaultServerConfig() *ServerConfig
DefaultServerConfig returns the default configuration.
func (*ServerConfig) Flags ¶
func (c *ServerConfig) Flags(prefix string, defaults *ServerConfig) *pflag.FlagSet
Flags returns a flagset that can be added to the command line.