Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Fixtures ¶
func Fixtures() []testutils.Fixture
Fixtures for unit testing Cassandra integration.
func NewTableClient ¶
func NewTableClient(ctx context.Context, cfg Config, registerer prometheus.Registerer) (chunk.TableClient, error)
NewTableClient returns a new TableClient.
Types ¶
type Config ¶
type Config struct {
Addresses string `yaml:"addresses"`
Port int `yaml:"port"`
Keyspace string `yaml:"keyspace"`
Consistency string `yaml:"consistency"`
ReplicationFactor int `yaml:"replication_factor"`
DisableInitialHostLookup bool `yaml:"disable_initial_host_lookup"`
SSL bool `yaml:"SSL"`
HostVerification bool `yaml:"host_verification"`
CAPath string `yaml:"CA_path"`
CertPath string `yaml:"tls_cert_path"`
KeyPath string `yaml:"tls_key_path"`
Auth bool `yaml:"auth"`
Username string `yaml:"username"`
Password flagext.Secret `yaml:"password"`
PasswordFile string `yaml:"password_file"`
CustomAuthenticators flagext.StringSlice `yaml:"custom_authenticators"`
Timeout time.Duration `yaml:"timeout"`
ConnectTimeout time.Duration `yaml:"connect_timeout"`
ReconnectInterval time.Duration `yaml:"reconnect_interval"`
Retries int `yaml:"max_retries"`
MaxBackoff time.Duration `yaml:"retry_max_backoff"`
MinBackoff time.Duration `yaml:"retry_min_backoff"`
QueryConcurrency int `yaml:"query_concurrency"`
NumConnections int `yaml:"num_connections"`
ConvictHosts bool `yaml:"convict_hosts_on_failure"`
TableOptions string `yaml:"table_options"`
}
Config for a StorageClient
func (*Config) RegisterFlags ¶
func (cfg *Config) RegisterFlags(f *flag.FlagSet)
RegisterFlags adds the flags required to config this to the given FlagSet
type CustomPasswordAuthenticator ¶ added in v0.7.0
type CustomPasswordAuthenticator struct {
ApprovedAuthenticators []string
Username string
Password string
}
CustomPasswordAuthenticator provides the default behaviour for Username/Password authentication with Cassandra while allowing users to specify a non-default Authenticator to accept.
type ObjectClient ¶ added in v1.2.0
type ObjectClient struct {
// contains filtered or unexported fields
}
ObjectClient implements chunk.ObjectClient for Cassandra.
func NewObjectClient ¶ added in v1.2.0
func NewObjectClient(cfg Config, schemaCfg chunk.SchemaConfig, registerer prometheus.Registerer) (*ObjectClient, error)
NewObjectClient returns a new ObjectClient.
func (*ObjectClient) DeleteChunk ¶ added in v1.2.0
func (s *ObjectClient) DeleteChunk(ctx context.Context, userID, chunkID string) error
func (*ObjectClient) GetChunks ¶ added in v1.2.0
func (s *ObjectClient) GetChunks(ctx context.Context, input []chunk.Chunk) ([]chunk.Chunk, error)
GetChunks implements chunk.ObjectClient.
type StorageClient ¶
type StorageClient struct {
// contains filtered or unexported fields
}
StorageClient implements chunk.IndexClient and chunk.ObjectClient for Cassandra.
func NewStorageClient ¶
func NewStorageClient(cfg Config, schemaCfg chunk.SchemaConfig, registerer prometheus.Registerer) (*StorageClient, error)
NewStorageClient returns a new StorageClient.
func (*StorageClient) BatchWrite ¶
func (s *StorageClient) BatchWrite(ctx context.Context, batch chunk.WriteBatch) error
BatchWrite implement chunk.IndexClient.
func (*StorageClient) NewWriteBatch ¶
func (s *StorageClient) NewWriteBatch() chunk.WriteBatch
NewWriteBatch implement chunk.IndexClient.
func (*StorageClient) QueryPages ¶
func (s *StorageClient) QueryPages(ctx context.Context, queries []chunk.IndexQuery, callback func(chunk.IndexQuery, chunk.ReadBatch) bool) error
QueryPages implement chunk.IndexClient.