promauth

package
v1.66.0-cluster Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2021 License: Apache-2.0 Imports: 16 Imported by: 45

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Authorization added in v1.58.0

type Authorization struct {
	Type            string `yaml:"type,omitempty"`
	Credentials     string `yaml:"credentials,omitempty"`
	CredentialsFile string `yaml:"credentials_file,omitempty"`
}

Authorization represents generic authorization config.

See https://prometheus.io/docs/prometheus/latest/configuration/configuration/

type BasicAuthConfig

type BasicAuthConfig struct {
	Username     string `yaml:"username"`
	Password     string `yaml:"password,omitempty"`
	PasswordFile string `yaml:"password_file,omitempty"`
}

BasicAuthConfig represents basic auth config.

type Config

type Config struct {
	// Optional TLS config
	TLSRootCA             *x509.CertPool
	TLSServerName         string
	TLSInsecureSkipVerify bool
	// contains filtered or unexported fields
}

Config is auth config.

func NewConfig

func NewConfig(baseDir string, az *Authorization, basicAuth *BasicAuthConfig, bearerToken, bearerTokenFile string, o *OAuth2Config, tlsConfig *TLSConfig) (*Config, error)

NewConfig creates auth config from the given args.

func (*Config) GetAuthHeader added in v1.60.0

func (ac *Config) GetAuthHeader() string

GetAuthHeader returns optional `Authorization: ...` http header.

func (*Config) NewTLSConfig

func (ac *Config) NewTLSConfig() *tls.Config

NewTLSConfig returns new TLS config for the given ac.

func (*Config) String added in v1.35.1

func (ac *Config) String() string

String returns human-readable representation for ac.

type HTTPClientConfig added in v1.58.0

type HTTPClientConfig struct {
	Authorization   *Authorization   `yaml:"authorization,omitempty"`
	BasicAuth       *BasicAuthConfig `yaml:"basic_auth,omitempty"`
	BearerToken     string           `yaml:"bearer_token,omitempty"`
	BearerTokenFile string           `yaml:"bearer_token_file,omitempty"`
	OAuth2          *OAuth2Config    `yaml:"oauth2,omitempty"`
	TLSConfig       *TLSConfig       `yaml:"tls_config,omitempty"`
}

HTTPClientConfig represents http client config.

func (*HTTPClientConfig) NewConfig added in v1.58.0

func (hcc *HTTPClientConfig) NewConfig(baseDir string) (*Config, error)

NewConfig creates auth config for the given hcc.

type OAuth2Config added in v1.60.0

type OAuth2Config struct {
	ClientID         string            `yaml:"client_id"`
	ClientSecret     string            `yaml:"client_secret"`
	ClientSecretFile string            `yaml:"client_secret_file"`
	Scopes           []string          `yaml:"scopes"`
	TokenURL         string            `yaml:"token_url"`
	EndpointParams   map[string]string `yaml:"endpoint_params"`
}

OAuth2Config represent OAuth2 configuration

func (*OAuth2Config) String added in v1.60.0

func (o *OAuth2Config) String() string

String returns string representation of o.

type ProxyClientConfig added in v1.58.0

type ProxyClientConfig struct {
	Authorization   *Authorization   `yaml:"proxy_authorization,omitempty"`
	BasicAuth       *BasicAuthConfig `yaml:"proxy_basic_auth,omitempty"`
	BearerToken     string           `yaml:"proxy_bearer_token,omitempty"`
	BearerTokenFile string           `yaml:"proxy_bearer_token_file,omitempty"`
	TLSConfig       *TLSConfig       `yaml:"proxy_tls_config,omitempty"`
}

ProxyClientConfig represents proxy client config.

func (*ProxyClientConfig) NewConfig added in v1.58.0

func (pcc *ProxyClientConfig) NewConfig(baseDir string) (*Config, error)

NewConfig creates auth config for the given pcc.

type TLSConfig

type TLSConfig struct {
	CAFile             string `yaml:"ca_file,omitempty"`
	CertFile           string `yaml:"cert_file,omitempty"`
	KeyFile            string `yaml:"key_file,omitempty"`
	ServerName         string `yaml:"server_name,omitempty"`
	InsecureSkipVerify bool   `yaml:"insecure_skip_verify,omitempty"`
}

TLSConfig represents TLS config.

See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tls_config

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL