Documentation
¶
Overview ¶
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
package config providers configuration type and load configuration logic
Package config providers configuration type and load configuration logic ¶
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (C) 2019-2026 vdaas.org vald team <vald@vdaas.org>
Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func GetActualValue[T ~string](val T) (res T)
- func GetActualValues[T ~string](vals []T) []T
- func Merge[T any](objs ...T) (dst T, err error)
- func Read[T any](path string, cfg T) (err error)
- func ToRawYaml(data any) string
- type AgentSidecar
- type Backoff
- type BackupManager
- type BenchmarkDataset
- type BenchmarkDatasetRange
- type BenchmarkJob
- type BenchmarkJobImageInfo
- type BenchmarkJobRule
- type BenchmarkScenario
- type BenchmarkTarget
- type Blob
- type BlobStorageType
- type CallOption
- type Cassandra
- type CircuitBreaker
- type Client
- type CloudStorageClient
- type CloudStorageConfig
- type CompressAlgorithm
- type CompressCore
- type Compressor
- type CompressorRegisterer
- type ConnectionPool
- type Corrector
- type DNS
- type DialOption
- type Dialer
- type Discoverer
- type DiscovererClient
- type EgressFilter
- type Faiss
- type FilterConfig
- type FilterTarget
- type GRPC
- type GRPCClient
- type GRPCClientKeepalive
- type GRPCKeepalive
- type Gateway
- type GlobalConfig
- type HTTP
- type HTTP2
- type HostFilter
- type IndexCreation
- type IndexDeleter
- type IndexExporter
- type IndexJobTemplates
- type IndexOperator
- type IndexSave
- type Indexer
- type IngressFilter
- type InsertConfig
- type KVSDB
- type LB
- type Logging
- type Meta
- type Metrics
- type Mirror
- type MySQL
- type NGT
- type Net
- type OTLP
- type OTLPAttribute
- type ObjectConfig
- type Observability
- type OperatorJobConfig
- type PoolConfig
- type ReadReplica
- type ReadReplicaClient
- type ReadReplicaRotate
- type ReconnectionPolicy
- type Redis
- type RemoveConfig
- type RetryPolicy
- type RoundTripper
- type S3Config
- type SearchConfig
- type Selector
- type Selectors
- func (s *Selectors) Bind() *Selectors
- func (s *Selectors) GetNodeFields() map[string]string
- func (s *Selectors) GetNodeLabels() map[string]string
- func (s *Selectors) GetNodeMetricsFields() map[string]string
- func (s *Selectors) GetNodeMetricsLabels() map[string]string
- func (s *Selectors) GetPodFields() map[string]string
- func (s *Selectors) GetPodLabels() map[string]string
- func (s *Selectors) GetPodMetricsFields() map[string]string
- func (s *Selectors) GetPodMetricsLabels() map[string]string
- func (s *Selectors) GetServiceFields() map[string]string
- func (s *Selectors) GetServiceLabels() map[string]string
- type Server
- type Servers
- type SocketOption
- type TLS
- type Trace
- type Transport
- type UpdateConfig
- type UpsertConfig
- type VQueue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetActualValue ¶
func GetActualValue[T ~string](val T) (res T)
GetActualValue returns the environment variable value if the val has prefix and suffix "_", if actual value start with file://{path} the return value will read from file otherwise the val will directly return.
func GetActualValues ¶
func GetActualValues[T ~string](vals []T) []T
GetActualValues returns the environment variable values if the vals has string slice that has prefix and suffix "_", if actual value start with file://{path} the return value will read from file otherwise the val will directly return.
func Merge ¶ added in v1.7.11
Merge merges multiple objects to one object. the value of each field is prioritized the value of last index of `objs`. if the length of `objs` is zero, it returns initial value of type T.
Types ¶
type AgentSidecar ¶ added in v0.0.38
type AgentSidecar struct {
// BlobStorage represents the blob storage configuration.
BlobStorage *Blob `json:"blob_storage" yaml:"blob_storage"`
// Client represents the client configuration.
Client *Client `json:"client" yaml:"client"`
// RestoreBackoff represents the restore backoff configuration.
RestoreBackoff *Backoff `json:"restore_backoff" yaml:"restore_backoff"`
// Compress represents the compress configuration.
Compress *CompressCore `json:"compress" yaml:"compress"`
// Filename represents the filename.
Filename string `json:"filename" yaml:"filename"`
// PostStopTimeout represents the post stop timeout duration.
PostStopTimeout string `json:"post_stop_timeout" yaml:"post_stop_timeout"`
// Mode represents the mode.
Mode string `json:"mode" yaml:"mode"`
// FilenameSuffix represents the filename suffix.
FilenameSuffix string `json:"filename_suffix" yaml:"filename_suffix"`
// AutoBackupDuration represents the auto backup duration.
AutoBackupDuration string `json:"auto_backup_duration" yaml:"auto_backup_duration"`
// WatchDir represents the watch directory.
WatchDir string `json:"watch_dir" yaml:"watch_dir"`
// AutoBackupEnabled enables auto backup.
AutoBackupEnabled bool `json:"auto_backup_enabled" yaml:"auto_backup_enabled"`
// RestoreBackoffEnabled enables restore backoff.
RestoreBackoffEnabled bool `json:"restore_backoff_enabled" yaml:"restore_backoff_enabled"`
// WatchEnabled enables watch.
WatchEnabled bool `json:"watch_enabled" yaml:"watch_enabled"`
}
AgentSidecar represents the configuration for the agent sidecar.
func (*AgentSidecar) Bind ¶ added in v0.0.38
func (s *AgentSidecar) Bind() *AgentSidecar
Bind binds the actual data from the AgentSidecar receiver fields.
type Backoff ¶
type Backoff struct {
// InitialDuration represents the initial duration for backoff.
InitialDuration string `json:"initial_duration" yaml:"initial_duration"`
// BackoffTimeLimit represents the maximum duration for backoff time limit.
BackoffTimeLimit string `json:"backoff_time_limit" yaml:"backoff_time_limit"`
// MaximumDuration represents the maximum duration for backoff.
MaximumDuration string `json:"maximum_duration" yaml:"maximum_duration"`
// JitterLimit represents the jitter limit for randomizing delay.
JitterLimit string `json:"jitter_limit" yaml:"jitter_limit"`
// BackoffFactor represents the backoff factor.
BackoffFactor float64 `json:"backoff_factor" yaml:"backoff_factor"`
// RetryCount represents the retry count.
RetryCount int `json:"retry_count" yaml:"retry_count"`
// EnableErrorLog enables error logging.
EnableErrorLog bool `json:"enable_error_log" yaml:"enable_error_log"`
}
Backoff represents the configuration for the internal backoff package.
type BackupManager ¶
type BackupManager struct {
// Client represents the gRPC client configuration.
Client *GRPCClient `json:"client" yaml:"client"`
}
BackupManager represents the configuration for backup manager.
func (*BackupManager) Bind ¶
func (b *BackupManager) Bind() *BackupManager
Bind binds the actual data from the BackupManager receiver fields.
type BenchmarkDataset ¶ added in v1.7.11
type BenchmarkDataset struct {
// Range represents the range configuration.
Range *BenchmarkDatasetRange `json:"range,omitempty"`
// Name represents the dataset name.
Name string `json:"name,omitempty"`
// Group represents the dataset group.
Group string `json:"group,omitempty"`
// URL represents the dataset URL.
URL string `json:"url,omitempty"`
// Indexes represents the number of indexes.
Indexes int `json:"indexes,omitempty"`
}
BenchmarkDataset defines the desired state of BenchmarkDateset.
func (*BenchmarkDataset) Bind ¶ added in v1.7.11
func (d *BenchmarkDataset) Bind() *BenchmarkDataset
type BenchmarkDatasetRange ¶ added in v1.7.11
type BenchmarkDatasetRange struct {
// Start represents the start index.
Start int `json:"start,omitempty"`
// End represents the end index.
End int `json:"end,omitempty"`
}
BenchmarkDatasetRange defines the desired state of BenchmarkDatesetRange.
type BenchmarkJob ¶ added in v1.7.11
type BenchmarkJob struct {
// RemoveConfig represents the remove configuration.
RemoveConfig *RemoveConfig `json:"remove_config,omitempty" yaml:"remove_config"`
// Dataset represents the dataset configuration.
Dataset *BenchmarkDataset `json:"dataset,omitempty" yaml:"dataset"`
// ClientConfig represents the client configuration.
ClientConfig *GRPCClient `json:"client_config,omitempty" yaml:"client_config"`
// ObjectConfig represents the object configuration.
ObjectConfig *ObjectConfig `json:"object_config,omitempty" yaml:"object_config"`
// Target represents the target configuration.
Target *BenchmarkTarget `json:"target,omitempty" yaml:"target"`
// InsertConfig represents the insert configuration.
InsertConfig *InsertConfig `json:"insert_config,omitempty" yaml:"insert_config"`
// UpdateConfig represents the update configuration.
UpdateConfig *UpdateConfig `json:"update_config,omitempty" yaml:"update_config"`
// UpsertConfig represents the upsert configuration.
UpsertConfig *UpsertConfig `json:"upsert_config,omitempty" yaml:"upsert_config"`
// SearchConfig represents the search configuration.
SearchConfig *SearchConfig `json:"search_config,omitempty" yaml:"search_config"`
// JobType represents the job type.
JobType string `json:"job_type,omitempty" yaml:"job_type"`
// BeforeJobName represents the before job name.
BeforeJobName string `json:"before_job_name,omitempty" yaml:"before_job_name"`
// BeforeJobNamespace represents the before job namespace.
BeforeJobNamespace string `json:"before_job_namespace,omitempty" yaml:"before_job_namespace"`
// Rules represents the list of rules.
Rules []*BenchmarkJobRule `json:"rules,omitempty" yaml:"rules"`
// Repetition represents the repetition count.
Repetition int `json:"repetition,omitempty" yaml:"repetition"`
// Replica represents the replica count.
Replica int `json:"replica,omitempty" yaml:"replica"`
// RPS represents the requests per second.
RPS int `json:"rps,omitempty" yaml:"rps"`
// ConcurrencyLimit represents the concurrency limit.
ConcurrencyLimit int `json:"concurrency_limit,omitempty" yaml:"concurrency_limit"`
}
BenchmarkJob represents the configuration for the internal benchmark search job.
func (*BenchmarkJob) Bind ¶ added in v1.7.11
func (b *BenchmarkJob) Bind() *BenchmarkJob
Bind binds the actual data from the Job receiver fields.
type BenchmarkJobImageInfo ¶ added in v1.7.11
type BenchmarkJobImageInfo struct {
// Repository represents the image repository.
Repository string `info:"repository" json:"repository,omitempty" yaml:"repository"`
// Tag represents the image tag.
Tag string `info:"tag" json:"tag,omitempty" yaml:"tag"`
// PullPolicy represents the image pull policy.
PullPolicy string `info:"pull_policy" json:"pull_policy,omitempty" yaml:"pull_policy"`
}
BenchmarkJobImageInfo represents the docker image information for benchmark job.
func (*BenchmarkJobImageInfo) Bind ¶ added in v1.7.11
func (b *BenchmarkJobImageInfo) Bind() *BenchmarkJobImageInfo
Bind binds the actual data from the BenchmarkJobImageInfo receiver fields.
type BenchmarkJobRule ¶ added in v1.7.11
type BenchmarkJobRule struct {
// Name represents the rule name.
Name string `json:"name,omitempty"`
// Type represents the rule type.
Type string `json:"type,omitempty"`
}
BenchmarkJobRule defines the desired state of BenchmarkJobRule.
func (*BenchmarkJobRule) Bind ¶ added in v1.7.11
func (r *BenchmarkJobRule) Bind() *BenchmarkJobRule
type BenchmarkScenario ¶ added in v1.7.11
type BenchmarkScenario struct {
// Target represents the target configuration.
Target *BenchmarkTarget `json:"target,omitempty" yaml:"target"`
// Dataset represents the dataset configuration.
Dataset *BenchmarkDataset `json:"dataset,omitempty" yaml:"dataset"`
// Jobs represents the list of benchmark jobs.
Jobs []*BenchmarkJob `json:"jobs,omitempty" yaml:"jobs"`
}
BenchmarkScenario represents the configuration for the internal benchmark scenario.
func (*BenchmarkScenario) Bind ¶ added in v1.7.11
func (b *BenchmarkScenario) Bind() *BenchmarkScenario
Bind binds the actual data from the BenchmarkScenario receiver fields.
type BenchmarkTarget ¶ added in v1.7.11
type BenchmarkTarget struct {
// Meta represents the metadata.
Meta map[string]string `json:"meta,omitempty"`
// Host represents the host.
Host string `json:"host,omitempty"`
// Port represents the port.
Port int `json:"port,omitempty"`
}
BenchmarkTarget defines the desired state of BenchmarkTarget.
func (*BenchmarkTarget) Bind ¶ added in v1.7.11
func (t *BenchmarkTarget) Bind() *BenchmarkTarget
type Blob ¶ added in v0.0.38
type Blob struct {
// S3 represents S3 configuration.
S3 *S3Config `json:"s3" yaml:"s3"`
// CloudStorage represents CloudStorage configuration.
CloudStorage *CloudStorageConfig `json:"cloud_storage" yaml:"cloud_storage"`
// StorageType represents the storage type.
StorageType string `json:"storage_type" yaml:"storage_type"`
// Bucket represents the bucket name.
Bucket string `json:"bucket" yaml:"bucket"`
}
Blob represents Blob configuration.
type BlobStorageType ¶ added in v0.0.38
type BlobStorageType uint8
BlobStorageType represents blob storage type.
const ( // S3 represents s3 storage type. S3 BlobStorageType = 1 + iota CloudStorage )
func AtoBST ¶ added in v0.0.38
func AtoBST(bst string) BlobStorageType
AtoBST returns BlobStorageType converted from string.
func (BlobStorageType) String ¶ added in v0.0.38
func (bst BlobStorageType) String() string
String returns blob storage type.
type CallOption ¶
type CallOption struct {
// ContentSubtype represents the content subtype.
ContentSubtype string `json:"content_subtype" yaml:"content_subtype"`
// MaxRetryRPCBufferSize represents the maximum retry RPC buffer size.
MaxRetryRPCBufferSize int `json:"max_retry_rpc_buffer_size" yaml:"max_retry_rpc_buffer_size"`
// MaxRecvMsgSize represents the maximum receive message size.
MaxRecvMsgSize int `json:"max_recv_msg_size" yaml:"max_recv_msg_size"`
// MaxSendMsgSize represents the maximum send message size.
MaxSendMsgSize int `json:"max_send_msg_size" yaml:"max_send_msg_size"`
// WaitForReady enables wait for ready.
WaitForReady bool `json:"wait_for_ready" yaml:"wait_for_ready"`
}
CallOption represents the configurations for call option.
func (*CallOption) Bind ¶
func (c *CallOption) Bind() *CallOption
Bind binds the actual data from the CallOption receiver fields.
type Cassandra ¶
type Cassandra struct {
// PoolConfig represents the pool configuration.
PoolConfig *PoolConfig `json:"pool_config" yaml:"pool_config"`
// Net represents the network configuration.
Net *Net `json:"net" yaml:"net"`
// TLS represents the TLS configuration.
TLS *TLS `json:"tls" yaml:"tls"`
// HostFilter represents the host filter configuration.
HostFilter *HostFilter `json:"host_filter" yaml:"host_filter"`
// ReconnectionPolicy represents the reconnection policy.
ReconnectionPolicy *ReconnectionPolicy `json:"reconnection_policy" yaml:"reconnection_policy"`
// RetryPolicy represents the retry policy.
RetryPolicy *RetryPolicy `json:"retry_policy" yaml:"retry_policy"`
// VKTable represents the Vector-Key table name.
VKTable string `json:"vk_table" yaml:"vk_table"`
// ReconnectInterval represents the reconnect interval.
ReconnectInterval string `json:"reconnect_interval" yaml:"reconnect_interval"`
// Consistency represents the consistency level.
Consistency string `json:"consistency" yaml:"consistency"`
// SerialConsistency represents the serial consistency level.
SerialConsistency string `json:"serial_consistency" yaml:"serial_consistency"`
// Username represents the username.
Username string `json:"username" yaml:"username"`
// Password represents the password.
Password string `json:"password" yaml:"password"`
// Keyspace represents the keyspace name.
Keyspace string `json:"keyspace" yaml:"keyspace"`
// KVTable represents the Key-Value table name.
KVTable string `json:"kv_table" yaml:"kv_table"`
// ConnectTimeout represents the connect timeout.
ConnectTimeout string `json:"connect_timeout" yaml:"connect_timeout"`
// Timeout represents the request timeout.
Timeout string `json:"timeout" yaml:"timeout"`
// SocketKeepalive represents the socket keepalive duration.
SocketKeepalive string `json:"socket_keepalive" yaml:"socket_keepalive"`
// WriteCoalesceWaitTime represents the write coalesce wait time.
WriteCoalesceWaitTime string `json:"write_coalesce_wait_time" yaml:"write_coalesce_wait_time"`
// CQLVersion represents the CQL version.
CQLVersion string `json:"cql_version" yaml:"cql_version"`
// MaxWaitSchemaAgreement represents the max wait schema agreement.
MaxWaitSchemaAgreement string `json:"max_wait_schema_agreement" yaml:"max_wait_schema_agreement"`
// VectorBackupTable represents the vector backup table name.
VectorBackupTable string `json:"vector_backup_table" yaml:"vector_backup_table"`
// Hosts represents the list of hosts.
Hosts []string `json:"hosts" yaml:"hosts"`
// MaxRoutingKeyInfo represents the max routing key info.
MaxRoutingKeyInfo int `json:"max_routing_key_info" yaml:"max_routing_key_info"`
// MaxPreparedStmts represents the max prepared statements.
MaxPreparedStmts int `json:"max_prepared_stmts" yaml:"max_prepared_stmts"`
// ProtoVersion represents the protocol version.
ProtoVersion int `json:"proto_version" yaml:"proto_version"`
// PageSize represents the page size.
PageSize int `json:"page_size" yaml:"page_size"`
// Port represents the port number.
Port int `json:"port" yaml:"port"`
// NumConns represents the number of connections.
NumConns int `json:"num_conns" yaml:"num_conns"`
// DisableTopologyEvents enables disabling topology events.
DisableTopologyEvents bool `json:"disable_topology_events" yaml:"disable_topology_events"`
// DefaultTimestamp enables default timestamp.
DefaultTimestamp bool `json:"default_timestamp" yaml:"default_timestamp"`
// DisableSchemaEvents enables disabling schema events.
DisableSchemaEvents bool `json:"disable_schema_events" yaml:"disable_schema_events"`
// DisableSkipMetadata enables disabling skip metadata.
DisableSkipMetadata bool `json:"disable_skip_metadata" yaml:"disable_skip_metadata"`
// DefaultIdempotence enables default idempotence.
DefaultIdempotence bool `json:"default_idempotence" yaml:"default_idempotence"`
// DisableNodeStatusEvents enables disabling node status events.
DisableNodeStatusEvents bool `json:"disable_node_status_events" yaml:"disable_node_status_events"`
// DisableInitialHostLookup enables disabling initial host lookup.
DisableInitialHostLookup bool `json:"disable_initial_host_lookup" yaml:"disable_initial_host_lookup"`
// IgnorePeerAddr enables ignoring peer address.
IgnorePeerAddr bool `json:"ignore_peer_addr" yaml:"ignore_peer_addr"`
// EnableHostVerification enables host verification.
EnableHostVerification bool `json:"enable_host_verification" yaml:"enable_host_verification"`
}
Cassandra represents the configuration for the internal cassandra package.
type CircuitBreaker ¶ added in v1.6.0
type CircuitBreaker struct {
// OpenTimeout specifies the duration the circuit breaker stays open before transitioning to half-open.
OpenTimeout string `json:"open_timeout,omitempty" yaml:"open_timeout"`
// ClosedRefreshTimeout specifies the interval at which the internal counters (e.g., error rate) are reset while in the closed state.
ClosedRefreshTimeout string `json:"closed_refresh_timeout,omitempty" yaml:"closed_refresh_timeout"`
// MinSamples specifies the minimum number of requests required before calculating the error rate.
MinSamples int64 `json:"min_samples,omitempty" yaml:"min_samples"`
// ClosedErrorRate specifies the threshold error rate (0.0 to 1.0) above which the circuit breaker opens.
ClosedErrorRate float32 `json:"closed_error_rate,omitempty" yaml:"closed_error_rate"`
// HalfOpenErrorRate specifies the threshold error rate (0.0 to 1.0) in the half-open state that causes the circuit breaker to reopen.
HalfOpenErrorRate float32 `json:"half_open_error_rate,omitempty" yaml:"half_open_error_rate"`
}
CircuitBreaker represents the configuration for the internal circuitbreaker package.
func (*CircuitBreaker) Bind ¶ added in v1.6.0
func (cb *CircuitBreaker) Bind() *CircuitBreaker
type Client ¶
type Client struct {
// Net represents the network configuration.
Net *Net `json:"net" yaml:"net"`
// Transport represents the transport configuration.
Transport *Transport `json:"transport" yaml:"transport"`
}
Client represents the Client configurations.
type CloudStorageClient ¶ added in v1.1.0
type CloudStorageClient struct {
// CredentialsFilePath represents the path to the credentials file.
CredentialsFilePath string `json:"credentials_file_path" yaml:"credentials_file_path"`
// CredentialsJSON represents the credentials JSON string.
CredentialsJSON string `json:"credentials_json" yaml:"credentials_json"`
}
CloudStorageClient represents CloudStorage client configuration.
func (*CloudStorageClient) Bind ¶ added in v1.7.17
func (csc *CloudStorageClient) Bind() *CloudStorageClient
Bind binds the actual data from the CloudStorageClient receiver fields.
type CloudStorageConfig ¶ added in v1.1.0
type CloudStorageConfig struct {
// Client represents the CloudStorage client configuration.
Client *CloudStorageClient `json:"client" yaml:"client"`
// URL represents the storage URL.
URL string `json:"url" yaml:"url"`
// WriteCacheControl represents the cache control header.
WriteCacheControl string `json:"write_cache_control" yaml:"write_cache_control"`
// WriteContentDisposition represents the content disposition header.
WriteContentDisposition string `json:"write_content_disposition" yaml:"write_content_disposition"`
// WriteContentEncoding represents the content encoding header.
WriteContentEncoding string `json:"write_content_encoding" yaml:"write_content_encoding"`
// WriteContentLanguage represents the content language header.
WriteContentLanguage string `json:"write_content_language" yaml:"write_content_language"`
// WriteContentType represents the content type header.
WriteContentType string `json:"write_content_type" yaml:"write_content_type"`
// WriteBufferSize represents the write buffer size.
WriteBufferSize int `json:"write_buffer_size" yaml:"write_buffer_size"`
}
CloudStorageConfig represents CloudStorage configuration.
func (*CloudStorageConfig) Bind ¶ added in v1.1.0
func (c *CloudStorageConfig) Bind() *CloudStorageConfig
type CompressAlgorithm ¶
type CompressAlgorithm uint8
CompressAlgorithm is an enum for compress algorithm.
const ( // GOB represents gob algorithm. GOB CompressAlgorithm = 1 + iota // GZIP represents gzip algorithm. GZIP // LZ4 represents lz4 algorithm. LZ4 // ZSTD represents zstd algorithm. ZSTD )
func AToCompressAlgorithm ¶ added in v1.7.0
func AToCompressAlgorithm(ca string) CompressAlgorithm
AToCompressAlgorithm returns CompressAlgorithm converted from string.
func (CompressAlgorithm) String ¶ added in v1.7.0
func (ca CompressAlgorithm) String() string
String returns compress algorithm.
type CompressCore ¶ added in v0.0.38
type CompressCore struct {
// CompressorAlgorithm represents compression algorithm type
CompressAlgorithm string `json:"compress_algorithm" yaml:"compress_algorithm"`
// CompressionLevel represents compression level
CompressionLevel int `json:"compression_level" yaml:"compression_level"`
}
CompressCore represents CompressCore configuration.
func (*CompressCore) Bind ¶ added in v0.0.38
func (c *CompressCore) Bind() *CompressCore
Bind binds the actual data from the receiver field.
type Compressor ¶
type Compressor struct {
// QueueCheckDuration represents queue check duration.
QueueCheckDuration string `json:"queue_check_duration" yaml:"queue_check_duration"`
CompressCore ` json:",inline" yaml:",inline"`
// ConcurrentLimit represents concurrent limit.
ConcurrentLimit int `json:"concurrent_limit" yaml:"concurrent_limit"`
}
Compressor represents Compressor configuration.
func (*Compressor) Bind ¶
func (c *Compressor) Bind() *Compressor
Bind binds the actual data from the Compressor receiver field.
type CompressorRegisterer ¶ added in v0.0.28
type CompressorRegisterer struct {
// Compressor represents compressor configuration.
Compressor *BackupManager `json:"compressor" yaml:"compressor"`
// QueueCheckDuration represents queue check duration.
QueueCheckDuration string `json:"queue_check_duration" yaml:"queue_check_duration"`
// ConcurrentLimit represents concurrent limit.
ConcurrentLimit int `json:"concurrent_limit" yaml:"concurrent_limit"`
}
CompressorRegisterer represents CompressorRegisterer configuration.
func (*CompressorRegisterer) Bind ¶ added in v0.0.28
func (cr *CompressorRegisterer) Bind() *CompressorRegisterer
Bind binds the actual data from the CompressorRegisterer receiver field.
type ConnectionPool ¶ added in v0.0.27
type ConnectionPool struct {
// RebalanceDuration represents the rebalance duration.
RebalanceDuration string `json:"rebalance_duration" yaml:"rebalance_duration"`
// OldConnCloseDuration represents the old connection close duration.
OldConnCloseDuration string `json:"old_conn_close_duration" yaml:"old_conn_close_duration"`
// Size represents the pool size.
Size int `json:"size" yaml:"size"`
// ResolveDNS enables DNS resolution.
ResolveDNS bool `json:"enable_dns_resolver" yaml:"enable_dns_resolver"`
// EnableRebalance enables rebalance.
EnableRebalance bool `json:"enable_rebalance" yaml:"enable_rebalance"`
// EnableMetrics enables pool connection metrics.
EnableMetrics bool `json:"enable_metrics" yaml:"enable_metrics"`
}
ConnectionPool represents the configurations for connection pool.
func (*ConnectionPool) Bind ¶ added in v1.7.17
func (cp *ConnectionPool) Bind() *ConnectionPool
Bind binds the actual data from the ConnectionPool receiver fields.
type Corrector ¶ added in v1.7.9
type Corrector struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// Gateway represents the gateway client configuration.
Gateway *GRPCClient `json:"gateway" yaml:"gateway"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// KVSBackgroundSyncInterval represents the interval for KVS background synchronization.
KVSBackgroundSyncInterval string `json:"kvs_background_sync_interval" yaml:"kvs_background_sync_interval"`
// KVSBackgroundCompactionInterval represents the interval for KVS background compaction.
KVSBackgroundCompactionInterval string `json:"kvs_background_compaction_interval" yaml:"kvs_background_compaction_interval"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// StreamListConcurrency represents the stream list concurrency.
StreamListConcurrency int `json:"stream_list_concurrency" yaml:"stream_list_concurrency"`
// IndexReplica represents the index replica count.
IndexReplica int `json:"index_replica" yaml:"index_replica"`
}
Corrector represents the index correction configurations.
type DNS ¶
type DNS struct {
// RefreshDuration represents the refresh duration.
RefreshDuration string `json:"refresh_duration,omitempty" yaml:"refresh_duration"`
// CacheExpiration represents the cache expiration duration.
CacheExpiration string `json:"cache_expiration,omitempty" yaml:"cache_expiration"`
// CacheEnabled enables DNS cache.
CacheEnabled bool `json:"cache_enabled,omitempty" yaml:"cache_enabled"`
}
DNS represents the configuration for resolving DNS.
type DialOption ¶
type DialOption struct {
// Keepalive represents the keepalive configuration.
Keepalive *GRPCClientKeepalive `json:"keepalive,omitempty" yaml:"keepalive"`
// Net represents the network configuration.
Net *Net `json:"net,omitempty" yaml:"net"`
// Authority represents the authority.
Authority string `json:"authority,omitempty" yaml:"authority"`
// UserAgent represents the user agent.
UserAgent string `json:"user_agent,omitempty" yaml:"user_agent"`
// Timeout represents the timeout duration.
Timeout string `json:"timeout,omitempty" yaml:"timeout"`
// MinimumConnectionTimeout represents the minimum connection timeout.
MinimumConnectionTimeout string `json:"min_connection_timeout,omitempty" yaml:"min_connection_timeout"`
// IdleTimeout represents the idle timeout.
IdleTimeout string `json:"idle_timeout,omitempty" yaml:"idle_timeout"`
// BackoffMaxDelay represents the backoff maximum delay.
BackoffMaxDelay string `json:"backoff_max_delay,omitempty" yaml:"backoff_max_delay"`
// BackoffBaseDelay represents the backoff base delay.
BackoffBaseDelay string `json:"backoff_base_delay,omitempty" yaml:"backoff_base_delay"`
// Interceptors represents the interceptors.
Interceptors []string `json:"interceptors,omitempty" yaml:"interceptors"`
// WriteBufferSize represents the write buffer size.
WriteBufferSize int `json:"write_buffer_size,omitempty" yaml:"write_buffer_size"`
// BackoffJitter represents the backoff jitter.
BackoffJitter float64 `json:"backoff_jitter,omitempty" yaml:"backoff_jitter"`
// BackoffMultiplier represents the backoff multiplier.
BackoffMultiplier float64 `json:"backoff_multiplier,omitempty" yaml:"backoff_multiplier"`
// ReadBufferSize represents the read buffer size.
ReadBufferSize int `json:"read_buffer_size,omitempty" yaml:"read_buffer_size"`
// MaxMsgSize represents the maximum message size.
MaxMsgSize int `json:"max_msg_size,omitempty" yaml:"max_msg_size"`
// MaxCallAttempts represents the maximum call attempts.
MaxCallAttempts int `json:"max_call_attempts,omitempty" yaml:"max_call_attempts"`
// MaxHeaderListSize represents the maximum header list size.
MaxHeaderListSize uint32 `json:"max_header_list_size,omitempty" yaml:"max_header_list_size"`
// InitialWindowSize represents the initial window size.
InitialWindowSize int32 `json:"initial_window_size,omitempty" yaml:"initial_window_size"`
// InitialConnectionWindowSize represents the initial connection window size.
InitialConnectionWindowSize int32 `json:"initial_connection_window_size,omitempty" yaml:"initial_connection_window_size"`
// DisableRetry disables retry.
DisableRetry bool `json:"disable_retry,omitempty" yaml:"disable_retry"`
SharedWriteBuffer bool `json:"shared_write_buffer,omitempty" yaml:"shared_write_buffer"`
// Insecure enables insecure mode.
Insecure bool `json:"insecure,omitempty" yaml:"insecure"`
// EnableBackoff enables backoff.
EnableBackoff bool `json:"enable_backoff,omitempty" yaml:"enable_backoff"`
}
DialOption represents the configurations for dial option.
func (*DialOption) Bind ¶
func (d *DialOption) Bind() *DialOption
Bind binds the actual data from the DialOption receiver fields.
type Dialer ¶
type Dialer struct {
// Timeout represents the dial timeout duration.
Timeout string `json:"timeout,omitempty" yaml:"timeout"`
// Keepalive represents the keepalive duration.
Keepalive string `json:"keepalive,omitempty" yaml:"keepalive"`
// FallbackDelay represents the fallback delay duration.
FallbackDelay string `json:"fallback_delay,omitempty" yaml:"fallback_delay"`
// DualStackEnabled enables dual stack.
DualStackEnabled bool `json:"dual_stack_enabled,omitempty" yaml:"dual_stack_enabled"`
}
Dialer represents the configuration for dial.
type Discoverer ¶
type Discoverer struct {
// Net represents the network configuration.
Net *Net `json:"net,omitempty" yaml:"net"`
// Selectors represents the selector configuration.
Selectors *Selectors `json:"selectors,omitempty" yaml:"selectors"`
// Name represents the discoverer name.
Name string `json:"name,omitempty" yaml:"name"`
// Namespace represents the namespace.
Namespace string `json:"namespace,omitempty" yaml:"namespace"`
// DiscoveryDuration represents the discovery duration.
DiscoveryDuration string `json:"discovery_duration,omitempty" yaml:"discovery_duration"`
}
Discoverer represents the Discoverer configurations.
func (*Discoverer) Bind ¶
func (d *Discoverer) Bind() *Discoverer
Bind binds the actual data from the Discoverer receiver field.
type DiscovererClient ¶ added in v0.0.5
type DiscovererClient struct {
// Client represents the client configuration.
Client *GRPCClient `json:"client" yaml:"client"`
// AgentClientOptions represents the agent client options.
AgentClientOptions *GRPCClient `json:"agent_client_options" yaml:"agent_client_options"`
// Duration represents the duration.
Duration string `json:"duration" yaml:"duration"`
}
DiscovererClient represents the DiscovererClient configurations.
func (*DiscovererClient) Bind ¶ added in v0.0.5
func (d *DiscovererClient) Bind() *DiscovererClient
Bind binds the actual data from the DiscovererClient receiver field.
type EgressFilter ¶
type EgressFilter struct {
// Client represents the client configuration.
Client *GRPCClient `json:"client,omitempty" yaml:"client"`
// DistanceFilters represents the distance filters.
DistanceFilters []string `json:"distance_filters,omitempty" yaml:"distance_filters"`
// ObjectFilters represents the object filters.
ObjectFilters []string `json:"object_filters,omitempty" yaml:"object_filters"`
}
EgressFilter represents the EgressFilter configuration.
func (*EgressFilter) Bind ¶
func (e *EgressFilter) Bind() *EgressFilter
Bind binds the actual data from the EgressFilter receiver field.
type Faiss ¶ added in v1.7.11
type Faiss struct {
// VQueue represents the vector queue configuration.
VQueue *VQueue `json:"vqueue,omitempty" yaml:"vqueue"`
// KVSDB represents the KVS DB configuration.
KVSDB *KVSDB `json:"kvsdb,omitempty" yaml:"kvsdb"`
// AutoIndexDurationLimit represents the auto index duration limit.
AutoIndexDurationLimit string `json:"auto_index_duration_limit,omitempty" yaml:"auto_index_duration_limit"`
// InitialDelayMaxDuration represents the initial delay maximum duration.
InitialDelayMaxDuration string `json:"initial_delay_max_duration,omitempty" yaml:"initial_delay_max_duration"`
// LoadIndexTimeoutFactor represents the load index timeout factor.
LoadIndexTimeoutFactor string `json:"load_index_timeout_factor,omitempty" yaml:"load_index_timeout_factor"`
// MethodType represents the method type.
MethodType string `json:"method_type,omitempty" yaml:"method_type" info:"method_type"`
// MetricType represents the metric type.
MetricType string `json:"metric_type,omitempty" yaml:"metric_type" info:"metric_type"`
// MaxLoadIndexTimeout represents the maximum load index timeout.
MaxLoadIndexTimeout string `json:"max_load_index_timeout,omitempty" yaml:"max_load_index_timeout"`
// AutoIndexCheckDuration represents the auto index check duration.
AutoIndexCheckDuration string `json:"auto_index_check_duration,omitempty" yaml:"auto_index_check_duration"`
// AutoSaveIndexDuration represents the auto save index duration.
AutoSaveIndexDuration string `json:"auto_save_index_duration,omitempty" yaml:"auto_save_index_duration"`
// IndexPath represents the index path.
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// MinLoadIndexTimeout represents the minimum load index timeout.
MinLoadIndexTimeout string `json:"min_load_index_timeout,omitempty" yaml:"min_load_index_timeout"`
// AutoIndexLength represents the auto index length.
AutoIndexLength int `json:"auto_index_length,omitempty" yaml:"auto_index_length"`
// M represents the number of neighbors for graph construction.
M int `json:"m,omitempty" yaml:"m" info:"m"`
// NbitsPerIdx represents the number of bits per index.
NbitsPerIdx int `json:"nbits_per_idx,omitempty" yaml:"nbits_per_idx" info:"nbits_per_idx"`
// Nlist represents the number of cells.
Nlist int `json:"nlist,omitempty" yaml:"nlist" info:"nlist"`
// Dimension represents the dimension of the vector.
Dimension int `json:"dimension,omitempty" yaml:"dimension" info:"dimension"`
// EnableInMemoryMode enables in-memory mode.
EnableInMemoryMode bool `json:"enable_in_memory_mode,omitempty" yaml:"enable_in_memory_mode"`
// EnableProactiveGC enables proactive GC.
EnableProactiveGC bool `json:"enable_proactive_gc,omitempty" yaml:"enable_proactive_gc"`
// EnableCopyOnWrite enables copy on write.
EnableCopyOnWrite bool `json:"enable_copy_on_write,omitempty" yaml:"enable_copy_on_write"`
}
Faiss represent the faiss core configuration for server.
type FilterConfig ¶ added in v1.7.11
type FilterConfig struct {
// Targets represents the list of filter targets.
Targets []*FilterTarget `json:"target,omitempty" yaml:"target"`
}
FilterConfig defines the desired state of filter config.
func (*FilterConfig) Bind ¶ added in v1.7.11
func (cfg *FilterConfig) Bind() *FilterConfig
type FilterTarget ¶ added in v1.7.11
type FilterTarget struct {
// Host represents the host.
Host string `json:"host,omitempty" yaml:"host"`
// Port represents the port.
Port int32 `json:"port,omitempty" yaml:"port"`
}
FilterTarget defines the desired state of filter target.
func (*FilterTarget) Bind ¶ added in v1.7.11
func (cfg *FilterTarget) Bind() *FilterTarget
type GRPC ¶
type GRPC struct {
// Keepalive represents the gRPC keepalive configuration.
Keepalive *GRPCKeepalive `json:"keepalive,omitempty" yaml:"keepalive"`
// ConnectionTimeout represents the gRPC connection timeout duration.
ConnectionTimeout string `json:"connection_timeout,omitempty" yaml:"connection_timeout"`
// Interceptors represents the list of gRPC interceptors.
Interceptors []string `json:"interceptors,omitempty" yaml:"interceptors"`
// InitialConnWindowSize represents the initial connection window size.
InitialConnWindowSize int `json:"initial_conn_window_size,omitempty" yaml:"initial_conn_window_size"`
// WriteBufferSize represents the write buffer size.
WriteBufferSize int `json:"write_buffer_size,omitempty" yaml:"write_buffer_size"`
// ReadBufferSize represents the read buffer size.
ReadBufferSize int `json:"read_buffer_size,omitempty" yaml:"read_buffer_size"`
// MaxSendMessageSize represents the maximum send message size.
MaxSendMessageSize int `json:"max_send_message_size,omitempty" yaml:"max_send_message_size"`
// MaxReceiveMessageSize represents the maximum receive message size.
MaxReceiveMessageSize int `json:"max_receive_message_size,omitempty" yaml:"max_receive_message_size"`
// InitialWindowSize represents the initial window size.
InitialWindowSize int `json:"initial_window_size,omitempty" yaml:"initial_window_size"`
// BidirectionalStreamConcurrency represents the bidirectional stream concurrency limit.
BidirectionalStreamConcurrency int `json:"bidirectional_stream_concurrency,omitempty" yaml:"bidirectional_stream_concurrency"`
// NumStreamWorkers represents the number of stream workers.
NumStreamWorkers uint32 `json:"num_stream_workers,omitempty" yaml:"num_stream_workers"`
// MaxHeaderListSize represents the maximum header list size.
MaxHeaderListSize uint32 `json:"max_header_list_size,omitempty" yaml:"max_header_list_size"`
// MaxConcurrentStreams represents the maximum concurrent streams.
MaxConcurrentStreams uint32 `json:"max_concurrent_streams,omitempty" yaml:"max_concurrent_streams"`
// HeaderTableSize represents the header table size.
HeaderTableSize uint32 `json:"header_table_size,omitempty" yaml:"header_table_size"`
// EnableAdmin enables the admin service.
EnableAdmin bool `json:"enable_admin,omitempty" yaml:"enable_admin"`
// WaitForHandlers waits for handlers to finish.
WaitForHandlers bool `json:"wait_for_handlers,omitempty" yaml:"wait_for_handlers"`
SharedWriteBuffer bool `json:"shared_write_buffer,omitempty" yaml:"shared_write_buffer"`
// EnableReflection enables the reflection service.
EnableReflection bool `json:"enable_reflection,omitempty" yaml:"enable_reflection"`
// EnableChannelz enables the channelz service.
EnableChannelz bool `json:"enable_channelz,omitempty" yaml:"enable_channelz"`
}
GRPC represents the configuration for gPRC.
type GRPCClient ¶
type GRPCClient struct {
// ConnectionPool represents the connection pool configuration.
ConnectionPool *ConnectionPool `json:"connection_pool" yaml:"connection_pool"`
// Backoff represents the backoff configuration.
Backoff *Backoff `json:"backoff" yaml:"backoff"`
// CircuitBreaker represents the circuit breaker configuration.
CircuitBreaker *CircuitBreaker `json:"circuit_breaker" yaml:"circuit_breaker"`
// CallOption represents the call option configuration.
CallOption *CallOption `json:"call_option" yaml:"call_option"`
// DialOption represents the dial option configuration.
DialOption *DialOption `json:"dial_option" yaml:"dial_option"`
// TLS represents the TLS configuration.
TLS *TLS `json:"tls" yaml:"tls"`
// HealthCheckDuration represents the health check duration.
HealthCheckDuration string `json:"health_check_duration" yaml:"health_check_duration"`
// Addrs represents the list of addresses.
Addrs []string `json:"addrs" yaml:"addrs"`
}
GRPCClient represents the configurations for gRPC client.
func (*GRPCClient) Bind ¶
func (g *GRPCClient) Bind() *GRPCClient
Bind binds the actual data from the GRPCClient receiver fields.
type GRPCClientKeepalive ¶
type GRPCClientKeepalive struct {
// Time represents the time duration.
Time string `json:"time" yaml:"time"`
// Timeout represents the timeout duration.
Timeout string `json:"timeout" yaml:"timeout"`
// PermitWithoutStream enables permit without stream.
PermitWithoutStream bool `json:"permit_without_stream" yaml:"permit_without_stream"`
}
GRPCClientKeepalive represents the configurations for gRPC keep-alive.
func (*GRPCClientKeepalive) Bind ¶
func (g *GRPCClientKeepalive) Bind() *GRPCClientKeepalive
Bind binds the actual data from the GRPCClientKeepalive receiver fields.
type GRPCKeepalive ¶
type GRPCKeepalive struct {
// MaxConnIdle represents the maximum amount of time a connection may be idle.
MaxConnIdle string `json:"max_conn_idle" yaml:"max_conn_idle"`
// MaxConnAge represents the maximum amount of time a connection may exist.
MaxConnAge string `json:"max_conn_age" yaml:"max_conn_age"`
// MaxConnAgeGrace represents the additive period after MaxConnAge after which the connection will be forcibly closed.
MaxConnAgeGrace string `json:"max_conn_age_grace" yaml:"max_conn_age_grace"`
// Time represents the duration after which if the client doesn't see any activity it pings the server to see if the transport is still alive.
Time string `json:"time" yaml:"time"`
// Timeout represents the duration that the client waits for a ping response.
Timeout string `json:"timeout" yaml:"timeout"`
// MinTime represents the minimum amount of time a client should wait before sending a keepalive ping.
MinTime string `json:"min_time" yaml:"min_time"`
// PermitWithoutStream if true, client can send keepalive pings even with no active RPCs.
PermitWithoutStream bool `json:"permit_without_stream" yaml:"permit_without_stream"`
}
GRPCKeepalive represents the configuration for gRPC keep-alive.
func (*GRPCKeepalive) Bind ¶
func (k *GRPCKeepalive) Bind() *GRPCKeepalive
Bind binds the actual value from the GRPCKeepalive struct field.
type Gateway ¶
type Gateway struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// Meta represents the metadata configuration.
Meta *Meta `json:"meta" yaml:"meta"`
// BackupManager represents the backup manager configuration.
BackupManager *BackupManager `json:"backup" yaml:"backup"`
// EgressFilter represents the egress filter configuration.
EgressFilter *EgressFilter `json:"egress_filter" yaml:"egress_filter"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// IndexReplica represents the index replica count.
IndexReplica int `json:"index_replica" yaml:"index_replica"`
}
Gateway represents the list of configurations for gateway.
type GlobalConfig ¶ added in v0.0.2
type GlobalConfig struct {
// Logging represents the logging configuration.
Logging *Logging `json:"logging,omitempty" yaml:"logging,omitempty"`
// Version represents the configuration file version.
Version string `json:"version" yaml:"version"`
// TZ represents the system time zone.
TZ string `json:"time_zone" yaml:"time_zone"`
}
GlobalConfig represent a application setting data content (config.yaml).
func (*GlobalConfig) Bind ¶ added in v0.0.2
func (c *GlobalConfig) Bind() *GlobalConfig
Bind binds the actual data from the receiver field.
type HTTP ¶
type HTTP struct {
// HTTP2 represents the configuration for HTTP2.
HTTP2 *HTTP2 `json:"http2" yaml:"http2"`
// ShutdownDuration represents the duration for the http server to shutdown.
ShutdownDuration string `json:"shutdown_duration" yaml:"shutdown_duration"`
// HandlerTimeout represents the timeout duration for http handlers.
HandlerTimeout string `json:"handler_timeout" yaml:"handler_timeout"`
// IdleTimeout represents the maximum amount of time to wait for the next request when keep-alives are enabled.
IdleTimeout string `json:"idle_timeout" yaml:"idle_timeout"`
// ReadHeaderTimeout represents the amount of time allowed to read request headers.
ReadHeaderTimeout string `json:"read_header_timeout" yaml:"read_header_timeout"`
// ReadTimeout represents the maximum duration for reading the entire request, including the body.
ReadTimeout string `json:"read_timeout" yaml:"read_timeout"`
// WriteTimeout represents the maximum duration before timing out writes of the response.
WriteTimeout string `json:"write_timeout" yaml:"write_timeout"`
}
HTTP represents the configuration for HTTP.
type HTTP2 ¶ added in v1.7.14
type HTTP2 struct {
// HandlerLimit represents the limit of handlers.
HandlerLimit int `json:"handler_limit,omitempty" yaml:"handler_limit"`
// Enabled enables HTTP2.
Enabled bool `json:"enabled,omitempty" yaml:"enabled"`
// PermitProhibitedCipherSuites enables prohibited cipher suites.
PermitProhibitedCipherSuites bool `json:"permit_prohibited_cipher_suites,omitempty" yaml:"permit_prohibited_cipher_suites"`
// MaxUploadBufferPerConnection represents the maximum upload buffer per connection.
MaxUploadBufferPerConnection int32 `json:"max_upload_buffer_per_connection,omitempty" yaml:"max_upload_buffer_per_connection"`
// MaxUploadBufferPerStream represents the maximum upload buffer per stream.
MaxUploadBufferPerStream int32 `json:"max_upload_buffer_per_stream,omitempty" yaml:"max_upload_buffer_per_stream"`
// MaxConcurrentStreams represents the maximum concurrent streams.
MaxConcurrentStreams uint32 `json:"max_concurrent_streams,omitempty" yaml:"max_concurrent_streams"`
// MaxDecoderHeaderTableSize represents the maximum decoder header table size.
MaxDecoderHeaderTableSize uint32 `json:"max_decoder_header_table_size,omitempty" yaml:"max_decoder_header_table_size"`
// MaxEncoderHeaderTableSize represents the maximum encoder header table size.
MaxEncoderHeaderTableSize uint32 `json:"max_encoder_header_table_size,omitempty" yaml:"max_encoder_header_table_size"`
// MaxReadFrameSize represents the maximum read frame size.
MaxReadFrameSize uint32 `json:"max_read_frame_size,omitempty" yaml:"max_read_frame_size"`
}
HTTP2 represents the configuration for HTTP2.
type HostFilter ¶ added in v0.0.34
type HostFilter struct {
// DataCenter represents the data center name.
DataCenter string `json:"data_center" yaml:"data_center"`
// WhiteList represents the white list.
WhiteList []string `json:"white_list" yaml:"white_list"`
// Enabled enables host filter.
Enabled bool `json:"enabled"`
}
HostFilter represents the configuration for the host filter.
func (*HostFilter) Bind ¶ added in v1.7.17
func (hf *HostFilter) Bind() *HostFilter
Bind binds the actual data from the HostFilter receiver fields.
type IndexCreation ¶ added in v1.7.9
type IndexCreation struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// TargetAddrs represents the target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// Concurrency represents the concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// CreationPoolSize represents the creation pool size.
CreationPoolSize uint32 `json:"creation_pool_size" yaml:"creation_pool_size"`
}
IndexCreation represents the configurations for index creation.
func (*IndexCreation) Bind ¶ added in v1.7.9
func (ic *IndexCreation) Bind() *IndexCreation
type IndexDeleter ¶ added in v1.7.15
type IndexDeleter struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// IndexID represents the index ID.
IndexID string `json:"index_id" yaml:"index_id"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// TargetAddrs represents the target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// Concurrency represents the concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// DeletionPoolSize represents the deletion pool size.
DeletionPoolSize uint32 `json:"deletion_pool_size" yaml:"deletion_pool_size"`
}
IndexDeleter represents the configurations for index deletion.
func (*IndexDeleter) Bind ¶ added in v1.7.15
func (ic *IndexDeleter) Bind() *IndexDeleter
type IndexExporter ¶ added in v1.7.17
type IndexExporter struct {
// Gateway represents the gateway client configuration.
Gateway *GRPCClient `json:"gateway" yaml:"gateway"`
// KVSBackgroundSyncInterval represents the KVS background sync interval.
KVSBackgroundSyncInterval string `json:"kvs_background_sync_interval" yaml:"kvs_background_sync_interval"`
// KVSBackgroundCompactionInterval represents the KVS background compaction interval.
KVSBackgroundCompactionInterval string `json:"kvs_background_compaction_interval" yaml:"kvs_background_compaction_interval"`
// IndexPath represents the index path.
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// Concurrency represents the concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
}
IndexExporter represents the configurations for index exportation.
func (*IndexExporter) Bind ¶ added in v1.7.17
func (e *IndexExporter) Bind() *IndexExporter
type IndexJobTemplates ¶ added in v1.7.13
type IndexJobTemplates struct {
// Rotate represents the rotate job template.
Rotate *k8s.Job `json:"rotate" yaml:"rotate"`
// Creation represents the creation job template.
Creation *k8s.Job `json:"creation" yaml:"creation"`
// Save represents the save job template.
Save *k8s.Job `json:"save" yaml:"save"`
// Correction represents the correction job template.
Correction *k8s.Job `json:"correction" yaml:"correction"`
}
func (*IndexJobTemplates) Bind ¶ added in v1.7.17
func (ijt *IndexJobTemplates) Bind() *IndexJobTemplates
Bind binds the actual data from the IndexJobTemplates receiver fields.
type IndexOperator ¶ added in v1.7.13
type IndexOperator struct {
// JobTemplates represents the job templates.
JobTemplates IndexJobTemplates `json:"job_templates" yaml:"job_templates"`
// Namespace represents the namespace.
Namespace string `json:"namespace" yaml:"namespace"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// RotatorName represents the rotator name.
RotatorName string `json:"rotator_name" yaml:"rotator_name"`
// TargetReadReplicaIDAnnotationsKey represents the target read replica ID annotations key.
TargetReadReplicaIDAnnotationsKey string `json:"target_read_replica_id_annotations_key" yaml:"target_read_replica_id_annotations_key"`
// ReadReplicaLabelKey represents the read replica label key.
ReadReplicaLabelKey string `json:"read_replica_label_key" yaml:"read_replica_label_key"`
// RotationJobConcurrency represents the rotation job concurrency.
RotationJobConcurrency uint `json:"rotation_job_concurrency" yaml:"rotation_job_concurrency"`
// ReadReplicaEnabled enables read replica.
ReadReplicaEnabled bool `json:"read_replica_enabled" yaml:"read_replica_enabled"`
}
IndexOperator represents the configurations for index k8s operator.
func (*IndexOperator) Bind ¶ added in v1.7.13
func (ic *IndexOperator) Bind() *IndexOperator
type IndexSave ¶ added in v1.7.9
type IndexSave struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// TargetAddrs represents the target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// Concurrency represents the concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
}
IndexSave represents the configurations for index save.
type Indexer ¶ added in v0.0.5
type Indexer struct {
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// AutoSaveIndexDurationLimit represents the auto save index duration limit.
AutoSaveIndexDurationLimit string `json:"auto_save_index_duration_limit" yaml:"auto_save_index_duration_limit"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// AutoIndexDurationLimit represents the auto index duration limit.
AutoIndexDurationLimit string `json:"auto_index_duration_limit" yaml:"auto_index_duration_limit"`
// AutoSaveIndexWaitDuration represents the auto save index wait duration.
AutoSaveIndexWaitDuration string `json:"auto_save_index_wait_duration" yaml:"auto_save_index_wait_duration"`
// AutoIndexCheckDuration represents the auto index check duration.
AutoIndexCheckDuration string `json:"auto_index_check_duration" yaml:"auto_index_check_duration"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// Concurrency represents the concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AutoIndexLength represents the auto index length.
AutoIndexLength uint32 `json:"auto_index_length" yaml:"auto_index_length"`
// CreationPoolSize represents the creation pool size.
CreationPoolSize uint32 `json:"creation_pool_size" yaml:"creation_pool_size"`
}
Indexer represents the Indexer configurations.
type IngressFilter ¶ added in v1.0.0
type IngressFilter struct {
// Client represents the client configuration.
Client *GRPCClient `json:"client,omitempty" yaml:"client"`
// Vectorizer represents the vectorizer.
Vectorizer string `json:"vectorizer,omitempty" yaml:"vectorizer"`
// SearchFilters represents the search filters.
SearchFilters []string `json:"search_filters,omitempty" yaml:"search_filters"`
// InsertFilters represents the insert filters.
InsertFilters []string `json:"insert_filters,omitempty" yaml:"insert_filters"`
// UpdateFilters represents the update filters.
UpdateFilters []string `json:"update_filters,omitempty" yaml:"update_filters"`
// UpsertFilters represents the upsert filters.
UpsertFilters []string `json:"upsert_filters,omitempty" yaml:"upsert_filters"`
}
IngressFilter represents the IngressFilter configuration.
func (*IngressFilter) Bind ¶ added in v1.0.0
func (i *IngressFilter) Bind() *IngressFilter
Bind binds the actual data from the IngressFilter receiver field.
type InsertConfig ¶ added in v1.7.11
type InsertConfig struct {
// Timestamp represents the timestamp.
Timestamp string `json:"timestamp,omitempty"`
// SkipStrictExistCheck enables skipping strict existence check.
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
}
InsertConfig defines the desired state of insert config.
func (*InsertConfig) Bind ¶ added in v1.7.11
func (cfg *InsertConfig) Bind() *InsertConfig
type KVSDB ¶ added in v1.2.1
type KVSDB struct {
// Concurrency represents kvsdb range loop processing concurrency
Concurrency int `json:"concurrency,omitempty" yaml:"concurrency,omitempty"`
}
KVSDB represent the ngt vector bidirectional kv store configuration.
type LB ¶ added in v1.0.0
type LB struct {
// ReadReplicaClient represents the read replica client configuration.
ReadReplicaClient ReadReplicaClient `json:"read_replica_client" yaml:"read_replica_client"`
// Discoverer represents the discoverer client configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// AgentName represents the agent name.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represents the agent DNS.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// AgentPort represents the agent port.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// IndexReplica represents the index replica count.
IndexReplica int `json:"index_replica" yaml:"index_replica"`
// ReadReplicaReplicas represents the read replica replicas count.
ReadReplicaReplicas uint64 `json:"read_replica_replicas" yaml:"read_replica_replicas"`
// MultiOperationConcurrency represents the multi operation concurrency.
MultiOperationConcurrency int `json:"multi_operation_concurrency" yaml:"multi_operation_concurrency"`
}
LB represents the configuration for load balancer.
type Logging ¶ added in v0.0.2
type Logging struct {
// Logger represents the logger name.
Logger string `json:"logger" yaml:"logger"`
// Level represents the log level.
Level string `json:"level" yaml:"level"`
// Format represents the log format.
Format string `json:"format" yaml:"format"`
}
Logging represents Logging configuration.
type Meta ¶
type Meta struct {
// Client represents the gRPC client configuration.
Client *GRPCClient `json:"client" yaml:"client"`
// Host represents the host.
Host string `json:"host" yaml:"host"`
// CacheExpiration represents the cache expiration duration.
CacheExpiration string `json:"cache_expiration" yaml:"cache_expiration"`
// ExpiredCacheCheckDuration represents the expired cache check duration.
ExpiredCacheCheckDuration string `json:"expired_cache_check_duration" yaml:"expired_cache_check_duration"`
// Port represents the port number.
Port uint16 `json:"port" yaml:"port"`
// EnableCache enables cache.
EnableCache bool `json:"enable_cache" yaml:"enable_cache"`
}
Meta represents the configurations for vald meta.
type Metrics ¶ added in v0.0.19
type Metrics struct {
// VersionInfoLabels represents the version info labels.
VersionInfoLabels []string `json:"version_info_labels" yaml:"version_info_labels"`
// EnableVersionInfo enables version info metrics.
EnableVersionInfo bool `json:"enable_version_info" yaml:"enable_version_info"`
// EnableMemory enables memory metrics.
EnableMemory bool `json:"enable_memory" yaml:"enable_memory"`
// EnableGoroutine enables goroutine metrics.
EnableGoroutine bool `json:"enable_goroutine" yaml:"enable_goroutine"`
// EnableCGO enables cgo metrics.
EnableCGO bool `json:"enable_cgo" yaml:"enable_cgo"`
}
Metrics represents the configuration for the metrics.
type Mirror ¶ added in v1.7.11
type Mirror struct {
// Net represents the network configuration tcp, udp, unix domain socket.
Net *Net `json:"net,omitempty" yaml:"net"`
// GRPCClient represents the configurations for gRPC client.
Client *GRPCClient `json:"client" yaml:"client"`
// SelfMirrorAddr represents the address for the self Mirror Gateway.
SelfMirrorAddr string `json:"self_mirror_addr" yaml:"self_mirror_addr"`
// GatewayAddr represents the address for the Vald Gateway (e.g lb-gateway).
GatewayAddr string `json:"gateway_addr" yaml:"gateway_addr"`
// PodName represents the mirror gateway pod name.
PodName string `json:"pod_name" yaml:"pod_name"`
// RegisterDuration represents the duration to register Mirror Gateway.
RegisterDuration string `json:"register_duration" yaml:"register_duration"`
// Namespace represents the target namespace to discover ValdMirrorTarget resource.
Namespace string `json:"namespace" yaml:"namespace"`
// DiscoveryDuration represents the duration to discover.
DiscoveryDuration string `json:"discovery_duration" yaml:"discovery_duration"`
// Colocation represents the colocation name.
Colocation string `json:"colocation" yaml:"colocation"`
// Group represents the group name of the Mirror Gateways.
// It is used to discover ValdMirrorTarget resources with the same group name.
Group string `json:"group" yaml:"group"`
}
Mirror represents the Mirror Gateway configuration.
type MySQL ¶
type MySQL struct {
// TLS represents the TLS configuration.
TLS *TLS `json:"tls" yaml:"tls"`
// Net represents the network configuration.
Net *Net `json:"net" yaml:"net"`
// ConnMaxLifeTime specifies the maximum amount of time a connection may be reused.
ConnMaxLifeTime string `json:"conn_max_life_time" yaml:"conn_max_life_time"`
// Timezone specifies the timezone for the database connection (e.g. "Asia/Tokyo").
Timezone string `json:"timezone" yaml:"timezone"`
// Network specifies the network type (e.g., "tcp", "unix").
Network string `json:"network" yaml:"network"`
// User specifies the username for authentication.
User string `json:"user" yaml:"user"`
// Pass specifies the password for authentication.
Pass string `json:"pass" yaml:"pass"`
// Name specifies the database name.
Name string `json:"name" yaml:"name"`
// Charset specifies the character set (e.g. "utf8mb4").
Charset string `json:"charset" yaml:"charset"`
// Host specifies the host address.
Host string `json:"host" yaml:"host"`
// InitialPingTimeLimit specifies the timeout for the initial ping during startup.
InitialPingTimeLimit string `json:"initial_ping_time_limit" yaml:"initial_ping_time_limit"`
// InitialPingDuration specifies the interval for retrying the initial ping.
InitialPingDuration string `json:"initial_ping_duration" yaml:"initial_ping_duration"`
// DB specifies the database name (alias for Name).
DB string `json:"db" yaml:"db"`
// SocketPath specifies the unix domain socket path.
SocketPath string `json:"socket_path" yaml:"socket_path"`
// MaxIdleConns specifies the maximum number of idle connections in the pool.
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
// MaxOpenConns specifies the maximum number of open connections to the database.
MaxOpenConns int `json:"max_open_conns" yaml:"max_open_conns"`
// Port specifies the port number.
Port uint16 `json:"port" yaml:"port"`
}
MySQL represent the mysql configuration.
type NGT ¶
type NGT struct {
// KVSDB represents the KVS DB configuration.
KVSDB *KVSDB `json:"kvsdb,omitempty" yaml:"kvsdb"`
// VQueue represents the vector queue configuration.
VQueue *VQueue `json:"vqueue,omitempty" yaml:"vqueue"`
// ObjectType represents the object type.
ObjectType string `json:"object_type,omitempty" yaml:"object_type" info:"object_type"`
// ExportIndexInfoDuration represents the export index info duration.
ExportIndexInfoDuration string `json:"export_index_info_duration,omitempty" yaml:"export_index_info_duration"`
// IndexPath represents the index path.
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// DistanceType represents the distance type.
DistanceType string `json:"distance_type,omitempty" yaml:"distance_type" info:"distance_type"`
// MinLoadIndexTimeout represents the minimum load index timeout.
MinLoadIndexTimeout string `json:"min_load_index_timeout,omitempty" yaml:"min_load_index_timeout"`
// PodNamespace represents the pod namespace.
PodNamespace string `json:"namespace,omitempty" yaml:"namespace"`
// PodName represents the pod name.
PodName string `json:"pod_name,omitempty" yaml:"pod_name"`
// AutoIndexDurationLimit represents the auto index duration limit.
AutoIndexDurationLimit string `json:"auto_index_duration_limit,omitempty" yaml:"auto_index_duration_limit"`
// AutoIndexCheckDuration represents the auto index check duration.
AutoIndexCheckDuration string `json:"auto_index_check_duration,omitempty" yaml:"auto_index_check_duration"`
// AutoSaveIndexDuration represents the auto save index duration.
AutoSaveIndexDuration string `json:"auto_save_index_duration,omitempty" yaml:"auto_save_index_duration"`
// LoadIndexTimeoutFactor represents the load index timeout factor.
LoadIndexTimeoutFactor string `json:"load_index_timeout_factor,omitempty" yaml:"load_index_timeout_factor"`
// InitialDelayMaxDuration represents the initial delay maximum duration.
InitialDelayMaxDuration string `json:"initial_delay_max_duration,omitempty" yaml:"initial_delay_max_duration"`
// MaxLoadIndexTimeout represents the maximum load index timeout.
MaxLoadIndexTimeout string `json:"max_load_index_timeout,omitempty" yaml:"max_load_index_timeout"`
// SearchEdgeSize represents the search edge size.
SearchEdgeSize int `json:"search_edge_size,omitempty" yaml:"search_edge_size"`
// BrokenIndexHistoryLimit represents the broken index history limit.
BrokenIndexHistoryLimit int `json:"broken_index_history_limit,omitempty" yaml:"broken_index_history_limit"`
// AutoIndexLength represents the auto index length.
AutoIndexLength int `json:"auto_index_length,omitempty" yaml:"auto_index_length"`
// Dimension represents the dimension of the vector.
Dimension int `json:"dimension,omitempty" yaml:"dimension" info:"dimension"`
// ErrorBufferLimit represents the error buffer limit.
ErrorBufferLimit uint64 `json:"error_buffer_limit,omitempty" yaml:"error_buffer_limit"`
// CreationEdgeSize represents the creation edge size.
CreationEdgeSize int `json:"creation_edge_size,omitempty" yaml:"creation_edge_size"`
// BulkInsertChunkSize represents the bulk insert chunk size.
BulkInsertChunkSize int `json:"bulk_insert_chunk_size,omitempty" yaml:"bulk_insert_chunk_size"`
// DefaultEpsilon represents the default epsilon.
DefaultEpsilon float32 `json:"default_epsilon,omitempty" yaml:"default_epsilon"`
// EpsilonForCreation represents the epsilon for creation.
EpsilonForCreation float32 `json:"epsilon_for_creation,omitempty" yaml:"epsilon_for_creation"`
// DefaultPoolSize represents the default pool size.
DefaultPoolSize uint32 `json:"default_pool_size,omitempty" yaml:"default_pool_size"`
// DefaultRadius represents the default radius.
DefaultRadius float32 `json:"default_radius,omitempty" yaml:"default_radius"`
// EnableInMemoryMode enables in-memory mode.
EnableInMemoryMode bool `json:"enable_in_memory_mode,omitempty" yaml:"enable_in_memory_mode"`
// EnableCopyOnWrite enables copy on write.
EnableCopyOnWrite bool `json:"enable_copy_on_write,omitempty" yaml:"enable_copy_on_write"`
// IsReadReplica enables read replica.
IsReadReplica bool `json:"is_readreplica" yaml:"is_readreplica"`
// EnableExportIndexInfoToK8s enables exporting index info to k8s.
EnableExportIndexInfoToK8s bool `json:"enable_export_index_info_to_k8s" yaml:"enable_export_index_info_to_k8s"`
// EnableProactiveGC enables proactive GC.
EnableProactiveGC bool `json:"enable_proactive_gc,omitempty" yaml:"enable_proactive_gc"`
// EnableStatistics enables statistics.
EnableStatistics bool `json:"enable_statistics" yaml:"enable_statistics"`
}
NGT represent the ngt core configuration for server.
type Net ¶ added in v1.0.3
type Net struct {
// DNS represents the DNS configuration.
DNS *DNS `json:"dns,omitempty" yaml:"dns"`
// Dialer represents the dialer configuration.
Dialer *Dialer `json:"dialer,omitempty" yaml:"dialer"`
// SocketOption represents the socket option configuration.
SocketOption *SocketOption `json:"socket_option,omitempty" yaml:"socket_option"`
// TLS represents the TLS configuration.
TLS *TLS `json:"tls,omitempty" yaml:"tls"`
// Network represents the network type.
Network string `json:"network,omitempty" yaml:"network"`
}
Net represents the network configuration tcp, udp, unix domain socket.
type OTLP ¶ added in v1.7.0
type OTLP struct {
// Attribute represents the OTLP attribute configuration.
Attribute *OTLPAttribute `json:"attribute" yaml:"attribute"`
// CollectorEndpoint represents the collector endpoint.
CollectorEndpoint string `json:"collector_endpoint" yaml:"collector_endpoint"`
// TraceBatchTimeout represents the trace batch timeout.
TraceBatchTimeout string `json:"trace_batch_timeout" yaml:"trace_batch_timeout"`
// TraceExportTimeout represents the trace export timeout.
TraceExportTimeout string `json:"trace_export_timeout" yaml:"trace_export_timeout"`
// MetricsExportInterval represents the metrics export interval.
MetricsExportInterval string `json:"metrics_export_interval" yaml:"metrics_export_interval"`
// MetricsExportTimeout represents the metrics export timeout.
MetricsExportTimeout string `json:"metrics_export_timeout" yaml:"metrics_export_timeout"`
// TraceMaxExportBatchSize represents the trace max export batch size.
TraceMaxExportBatchSize int `json:"trace_max_export_batch_size" yaml:"trace_max_export_batch_size"`
// TraceMaxQueueSize represents the trace max queue size.
TraceMaxQueueSize int `json:"trace_max_queue_size" yaml:"trace_max_queue_size"`
}
OTLP represents the configuration for the OTLP.
type OTLPAttribute ¶ added in v1.7.0
type OTLPAttribute struct {
// Namespace represents the namespace.
Namespace string `json:"namespace" yaml:"namespace"`
// PodName represents the pod name.
PodName string `json:"pod_name" yaml:"pod_name"`
// NodeName represents the node name.
NodeName string `json:"node_name" yaml:"node_name"`
// ServiceName represents the service name.
ServiceName string `json:"service_name" yaml:"service_name"`
}
OTLPAttribute represents the configuration for the OTLP attribute.
func (*OTLPAttribute) Bind ¶ added in v1.7.0
func (o *OTLPAttribute) Bind() *OTLPAttribute
Bind binds the actual data from the OTLPAttribute receiver fields.
type ObjectConfig ¶ added in v1.7.11
type ObjectConfig struct {
// FilterConfig represents the filter configuration.
FilterConfig FilterConfig `json:"filter_config" yaml:"filter_config"`
}
ObjectConfig defines the desired state of object config.
func (*ObjectConfig) Bind ¶ added in v1.7.11
func (cfg *ObjectConfig) Bind() *ObjectConfig
type Observability ¶ added in v0.0.19
type Observability struct {
// OTLP represents the OTLP configuration.
OTLP *OTLP `json:"otlp" yaml:"otlp"`
// Metrics represents the metrics configuration.
Metrics *Metrics `json:"metrics" yaml:"metrics"`
// Trace represents the trace configuration.
Trace *Trace `json:"trace" yaml:"trace"`
// Enabled enables observability.
Enabled bool `json:"enabled" yaml:"enabled"`
}
Observability represents the configuration for the observability.
func (*Observability) Bind ¶ added in v0.0.19
func (o *Observability) Bind() *Observability
Bind binds the actual data from the Observability receiver fields.
type OperatorJobConfig ¶ added in v1.7.13
type OperatorJobConfig struct {
// Image represents the image information.
Image *BenchmarkJobImageInfo `info:"image" json:"image,omitempty" yaml:"image"`
// BenchmarkJob represents the benchmark job configuration.
*BenchmarkJob
}
OperatorJobConfig represents the general job configuration for operator.
type PoolConfig ¶
type PoolConfig struct {
// DataCenter represents the data center name.
DataCenter string `json:"data_center" yaml:"data_center"`
// DCAwareRouting enables DC aware routing.
DCAwareRouting bool `json:"dc_aware_routing" yaml:"dc_aware_routing"`
// NonLocalReplicasFallback enables non local replicas fallback.
NonLocalReplicasFallback bool `json:"non_local_replicas_fallback" yaml:"non_local_replicas_fallback"`
// ShuffleReplicas enables shuffle replicas.
ShuffleReplicas bool `json:"shuffle_replicas" yaml:"shuffle_replicas"`
// TokenAwareHostPolicy enables token aware host policy.
TokenAwareHostPolicy bool `json:"token_aware_host_policy" yaml:"token_aware_host_policy"`
}
PoolConfig represents the configuration for the pool config.
func (*PoolConfig) Bind ¶ added in v1.7.17
func (pc *PoolConfig) Bind() *PoolConfig
Bind binds the actual data from the PoolConfig receiver fields.
type ReadReplica ¶ added in v1.7.10
type ReadReplica struct {
// IDKey represents the ID key.
IDKey string `json:"id_key,omitempty" yaml:"id_key"`
// Enabled enables read replica.
Enabled bool `json:"enabled,omitempty" yaml:"enabled"`
}
ReadReplica represents the read replica configuration.
func (*ReadReplica) Bind ¶ added in v1.7.10
func (r *ReadReplica) Bind() *ReadReplica
func (*ReadReplica) GetEnabled ¶ added in v1.7.10
func (r *ReadReplica) GetEnabled() bool
func (*ReadReplica) GetIDKey ¶ added in v1.7.10
func (r *ReadReplica) GetIDKey() string
type ReadReplicaClient ¶ added in v1.7.11
type ReadReplicaClient struct {
// Client represents the gRPC client configuration.
Client *GRPCClient `json:"client" yaml:"client"`
// AgentClientOptions represents the agent client options.
AgentClientOptions *GRPCClient `json:"agent_client_options" yaml:"agent_client_options"`
// Duration represents the duration.
Duration string `json:"duration" yaml:"duration"`
}
ReadReplicaClient represents a configuration of grpc client for read replica.
func (*ReadReplicaClient) Bind ¶ added in v1.7.11
func (d *ReadReplicaClient) Bind() *ReadReplicaClient
Bind binds the actual data from the ReadReplicaClient receiver field.
type ReadReplicaRotate ¶ added in v1.7.9
type ReadReplicaRotate struct {
// AgentNamespace represents the agent namespace.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// ReadReplicaLabelKey represents the read replica label key.
ReadReplicaLabelKey string `json:"read_replica_label_key" yaml:"read_replica_label_key"`
// TargetReadReplicaID represents the target read replica ID.
TargetReadReplicaID string `json:"target_read_replica_id" yaml:"target_read_replica_id"`
// VolumeName represents the volume name.
VolumeName string `json:"volume_name" yaml:"volume_name"`
}
func (*ReadReplicaRotate) Bind ¶ added in v1.7.9
func (r *ReadReplicaRotate) Bind() *ReadReplicaRotate
type ReconnectionPolicy ¶
type ReconnectionPolicy struct {
// InitialInterval represents the initial interval.
InitialInterval string `json:"initial_interval" yaml:"initial_interval"`
// MaxRetries represents the maximum retry count.
MaxRetries int `json:"max_retries" yaml:"max_retries"`
}
ReconnectionPolicy represents the configuration for the reconnection policy.
func (*ReconnectionPolicy) Bind ¶ added in v1.7.17
func (rp *ReconnectionPolicy) Bind() *ReconnectionPolicy
Bind binds the actual data from the ReconnectionPolicy receiver fields.
type Redis ¶
type Redis struct {
// Net represents the network configuration.
Net *Net `json:"tcp,omitempty" yaml:"net"`
// TLS represents the TLS configuration.
TLS *TLS `json:"tls,omitempty" yaml:"tls"`
// MinRetryBackoff specifies the minimum duration to wait before retrying a failed operation.
MinRetryBackoff string `json:"min_retry_backoff,omitempty" yaml:"min_retry_backoff"`
// SentinelPassword specifies the password for Redis Sentinel authentication.
SentinelPassword string `json:"sentinel_password,omitempty" yaml:"sentinel_password"`
// IdleTimeout specifies the duration after which an idle connection is closed.
IdleTimeout string `json:"idle_timeout,omitempty" yaml:"idle_timeout"`
// InitialPingDuration specifies the timeout for the initial ping check when establishing a connection.
InitialPingDuration string `json:"initial_ping_duration,omitempty" yaml:"initial_ping_duration"`
// InitialPingTimeLimit specifies the total time limit for initial ping checks during startup.
InitialPingTimeLimit string `json:"initial_ping_time_limit,omitempty" yaml:"initial_ping_time_limit"`
// KVPrefix specifies the key prefix used for Key-Value data (e.g. metadata).
KVPrefix string `json:"kv_prefix,omitempty" yaml:"kv_prefix"`
// KeyPref specifies the global key prefix applied to all Redis keys.
KeyPref string `json:"key_pref,omitempty" yaml:"key_pref"`
// MaxConnAge specifies the maximum duration a connection can be reused before being closed.
MaxConnAge string `json:"max_conn_age,omitempty" yaml:"max_conn_age"`
// WriteTimeout specifies the timeout for write operations.
WriteTimeout string `json:"write_timeout,omitempty" yaml:"write_timeout"`
// VKPrefix specifies the key prefix used for Vector-Key data.
VKPrefix string `json:"vk_prefix,omitempty" yaml:"vk_prefix"`
// MaxRetryBackoff specifies the maximum duration to wait before retrying a failed operation.
MaxRetryBackoff string `json:"max_retry_backoff,omitempty" yaml:"max_retry_backoff"`
// Username specifies the username for Redis ACL authentication.
Username string `json:"username,omitempty" yaml:"username"`
// DialTimeout specifies the timeout for establishing a new connection.
DialTimeout string `json:"dial_timeout,omitempty" yaml:"dial_timeout"`
// Network specifies the network type (e.g., "tcp", "unix").
Network string `json:"network,omitempty" yaml:"network"`
// IdleCheckFrequency specifies the interval at which the pool checks for and closes idle connections.
IdleCheckFrequency string `json:"idle_check_frequency,omitempty" yaml:"idle_check_frequency"`
// ReadTimeout specifies the timeout for read operations.
ReadTimeout string `json:"read_timeout,omitempty" yaml:"read_timeout"`
// Password specifies the password for Redis authentication.
Password string `json:"password,omitempty" yaml:"password"`
// PrefixDelimiter specifies the delimiter used between key parts (e.g., ":").
PrefixDelimiter string `json:"prefix_delimiter,omitempty" yaml:"prefix_delimiter"`
// SentinelMasterName specifies the name of the master set in Redis Sentinel configuration.
SentinelMasterName string `json:"sentinel_main_name,omitempty" yaml:"sentinel_main_name"`
// PoolTimeout specifies the timeout for waiting for a connection from the pool.
PoolTimeout string `json:"pool_timeout,omitempty" yaml:"pool_timeout"`
// Addrs specifies the list of Redis server addresses (host:port).
Addrs []string `json:"addrs,omitempty" yaml:"addrs"`
// PoolSize specifies the maximum number of socket connections.
PoolSize int `json:"pool_size,omitempty" yaml:"pool_size"`
// DB specifies the Redis database index to select.
DB int `json:"db,omitempty" yaml:"db"`
// MinIdleConns specifies the minimum number of idle connections to maintain in the pool.
MinIdleConns int `json:"min_idle_conns,omitempty" yaml:"min_idle_conns"`
// MaxRetries specifies the maximum number of retries for failed operations.
MaxRetries int `json:"max_retries,omitempty" yaml:"max_retries"`
// MaxRedirects specifies the maximum number of redirects (e.g., MOVED, ASK) to follow in a cluster.
MaxRedirects int `json:"max_redirects,omitempty" yaml:"max_redirects"`
// RouteByLatency enables routing read operations to the nearest replica based on latency monitoring.
RouteByLatency bool `json:"route_by_latency,omitempty" yaml:"route_by_latency"`
// RouteRandomly enables routing read operations to random replicas for load balancing.
RouteRandomly bool `json:"route_randomly,omitempty" yaml:"route_randomly"`
// ReadOnly enables read-only mode, preventing write operations.
ReadOnly bool `json:"read_only,omitempty" yaml:"read_only"`
}
Redis represents the configuration for redis cluster.
type RemoveConfig ¶ added in v1.7.11
type RemoveConfig struct {
// Timestamp represents the timestamp.
Timestamp string `json:"timestamp,omitempty"`
// SkipStrictExistCheck enables skipping strict existence check.
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
}
RemoveConfig defines the desired state of remove config.
func (*RemoveConfig) Bind ¶ added in v1.7.11
func (cfg *RemoveConfig) Bind() *RemoveConfig
type RetryPolicy ¶
type RetryPolicy struct {
// MinDuration represents the minimum duration.
MinDuration string `json:"min_duration" yaml:"min_duration"`
// MaxDuration represents the maximum duration.
MaxDuration string `json:"max_duration" yaml:"max_duration"`
// NumRetries represents the number of retries.
NumRetries int `json:"num_retries" yaml:"num_retries"`
}
RetryPolicy represents the configuration for the retry policy.
func (*RetryPolicy) Bind ¶ added in v1.7.17
func (rp *RetryPolicy) Bind() *RetryPolicy
Bind binds the actual data from the RetryPolicy receiver fields.
type RoundTripper ¶
type RoundTripper struct {
// TLSHandshakeTimeout represents the TLS handshake timeout.
TLSHandshakeTimeout string `json:"tls_handshake_timeout" yaml:"tls_handshake_timeout"`
// IdleConnTimeout represents the idle connection timeout.
IdleConnTimeout string `json:"idle_conn_timeout" yaml:"idle_conn_timeout"`
// ResponseHeaderTimeout represents the response header timeout.
ResponseHeaderTimeout string `json:"response_header_timeout" yaml:"response_header_timeout"`
// ExpectContinueTimeout represents the expect continue timeout.
ExpectContinueTimeout string `json:"expect_continue_timeout" yaml:"expect_continue_timeout"`
// MaxIdleConns represents the maximum idle connections.
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
// MaxIdleConnsPerHost represents the maximum idle connections per host.
MaxIdleConnsPerHost int `json:"max_idle_conns_per_host" yaml:"max_idle_conns_per_host"`
// MaxConnsPerHost represents the maximum connections per host.
MaxConnsPerHost int `json:"max_conns_per_host" yaml:"max_conns_per_host"`
// MaxResponseHeaderSize represents the maximum response header size.
MaxResponseHeaderSize int64 `json:"max_response_header_size" yaml:"max_response_header_size"`
// WriteBufferSize represents the write buffer size.
WriteBufferSize int64 `json:"write_buffer_size" yaml:"write_buffer_size"`
// ReadBufferSize represents the read buffer size.
ReadBufferSize int64 `json:"read_buffer_size" yaml:"read_buffer_size"`
// ForceAttemptHTTP2 enables force attempt HTTP2.
ForceAttemptHTTP2 bool `json:"force_attempt_http_2" yaml:"force_attempt_http_2"`
}
RoundTripper represents the round trip configuration for transport.
func (*RoundTripper) Bind ¶
func (r *RoundTripper) Bind() *RoundTripper
Bind binds the actual data from the RoundTripper receiver fields.
type S3Config ¶ added in v0.0.38
type S3Config struct {
// Endpoint represents the S3 endpoint.
Endpoint string `json:"endpoint" yaml:"endpoint"`
// Region represents the S3 region.
Region string `json:"region" yaml:"region"`
// AccessKey represents the access key.
AccessKey string `json:"access_key" yaml:"access_key"`
// SecretAccessKey represents the secret access key.
SecretAccessKey string `json:"secret_access_key" yaml:"secret_access_key"`
// Token represents the session token.
Token string `json:"token" yaml:"token"`
// MaxChunkSize represents the maximum chunk size.
MaxChunkSize string `json:"max_chunk_size" yaml:"max_chunk_size"`
// MaxPartSize represents the maximum part size.
MaxPartSize string `json:"max_part_size" yaml:"max_part_size"`
// MaxRetries represents the maximum retry count.
MaxRetries int `json:"max_retries" yaml:"max_retries"`
// UseARNRegion enables using ARN region.
UseARNRegion bool `json:"use_arn_region" yaml:"use_arn_region"`
// UseDualStack enables using dual stack.
UseDualStack bool `json:"use_dual_stack" yaml:"use_dual_stack"`
// EnableSSL enables SSL.
EnableSSL bool `json:"enable_ssl" yaml:"enable_ssl"`
// EnableParamValidation enables parameter validation.
EnableParamValidation bool `json:"enable_param_validation" yaml:"enable_param_validation"`
// Enable100Continue enables 100-continue.
Enable100Continue bool `json:"enable_100_continue" yaml:"enable_100_continue"`
// EnableContentMD5Validation enables content MD5 validation.
EnableContentMD5Validation bool `json:"enable_content_md5_validation" yaml:"enable_content_md5_validation"`
// EnableEndpointDiscovery enables endpoint discovery.
EnableEndpointDiscovery bool `json:"enable_endpoint_discovery" yaml:"enable_endpoint_discovery"`
// EnableEndpointHostPrefix enables endpoint host prefix.
EnableEndpointHostPrefix bool `json:"enable_endpoint_host_prefix" yaml:"enable_endpoint_host_prefix"`
// UseAccelerate enables using accelerate.
UseAccelerate bool `json:"use_accelerate" yaml:"use_accelerate"`
// ForcePathStyle enables forcing path style.
ForcePathStyle bool `json:"force_path_style" yaml:"force_path_style"`
}
S3Config represents S3Config configuration.
type SearchConfig ¶ added in v1.7.11
type SearchConfig struct {
// Timeout represents the timeout.
Timeout string `json:"timeout,omitempty"`
// AggregationAlgorithm represents the aggregation algorithm.
AggregationAlgorithm string `json:"aggregation_algorithm,omitempty"`
// Epsilon represents the epsilon.
Epsilon float32 `json:"epsilon,omitempty"`
// Radius represents the radius.
Radius float32 `json:"radius,omitempty"`
// Num represents the number of results.
Num int32 `json:"num,omitempty"`
// MinNum represents the minimum number of results.
MinNum int32 `json:"min_num,omitempty"`
// EnableLinearSearch enables linear search.
EnableLinearSearch bool `json:"enable_linear_search,omitempty"`
}
SearchConfig defines the desired state of search config.
func (*SearchConfig) Bind ¶ added in v1.7.11
func (cfg *SearchConfig) Bind() *SearchConfig
type Selector ¶ added in v1.3.0
type Selector struct {
// Labels represents the labels.
Labels map[string]string `json:"labels,omitempty" yaml:"labels"`
// Fields represents the fields.
Fields map[string]string `json:"fields,omitempty" yaml:"fields"`
}
Selector represents the selector configuration.
type Selectors ¶ added in v1.3.0
type Selectors struct {
// Pod represents the pod selector.
Pod *Selector `json:"pod,omitempty" yaml:"pod"`
// Node represents the node selector.
Node *Selector `json:"node,omitempty" yaml:"node"`
// NodeMetrics represents the node metrics selector.
NodeMetrics *Selector `json:"node_metrics,omitempty" yaml:"node_metrics"`
// PodMetrics represents the pod metrics selector.
PodMetrics *Selector `json:"pod_metrics,omitempty" yaml:"pod_metrics"`
// Service represents the service selector.
Service *Selector `json:"service,omitempty" yaml:"service"`
}
Selectors represents the selector configuration.
func (*Selectors) Bind ¶ added in v1.3.0
Bind binds the actual data from the Selectors receiver field.
func (*Selectors) GetNodeFields ¶ added in v1.6.0
func (*Selectors) GetNodeLabels ¶ added in v1.6.0
func (*Selectors) GetNodeMetricsFields ¶ added in v1.6.0
func (*Selectors) GetNodeMetricsLabels ¶ added in v1.6.0
func (*Selectors) GetPodFields ¶ added in v1.6.0
func (*Selectors) GetPodLabels ¶ added in v1.6.0
func (*Selectors) GetPodMetricsFields ¶ added in v1.6.0
func (*Selectors) GetPodMetricsLabels ¶ added in v1.6.0
func (*Selectors) GetServiceFields ¶ added in v1.7.10
func (*Selectors) GetServiceLabels ¶ added in v1.7.10
type Server ¶
type Server struct {
// GRPC represents the gRPC configuration.
GRPC *GRPC `json:"grpc,omitempty" yaml:"grpc"`
// SocketOption represents the socket option configuration.
SocketOption *SocketOption `json:"socket_option,omitempty" yaml:"socket_option"`
// HTTP represents the HTTP configuration.
HTTP *HTTP `json:"http,omitempty" yaml:"http"`
// Name represents the server name.
Name string `json:"name,omitempty" yaml:"name"`
// Network represents the network type (tcp, unix, etc.).
Network string `json:"network,omitempty" yaml:"network"`
// Host represents the server host.
Host string `json:"host,omitempty" yaml:"host"`
// SocketPath represents the socket path.
SocketPath string `json:"socket_path,omitempty" yaml:"socket_path"`
// Mode represents the server mode (gRPC, REST, GraphQL).
Mode string `json:"mode,omitempty" yaml:"mode"` // gRPC, REST, GraphQL
// ProbeWaitTime represents the probe wait time.
ProbeWaitTime string `json:"probe_wait_time,omitempty" yaml:"probe_wait_time"`
// Restart enables server restart on failure.
Restart bool `json:"restart,omitempty" yaml:"restart"`
// Port represents the server port.
Port uint16 `json:"port,omitempty" yaml:"port"`
}
Server represents the server configuration.
type Servers ¶
type Servers struct {
// TLS represent server tls configuration.
TLS *TLS `json:"tls" yaml:"tls"`
// FullShutdownDuration represent summary duration of shutdown time
FullShutdownDuration string `json:"full_shutdown_duration" yaml:"full_shutdown_duration"`
// Server represent server configuration.
Servers []*Server `json:"servers" yaml:"servers"`
// HealthCheckServers represent health check server configuration
HealthCheckServers []*Server `json:"health_check_servers" yaml:"health_check_servers"`
// MetricsServers represent metrics exporter server such as golang's pprof server
MetricsServers []*Server `json:"metrics_servers" yaml:"metrics_servers"`
// StartUpStrategy represent starting order of server name
StartUpStrategy []string `json:"startup_strategy" yaml:"startup_strategy"`
// ShutdownStrategy represent shutdown order of server name
ShutdownStrategy []string `json:"shutdown_strategy" yaml:"shutdown_strategy"`
}
Servers represents the configuration of server list.
func (*Servers) GetGRPCStreamConcurrency ¶ added in v0.0.5
GetGRPCStreamConcurrency returns the gRPC stream concurrency.
type SocketOption ¶ added in v1.0.3
type SocketOption struct {
// ReusePort enables SO_REUSEPORT.
ReusePort bool `json:"reuse_port,omitempty" yaml:"reuse_port"`
// ReuseAddr enables SO_REUSEADDR.
ReuseAddr bool `json:"reuse_addr,omitempty" yaml:"reuse_addr"`
// TCPFastOpen enables TCP_FASTOPEN.
TCPFastOpen bool `json:"tcp_fast_open,omitempty" yaml:"tcp_fast_open"`
// TCPNoDelay enables TCP_NODELAY.
TCPNoDelay bool `json:"tcp_no_delay,omitempty" yaml:"tcp_no_delay"`
// TCPCork enables TCP_CORK.
TCPCork bool `json:"tcp_cork,omitempty" yaml:"tcp_cork"`
// TCPQuickAck enables TCP_QUICKACK.
TCPQuickAck bool `json:"tcp_quick_ack,omitempty" yaml:"tcp_quick_ack"`
// TCPDeferAccept enables TCP_DEFER_ACCEPT.
TCPDeferAccept bool `json:"tcp_defer_accept,omitempty" yaml:"tcp_defer_accept"`
// IPTransparent enables IP_TRANSPARENT.
IPTransparent bool `json:"ip_transparent,omitempty" yaml:"ip_transparent"`
// IPRecoverDestinationAddr enables IP_RECVORIGDSTADDR.
IPRecoverDestinationAddr bool `json:"ip_recover_destination_addr,omitempty" yaml:"ip_recover_destination_addr"`
}
SocketOption represents the socket configurations.
func (*SocketOption) Bind ¶ added in v1.0.3
func (s *SocketOption) Bind() *SocketOption
Bind binds the actual data from the SocketOption fields.
func (*SocketOption) ToSocketFlag ¶ added in v1.0.3
func (s *SocketOption) ToSocketFlag() control.SocketFlag
ToSocketFlag returns the control.SocketFlag defined as uint along with the SocketOption's fields.
type TLS ¶
type TLS struct {
// Cert represents the certificate file path.
Cert string `json:"cert" yaml:"cert"`
// Key represents the key file path.
Key string `json:"key" yaml:"key"`
// CA represents the CA certificate file path.
CA string `json:"ca" yaml:"ca"`
// CRL represents the CRL file path.
CRL string `json:"crl" yaml:"crl"`
// ServerName represents the server name.
ServerName string `json:"server_name" yaml:"server_name"`
// ClientAuth represents the client authentication type (NoClientCert, RequestClientCert, RequireAnyClientCert, VerifyClientCertIfGiven, RequireAndVerifyClientCert).
ClientAuth string `json:"client_auth" yaml:"client_auth"`
// Enabled enables TLS.
Enabled bool `json:"enabled" yaml:"enabled"`
// InsecureSkipVerify enables skipping verification.
InsecureSkipVerify bool `json:"insecure_skip_verify" yaml:"insecure_skip_verify"`
// HotReload enables hot reload of certificates.
HotReload bool `json:"hot_reload" yaml:"hot_reload"`
}
TLS represent the TLS configuration for server.
type Trace ¶ added in v0.0.19
type Trace struct {
// Enabled enables trace.
Enabled bool `json:"enabled" yaml:"enabled"`
}
Trace represents the configuration for the trace.
type Transport ¶
type Transport struct {
// RoundTripper represents the round tripper configuration.
RoundTripper *RoundTripper `json:"round_tripper" yaml:"round_tripper"`
// Backoff represents the backoff configuration.
Backoff *Backoff `json:"backoff" yaml:"backoff"`
}
TCP represents the TCP configuration for server.
type UpdateConfig ¶ added in v1.7.11
type UpdateConfig struct {
// Timestamp represents the timestamp.
Timestamp string `json:"timestamp,omitempty"`
// SkipStrictExistCheck enables skipping strict existence check.
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
// DisableBalancedUpdate disables balanced update.
DisableBalancedUpdate bool `json:"disable_balanced_update,omitempty"`
}
UpdateConfig defines the desired state of update config.
func (*UpdateConfig) Bind ¶ added in v1.7.11
func (cfg *UpdateConfig) Bind() *UpdateConfig
type UpsertConfig ¶ added in v1.7.11
type UpsertConfig struct {
// Timestamp represents the timestamp.
Timestamp string `json:"timestamp,omitempty"`
// SkipStrictExistCheck enables skipping strict existence check.
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
// DisableBalancedUpdate disables balanced update.
DisableBalancedUpdate bool `json:"disable_balanced_update,omitempty"`
}
UpsertConfig defines the desired state of upsert config.
func (*UpsertConfig) Bind ¶ added in v1.7.11
func (cfg *UpsertConfig) Bind() *UpsertConfig
type VQueue ¶ added in v1.0.4
type VQueue struct {
// InsertBufferPoolSize represents insert time ordered slice buffer size
InsertBufferPoolSize int `json:"insert_buffer_pool_size,omitempty" yaml:"insert_buffer_pool_size"`
// DeleteBufferPoolSize represents delete time ordered slice buffer size
DeleteBufferPoolSize int `json:"delete_buffer_pool_size,omitempty" yaml:"delete_buffer_pool_size"`
}
VQueue represent the ngt vector queue buffer size.
Source Files
¶
- backoff.go
- backup.go
- benchmark.go
- blob.go
- cassandra.go
- circuitbreaker.go
- client.go
- compress.go
- config.go
- corrector.go
- discoverer.go
- doc.go
- faiss.go
- filter.go
- gateway.go
- grpc.go
- index.go
- index_creation.go
- index_deleter.go
- index_exporter.go
- index_operator.go
- index_save.go
- lb.go
- log.go
- meta.go
- mirror.go
- mysql.go
- net.go
- ngt.go
- observability.go
- readreplica_rotate.go
- redis.go
- server.go
- sidecar.go
- tls.go
- transport.go