Documentation
¶
Overview ¶
Copyright (C) 2019-2025 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-2025 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-2025 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-2025 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-2025 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-2025 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-2025 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-2025 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 {
// Mode represents sidecar mode
Mode string `json:"mode" yaml:"mode"`
// WatchDir represents watch target directory for backup
WatchDir string `json:"watch_dir" yaml:"watch_dir"`
// WatchEnabled represent auto backup triggered by file changes is enabled or not
WatchEnabled bool `json:"watch_enabled" yaml:"watch_enabled"`
// AutoBackupEnabled represent auto backup triggered by timer is enabled or not
AutoBackupEnabled bool `json:"auto_backup_enabled" yaml:"auto_backup_enabled"`
// AutoBackupDuration represent checking loop duration for auto backup execution
AutoBackupDuration string `json:"auto_backup_duration" yaml:"auto_backup_duration"`
// PostStopTimeout represent timeout duration for file changing during post stop
PostStopTimeout string `json:"post_stop_timeout" yaml:"post_stop_timeout"`
// Filename represent backup filename
Filename string `json:"filename" yaml:"filename"`
// FilenameSuffix represent suffix of backup filename
FilenameSuffix string `json:"filename_suffix" yaml:"filename_suffix"`
// BlobStorage represent blob storage configurations
BlobStorage *Blob `json:"blob_storage" yaml:"blob_storage"`
// Compress represent compression configurations
Compress *CompressCore `json:"compress" yaml:"compress"`
// RestoreBackoffEnabled represent backoff enabled or not
RestoreBackoffEnabled bool `json:"restore_backoff_enabled" yaml:"restore_backoff_enabled"`
// RestoreBackoff represent backoff configurations for restoring process
RestoreBackoff *Backoff `json:"restore_backoff" yaml:"restore_backoff"`
// Client represent HTTP client configurations
Client *Client `json:"client" yaml:"client"`
}
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 string `json:"initial_duration" yaml:"initial_duration"`
BackoffTimeLimit string `json:"backoff_time_limit" yaml:"backoff_time_limit"`
MaximumDuration string `json:"maximum_duration" yaml:"maximum_duration"`
JitterLimit string `json:"jitter_limit" yaml:"jitter_limit"`
BackoffFactor float64 `json:"backoff_factor" yaml:"backoff_factor"`
RetryCount int `json:"retry_count" yaml:"retry_count"`
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 *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 {
Name string `json:"name,omitempty"`
Group string `json:"group,omitempty"`
Indexes int `json:"indexes,omitempty"`
Range *BenchmarkDatasetRange `json:"range,omitempty"`
URL string `json:"url,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 int `json:"start,omitempty"`
End int `json:"end,omitempty"`
}
BenchmarkDatasetRange defines the desired state of BenchmarkDatesetRange.
type BenchmarkJob ¶ added in v1.7.11
type BenchmarkJob struct {
Target *BenchmarkTarget `json:"target,omitempty" yaml:"target"`
Dataset *BenchmarkDataset `json:"dataset,omitempty" yaml:"dataset"`
Replica int `json:"replica,omitempty" yaml:"replica"`
Repetition int `json:"repetition,omitempty" yaml:"repetition"`
JobType string `json:"job_type,omitempty" yaml:"job_type"`
InsertConfig *InsertConfig `json:"insert_config,omitempty" yaml:"insert_config"`
UpdateConfig *UpdateConfig `json:"update_config,omitempty" yaml:"update_config"`
UpsertConfig *UpsertConfig `json:"upsert_config,omitempty" yaml:"upsert_config"`
SearchConfig *SearchConfig `json:"search_config,omitempty" yaml:"search_config"`
RemoveConfig *RemoveConfig `json:"remove_config,omitempty" yaml:"remove_config"`
ObjectConfig *ObjectConfig `json:"object_config,omitempty" yaml:"object_config"`
ClientConfig *GRPCClient `json:"client_config,omitempty" yaml:"client_config"`
Rules []*BenchmarkJobRule `json:"rules,omitempty" yaml:"rules"`
BeforeJobName string `json:"before_job_name,omitempty" yaml:"before_job_name"`
BeforeJobNamespace string `json:"before_job_namespace,omitempty" yaml:"before_job_namespace"`
RPS int `json:"rps,omitempty" yaml:"rps"`
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 string `info:"repository" json:"repository,omitempty" yaml:"repository"`
Tag string `info:"tag" json:"tag,omitempty" yaml:"tag"`
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 string `json:"name,omitempty"`
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 *BenchmarkTarget `json:"target,omitempty" yaml:"target"`
Dataset *BenchmarkDataset `json:"dataset,omitempty" yaml:"dataset"`
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 {
Host string `json:"host,omitempty"`
Port int `json:"port,omitempty"`
Meta map[string]string `json:"meta,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 {
// StorageType represents blob storaget type
StorageType string `json:"storage_type" yaml:"storage_type"`
// Bucket represents bucket name
Bucket string `json:"bucket" yaml:"bucket"`
// S3 represents S3 config
S3 *S3Config `json:"s3" yaml:"s3"`
// CloudStorage represents CloudStorage config
CloudStorage *CloudStorageConfig `json:"cloud_storage" yaml:"cloud_storage"`
}
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 {
WaitForReady bool `json:"wait_for_ready" yaml:"wait_for_ready"`
MaxRetryRPCBufferSize int `json:"max_retry_rpc_buffer_size" yaml:"max_retry_rpc_buffer_size"`
MaxRecvMsgSize int `json:"max_recv_msg_size" yaml:"max_recv_msg_size"`
MaxSendMsgSize int `json:"max_send_msg_size" yaml:"max_send_msg_size"`
ContentSubtype string `json:"content_subtype" yaml:"content_subtype"`
}
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 {
Hosts []string `json:"hosts" yaml:"hosts"`
CQLVersion string `json:"cql_version" yaml:"cql_version"`
ProtoVersion int `json:"proto_version" yaml:"proto_version"`
Timeout string `json:"timeout" yaml:"timeout"`
ConnectTimeout string `json:"connect_timeout" yaml:"connect_timeout"`
Port int `json:"port" yaml:"port"`
Keyspace string `json:"keyspace" yaml:"keyspace"`
NumConns int `json:"num_conns" yaml:"num_conns"`
Consistency string `json:"consistency" yaml:"consistency"`
SerialConsistency string `json:"serial_consistency" yaml:"serial_consistency"`
Username string `json:"username" yaml:"username"`
Password string `json:"password" yaml:"password"`
PoolConfig *PoolConfig `json:"pool_config" yaml:"pool_config"`
RetryPolicy *RetryPolicy `json:"retry_policy" yaml:"retry_policy"`
ReconnectionPolicy *ReconnectionPolicy `json:"reconnection_policy" yaml:"reconnection_policy"`
HostFilter *HostFilter `json:"host_filter" yaml:"host_filter"`
SocketKeepalive string `json:"socket_keepalive" yaml:"socket_keepalive"`
MaxPreparedStmts int `json:"max_prepared_stmts" yaml:"max_prepared_stmts"`
MaxRoutingKeyInfo int `json:"max_routing_key_info" yaml:"max_routing_key_info"`
PageSize int `json:"page_size" yaml:"page_size"`
TLS *TLS `json:"tls" yaml:"tls"`
Net *Net `json:"net" yaml:"net"`
EnableHostVerification bool `json:"enable_host_verification" yaml:"enable_host_verification"`
DefaultTimestamp bool `json:"default_timestamp" yaml:"default_timestamp"`
ReconnectInterval string `json:"reconnect_interval" yaml:"reconnect_interval"`
MaxWaitSchemaAgreement string `json:"max_wait_schema_agreement" yaml:"max_wait_schema_agreement"`
IgnorePeerAddr bool `json:"ignore_peer_addr" yaml:"ignore_peer_addr"`
DisableInitialHostLookup bool `json:"disable_initial_host_lookup" yaml:"disable_initial_host_lookup"`
DisableNodeStatusEvents bool `json:"disable_node_status_events" yaml:"disable_node_status_events"`
DisableTopologyEvents bool `json:"disable_topology_events" yaml:"disable_topology_events"`
DisableSchemaEvents bool `json:"disable_schema_events" yaml:"disable_schema_events"`
DisableSkipMetadata bool `json:"disable_skip_metadata" yaml:"disable_skip_metadata"`
DefaultIdempotence bool `json:"default_idempotence" yaml:"default_idempotence"`
WriteCoalesceWaitTime string `json:"write_coalesce_wait_time" yaml:"write_coalesce_wait_time"`
// meta
KVTable string `json:"kv_table" yaml:"kv_table"`
VKTable string `json:"vk_table" yaml:"vk_table"`
// backup manager
VectorBackupTable string `json:"vector_backup_table" yaml:"vector_backup_table"`
}
Cassandra represents the configuration for the internal cassandra package.
type CircuitBreaker ¶ added in v1.6.0
type CircuitBreaker struct {
ClosedErrorRate float32 `json:"closed_error_rate,omitempty" yaml:"closed_error_rate"`
HalfOpenErrorRate float32 `json:"half_open_error_rate,omitempty" yaml:"half_open_error_rate"`
MinSamples int64 `json:"min_samples,omitempty" yaml:"min_samples"`
OpenTimeout string `json:"open_timeout,omitempty" yaml:"open_timeout"`
ClosedRefreshTimeout string `json:"closed_refresh_timeout,omitempty" yaml:"closed_refresh_timeout"`
}
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 *Net `json:"net" yaml:"net"`
Transport *Transport `json:"transport" yaml:"transport"`
}
Client represents the Client configurations.
type CloudStorageClient ¶ added in v1.1.0
type CloudStorageClient struct {
CredentialsFilePath string `json:"credentials_file_path" yaml:"credentials_file_path"`
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 {
URL string `json:"url" yaml:"url"`
Client *CloudStorageClient `json:"client" yaml:"client"`
WriteBufferSize int `json:"write_buffer_size" yaml:"write_buffer_size"`
WriteCacheControl string `json:"write_cache_control" yaml:"write_cache_control"`
WriteContentDisposition string `json:"write_content_disposition" yaml:"write_content_disposition"`
WriteContentEncoding string `json:"write_content_encoding" yaml:"write_content_encoding"`
WriteContentLanguage string `json:"write_content_language" yaml:"write_content_language"`
WriteContentType string `json:"write_content_type" yaml:"write_content_type"`
}
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 {
CompressCore `json:",inline" yaml:",inline"`
// ConcurrentLimit represents limitation of compression worker concurrency
ConcurrentLimit int `json:"concurrent_limit" yaml:"concurrent_limit"`
// QueueCheckDuration represents duration of queue daemon block
QueueCheckDuration string `json:"queue_check_duration" yaml:"queue_check_duration"`
}
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 {
// ConcurrentLimit represents limitation of worker
ConcurrentLimit int `json:"concurrent_limit" yaml:"concurrent_limit"`
// QueueCheckDuration represents duration of queue daemon block
QueueCheckDuration string `json:"queue_check_duration" yaml:"queue_check_duration"`
// Compressor represents gRPC client config of compressor client (for forwarding use)
Compressor *BackupManager `json:"compressor" yaml:"compressor"`
}
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 {
ResolveDNS bool `json:"enable_dns_resolver" yaml:"enable_dns_resolver"`
EnableRebalance bool `json:"enable_rebalance" yaml:"enable_rebalance"`
Size int `json:"size" yaml:"size"`
RebalanceDuration string `json:"rebalance_duration" yaml:"rebalance_duration"`
OldConnCloseDuration string `json:"old_conn_close_duration" yaml:"old_conn_close_duration"`
}
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 {
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// StreamConcurrency represent stream concurrency for StreamListObject rpc client
// this directly affects the memory usage of this job
StreamListConcurrency int `json:"stream_list_concurrency" yaml:"stream_list_concurrency"`
// KVSBackgroundSyncInterval represents interval for checked id list kvs sync duration
KVSBackgroundSyncInterval string `json:"kvs_background_sync_interval" yaml:"kvs_background_sync_interval"`
// KVSBackgroundCompactionInterval represents interval for checked id list kvs compaction duration
KVSBackgroundCompactionInterval string `json:"kvs_background_compaction_interval" yaml:"kvs_background_compaction_interval"`
// IndexReplica represent index replica count. This should be equal to the lb setting
IndexReplica int `json:"index_replica" yaml:"index_replica"`
// Discoverer represent agent discoverer service configuration
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// Gateway represent gateway service configuration
Gateway *GRPCClient `json:"gateway" yaml:"gateway"`
}
Corrector represents the index correction configurations.
type DNS ¶
type DNS struct {
CacheEnabled bool `json:"cache_enabled,omitempty" yaml:"cache_enabled"`
RefreshDuration string `json:"refresh_duration,omitempty" yaml:"refresh_duration"`
CacheExpiration string `json:"cache_expiration,omitempty" yaml:"cache_expiration"`
}
DNS represents the configuration for resolving DNS.
type DialOption ¶
type DialOption struct {
DisableRetry bool `json:"disable_retry,omitempty" yaml:"disable_retry"`
EnableBackoff bool `json:"enable_backoff,omitempty" yaml:"enable_backoff"`
Insecure bool `json:"insecure,omitempty" yaml:"insecure"`
InitialConnectionWindowSize int32 `json:"initial_connection_window_size,omitempty" yaml:"initial_connection_window_size"`
InitialWindowSize int32 `json:"initial_window_size,omitempty" yaml:"initial_window_size"`
MaxHeaderListSize uint32 `json:"max_header_list_size,omitempty" yaml:"max_header_list_size"`
MaxCallAttempts int `json:"max_call_attempts,omitempty" yaml:"max_call_attempts"`
MaxMsgSize int `json:"max_msg_size,omitempty" yaml:"max_msg_size"`
ReadBufferSize int `json:"read_buffer_size,omitempty" yaml:"read_buffer_size"`
WriteBufferSize int `json:"write_buffer_size,omitempty" yaml:"write_buffer_size"`
BackoffJitter float64 `json:"backoff_jitter,omitempty" yaml:"backoff_jitter"`
BackoffMultiplier float64 `json:"backoff_multiplier,omitempty" yaml:"backoff_multiplier"`
Authority string `json:"authority,omitempty" yaml:"authority"`
BackoffBaseDelay string `json:"backoff_base_delay,omitempty" yaml:"backoff_base_delay"`
BackoffMaxDelay string `json:"backoff_max_delay,omitempty" yaml:"backoff_max_delay"`
IdleTimeout string `json:"idle_timeout,omitempty" yaml:"idle_timeout"`
MinimumConnectionTimeout string `json:"min_connection_timeout,omitempty" yaml:"min_connection_timeout"`
Timeout string `json:"timeout,omitempty" yaml:"timeout"`
UserAgent string `json:"user_agent,omitempty" yaml:"user_agent"`
Interceptors []string `json:"interceptors,omitempty" yaml:"interceptors"`
Net *Net `json:"net,omitempty" yaml:"net"`
Keepalive *GRPCClientKeepalive `json:"keepalive,omitempty" yaml:"keepalive"`
}
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 string `json:"timeout,omitempty" yaml:"timeout"`
Keepalive string `json:"keepalive,omitempty" yaml:"keepalive"`
FallbackDelay string `json:"fallback_delay,omitempty" yaml:"fallback_delay"`
DualStackEnabled bool `json:"dual_stack_enabled,omitempty" yaml:"dual_stack_enabled"`
}
Dialer represents the configuration for dial.
type Discoverer ¶
type Discoverer struct {
Name string `json:"name,omitempty" yaml:"name"`
Namespace string `json:"namespace,omitempty" yaml:"namespace"`
DiscoveryDuration string `json:"discovery_duration,omitempty" yaml:"discovery_duration"`
Net *Net `json:"net,omitempty" yaml:"net"`
Selectors *Selectors `json:"selectors,omitempty" yaml:"selectors"`
}
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 {
Duration string `json:"duration" yaml:"duration"`
Client *GRPCClient `json:"client" yaml:"client"`
AgentClientOptions *GRPCClient `json:"agent_client_options" yaml:"agent_client_options"`
}
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 *GRPCClient `json:"client,omitempty" yaml:"client"`
DistanceFilters []string `json:"distance_filters,omitempty" yaml:"distance_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 {
// IndexPath represents the faiss index file path
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// Dimension represents the faiss index dimension
Dimension int `info:"dimension" json:"dimension,omitempty" yaml:"dimension"`
// Nlist represents the number of Voronoi cells
// ref: https://github.com/facebookresearch/faiss/wiki/Faster-search
Nlist int `info:"nlist" json:"nlist,omitempty" yaml:"nlist"`
// M represents the number of subquantizers
// ref: https://github.com/facebookresearch/faiss/wiki/Faiss-indexes-(composite)#cell-probe-method-with-a-pq-index-as-coarse-quantizer
M int `info:"m" json:"m,omitempty" yaml:"m"`
// NbitsPerIdx represents the number of bit per subvector index
// ref: https://github.com/facebookresearch/faiss/wiki/FAQ#can-i-ignore-warning-clustering-xxx-points-to-yyy-centroids
NbitsPerIdx int `info:"nbits_per_idx" json:"nbits_per_idx,omitempty" yaml:"nbits_per_idx"`
// MethodType represents the method type
MethodType string `info:"method_type" json:"method_type,omitempty" yaml:"method_type"`
// MetricType represents the metric type
MetricType string `info:"metric_type" json:"metric_type,omitempty" yaml:"metric_type"`
// EnableInMemoryMode enables on memory faiss indexing mode
EnableInMemoryMode bool `json:"enable_in_memory_mode,omitempty" yaml:"enable_in_memory_mode"`
// AutoIndexCheckDuration represents checking loop duration about auto indexing execution
AutoIndexCheckDuration string `json:"auto_index_check_duration,omitempty" yaml:"auto_index_check_duration"`
// AutoSaveIndexDuration represents checking loop duration about auto save index execution
AutoSaveIndexDuration string `json:"auto_save_index_duration,omitempty" yaml:"auto_save_index_duration"`
// AutoIndexDurationLimit represents auto indexing duration limit
AutoIndexDurationLimit string `json:"auto_index_duration_limit,omitempty" yaml:"auto_index_duration_limit"`
// AutoIndexLength represents auto index length limit
AutoIndexLength int `json:"auto_index_length,omitempty" yaml:"auto_index_length"`
// InitialDelayMaxDuration represents maximum duration for initial delay
InitialDelayMaxDuration string `json:"initial_delay_max_duration,omitempty" yaml:"initial_delay_max_duration"`
// MinLoadIndexTimeout represents minimum duration of load index timeout
MinLoadIndexTimeout string `json:"min_load_index_timeout,omitempty" yaml:"min_load_index_timeout"`
// MaxLoadIndexTimeout represents maximum duration of load index timeout
MaxLoadIndexTimeout string `json:"max_load_index_timeout,omitempty" yaml:"max_load_index_timeout"`
// LoadIndexTimeoutFactor represents a factor of load index timeout
LoadIndexTimeoutFactor string `json:"load_index_timeout_factor,omitempty" yaml:"load_index_timeout_factor"`
// EnableProactiveGC enables more proactive GC call for reducing heap memory allocation
EnableProactiveGC bool `json:"enable_proactive_gc,omitempty" yaml:"enable_proactive_gc"`
// EnableCopyOnWrite enables copy on write saving
EnableCopyOnWrite bool `json:"enable_copy_on_write,omitempty" yaml:"enable_copy_on_write"`
// VQueue represents the faiss vector queue buffer size
VQueue *VQueue `json:"vqueue,omitempty" yaml:"vqueue"`
// KVSDB represents the faiss bidirectional kv store configuration
KVSDB *KVSDB `json:"kvsdb,omitempty" yaml:"kvsdb"`
}
Faiss represent the faiss core configuration for server.
type FilterConfig ¶ added in v1.7.11
type FilterConfig struct {
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 string `json:"host,omitempty" yaml:"host"`
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 {
EnableAdmin bool `json:"enable_admin,omitempty" yaml:"enable_admin"`
EnableChannelz bool `json:"enable_channelz,omitempty" yaml:"enable_channelz"`
EnableReflection bool `json:"enable_reflection,omitempty" yaml:"enable_reflection"`
WaitForHandlers bool `json:"wait_for_handlers,omitempty" yaml:"wait_for_handlers"`
HeaderTableSize uint32 `json:"header_table_size,omitempty" yaml:"header_table_size"`
MaxConcurrentStreams uint32 `json:"max_concurrent_streams,omitempty" yaml:"max_concurrent_streams"`
MaxHeaderListSize uint32 `json:"max_header_list_size,omitempty" yaml:"max_header_list_size"`
NumStreamWorkers uint32 `json:"num_stream_workers,omitempty" yaml:"num_stream_workers"`
BidirectionalStreamConcurrency int `json:"bidirectional_stream_concurrency,omitempty" yaml:"bidirectional_stream_concurrency"`
InitialConnWindowSize int `json:"initial_conn_window_size,omitempty" yaml:"initial_conn_window_size"`
InitialWindowSize int `json:"initial_window_size,omitempty" yaml:"initial_window_size"`
MaxReceiveMessageSize int `json:"max_receive_message_size,omitempty" yaml:"max_receive_message_size"`
MaxSendMessageSize int `json:"max_send_message_size,omitempty" yaml:"max_send_message_size"`
ReadBufferSize int `json:"read_buffer_size,omitempty" yaml:"read_buffer_size"`
WriteBufferSize int `json:"write_buffer_size,omitempty" yaml:"write_buffer_size"`
ConnectionTimeout string `json:"connection_timeout,omitempty" yaml:"connection_timeout"`
Interceptors []string `json:"interceptors,omitempty" yaml:"interceptors"`
Keepalive *GRPCKeepalive `json:"keepalive,omitempty" yaml:"keepalive"`
}
GRPC represents the configuration for gPRC.
type GRPCClient ¶
type GRPCClient struct {
Addrs []string `json:"addrs" yaml:"addrs"`
HealthCheckDuration string `json:"health_check_duration" yaml:"health_check_duration"`
ConnectionPool *ConnectionPool `json:"connection_pool" yaml:"connection_pool"`
Backoff *Backoff `json:"backoff" yaml:"backoff"`
CircuitBreaker *CircuitBreaker `json:"circuit_breaker" yaml:"circuit_breaker"`
CallOption *CallOption `json:"call_option" yaml:"call_option"`
DialOption *DialOption `json:"dial_option" yaml:"dial_option"`
TLS *TLS `json:"tls" yaml:"tls"`
}
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 string `json:"time" yaml:"time"`
Timeout string `json:"timeout" yaml:"timeout"`
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 string `json:"max_conn_idle" yaml:"max_conn_idle"`
MaxConnAge string `json:"max_conn_age" yaml:"max_conn_age"`
MaxConnAgeGrace string `json:"max_conn_age_grace" yaml:"max_conn_age_grace"`
Time string `json:"time" yaml:"time"`
Timeout string `json:"timeout" yaml:"timeout"`
MinTime string `json:"min_time" yaml:"min_time"`
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 {
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// IndexReplica represents index replication count
IndexReplica int `json:"index_replica" yaml:"index_replica"`
// Discoverer represent agent discoverer service configuration
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// Meta represent meta data service configuration
Meta *Meta `json:"meta" yaml:"meta"`
// BackupManager represent backup manager configuration
BackupManager *BackupManager `json:"backup" yaml:"backup"`
// EgressFilter represents egress filter configuration
EgressFilter *EgressFilter `json:"egress_filter" yaml:"egress_filter"`
}
Gateway represents the list of configurations for gateway.
type GlobalConfig ¶ added in v0.0.2
type GlobalConfig struct {
// Version represent configuration file version.
Version string `json:"version" yaml:"version"`
// TZ represent system time location .
TZ string `json:"time_zone" yaml:"time_zone"`
// Log represent log configuration.
Logging *Logging `json:"logging,omitempty" yaml:"logging,omitempty"`
}
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 *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 string `json:"idle_timeout" yaml:"idle_timeout"`
ReadHeaderTimeout string `json:"read_header_timeout" yaml:"read_header_timeout"`
ReadTimeout string `json:"read_timeout" yaml:"read_timeout"`
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 int `json:"handler_limit,omitempty" yaml:"handler_limit"`
Enabled bool `json:"enabled,omitempty" yaml:"enabled"`
PermitProhibitedCipherSuites bool `json:"permit_prohibited_cipher_suites,omitempty" yaml:"permit_prohibited_cipher_suites"`
MaxUploadBufferPerConnection int32 `json:"max_upload_buffer_per_connection,omitempty" yaml:"max_upload_buffer_per_connection"`
MaxUploadBufferPerStream int32 `json:"max_upload_buffer_per_stream,omitempty" yaml:"max_upload_buffer_per_stream"`
MaxConcurrentStreams uint32 `json:"max_concurrent_streams,omitempty" yaml:"max_concurrent_streams"`
MaxDecoderHeaderTableSize uint32 `json:"max_decoder_header_table_size,omitempty" yaml:"max_decoder_header_table_size"`
MaxEncoderHeaderTableSize uint32 `json:"max_encoder_header_table_size,omitempty" yaml:"max_encoder_header_table_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 {
Enabled bool `json:"enabled"`
DataCenter string `json:"data_center" yaml:"data_center"`
WhiteList []string `json:"white_list" yaml:"white_list"`
}
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 {
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// Concurrency represents indexing concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// CreationPoolSize represents batch pool size for indexing.
CreationPoolSize uint32 `json:"creation_pool_size" yaml:"creation_pool_size"`
// TargetAddrs represents indexing target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// Discoverer represents agent discoverer service configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
}
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 {
// IndexID represent target delete ID
IndexID string `json:"index_id" yaml:"index_id"`
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// Concurrency represents indexing concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// DeletionPoolSize represents batch pool size for indexing.
DeletionPoolSize uint32 `json:"deletion_pool_size" yaml:"deletion_pool_size"`
// TargetAddrs represents indexing target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// Discoverer represents agent discoverer service configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
}
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 {
// Concurrency represents indexing concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// KVSBackgroundSyncInterval represents interval for checked id list kvs sync duration
KVSBackgroundSyncInterval string `json:"kvs_background_sync_interval" yaml:"kvs_background_sync_interval"`
// KVSBackgroundCompactionInterval represents interval for checked id list kvs compaction duration
KVSBackgroundCompactionInterval string `json:"kvs_background_compaction_interval" yaml:"kvs_background_compaction_interval"`
// IndexPath represents the export index file path
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// Gateway represent gateway service configuration
Gateway *GRPCClient `json:"gateway" yaml:"gateway"`
}
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 *k8s.Job `json:"rotate" yaml:"rotate"`
Creation *k8s.Job `json:"creation" yaml:"creation"`
Save *k8s.Job `json:"save" yaml:"save"`
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 {
// Namespace represent the namespace of this pod
Namespace string `json:"namespace" yaml:"namespace"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// RotatorName represent rotator name for service discovery
RotatorName string `json:"rotator_name" yaml:"rotator_name"`
// TargetReadReplicaIDAnnotationsKey represents the environment variable name for target read replica id.
TargetReadReplicaIDAnnotationsKey string `json:"target_read_replica_id_annotations_key" yaml:"target_read_replica_id_annotations_key"`
// RotationJobConcurrency represents indexing concurrency.
RotationJobConcurrency uint `json:"rotation_job_concurrency" yaml:"rotation_job_concurrency"`
// ReadReplicaEnabled represents whether read replica is enabled or not.
ReadReplicaEnabled bool `json:"read_replica_enabled" yaml:"read_replica_enabled"`
// ReadReplicaLabelKey represents the label key for read replica.
ReadReplicaLabelKey string `json:"read_replica_label_key" yaml:"read_replica_label_key"`
// JobTemplates represents the job templates for indexing.
JobTemplates IndexJobTemplates `json:"job_templates" yaml:"job_templates"`
}
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 {
// AgentPort represent agent port number.
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery.
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location.
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery.
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name.
NodeName string `json:"node_name" yaml:"node_name"`
// Concurrency represents indexing concurrency.
Concurrency int `json:"concurrency" yaml:"concurrency"`
// TargetAddrs represents indexing target addresses.
TargetAddrs []string `json:"target_addrs" yaml:"target_addrs"`
// Discoverer represents agent discoverer service configuration.
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
}
IndexSave represents the configurations for index save.
type Indexer ¶ added in v0.0.5
type Indexer struct {
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// Concurrency represents indexing concurrency
Concurrency int `json:"concurrency" yaml:"concurrency"`
// AutoIndexDurationLimit represents auto indexing duration limit
AutoIndexDurationLimit string `json:"auto_index_duration_limit" yaml:"auto_index_duration_limit"`
// AutoSaveIndexDurationLimit represents auto save index duration limit
AutoSaveIndexDurationLimit string `json:"auto_save_index_duration_limit" yaml:"auto_save_index_duration_limit"`
// AutoSaveIndexWaitDuration represents auto save index wait for next duration
AutoSaveIndexWaitDuration string `json:"auto_save_index_wait_duration" yaml:"auto_save_index_wait_duration"`
// AutoIndexCheckDuration represent checking loop duration about auto indexing execution
AutoIndexCheckDuration string `json:"auto_index_check_duration" yaml:"auto_index_check_duration"`
// AutoIndexLength represent minimum auto index length
AutoIndexLength uint32 `json:"auto_index_length" yaml:"auto_index_length"`
// CreationPoolSize represent create index batch pool size
CreationPoolSize uint32 `json:"creation_pool_size" yaml:"creation_pool_size"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// Discoverer represent agent discoverer service configuration
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
}
Indexer represents the Indexer configurations.
type IngressFilter ¶ added in v1.0.0
type IngressFilter struct {
Client *GRPCClient `json:"client,omitempty" yaml:"client"`
Vectorizer string `json:"vectorizer,omitempty" yaml:"vectorizer"`
SearchFilters []string `json:"search_filters,omitempty" yaml:"search_filters"`
InsertFilters []string `json:"insert_filters,omitempty" yaml:"insert_filters"`
UpdateFilters []string `json:"update_filters,omitempty" yaml:"update_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 {
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
Timestamp string `json:"timestamp,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 {
// AgentPort represent agent port number
AgentPort int `json:"agent_port" yaml:"agent_port"`
// AgentName represent agents meta_name for service discovery
AgentName string `json:"agent_name" yaml:"agent_name"`
// AgentNamespace represent agent namespace location
AgentNamespace string `json:"agent_namespace" yaml:"agent_namespace"`
// AgentDNS represent agents dns A record for service discovery
AgentDNS string `json:"agent_dns" yaml:"agent_dns"`
// NodeName represents node name
NodeName string `json:"node_name" yaml:"node_name"`
// IndexReplica represents index replication count
IndexReplica int `json:"index_replica" yaml:"index_replica"`
// ReadReplicaReplicas represents replica count of read replica Deployment
ReadReplicaReplicas uint64 `json:"read_replica_replicas" yaml:"read_replica_replicas"`
// ReadReplicaClient represents read replica client configuration
ReadReplicaClient ReadReplicaClient `json:"read_replica_client" yaml:"read_replica_client"`
// Discoverer represent agent discoverer service configuration
Discoverer *DiscovererClient `json:"discoverer" yaml:"discoverer"`
// MultiOperationConcurrency
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 string `json:"logger" yaml:"logger"`
Level string `json:"level" yaml:"level"`
Format string `json:"format" yaml:"format"`
}
Logging represents Logging configuration.
type Meta ¶
type Meta struct {
Host string `json:"host" yaml:"host"`
Port uint16 `json:"port" yaml:"port"`
Client *GRPCClient `json:"client" yaml:"client"`
EnableCache bool `json:"enable_cache" yaml:"enable_cache"`
CacheExpiration string `json:"cache_expiration" yaml:"cache_expiration"`
ExpiredCacheCheckDuration string `json:"expired_cache_check_duration" yaml:"expired_cache_check_duration"`
}
Meta represents the configurations for vald meta.
type Metrics ¶ added in v0.0.19
type Metrics struct {
EnableVersionInfo bool `json:"enable_version_info" yaml:"enable_version_info"`
VersionInfoLabels []string `json:"version_info_labels" yaml:"version_info_labels"`
EnableMemory bool `json:"enable_memory" yaml:"enable_memory"`
EnableGoroutine bool `json:"enable_goroutine" yaml:"enable_goroutine"`
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 {
DB string `json:"db" yaml:"db"`
Network string `json:"network" yaml:"network"`
SocketPath string `json:"socket_path" yaml:"socket_path"`
Host string `json:"host" yaml:"host"`
Port uint16 `json:"port" yaml:"port"`
User string `json:"user" yaml:"user"`
Pass string `json:"pass" yaml:"pass"`
Name string `json:"name" yaml:"name"`
Charset string `json:"charset" yaml:"charset"`
Timezone string `json:"timezone" yaml:"timezone"`
InitialPingTimeLimit string `json:"initial_ping_time_limit" yaml:"initial_ping_time_limit"`
InitialPingDuration string `json:"initial_ping_duration" yaml:"initial_ping_duration"`
ConnMaxLifeTime string `json:"conn_max_life_time" yaml:"conn_max_life_time"`
MaxOpenConns int `json:"max_open_conns" yaml:"max_open_conns"`
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
TLS *TLS `json:"tls" yaml:"tls"`
Net *Net `json:"net" yaml:"net"`
}
MySQL represent the mysql configuration.
type NGT ¶
type NGT struct {
// PodName represent the ngt pod name
PodName string `json:"pod_name,omitempty" yaml:"pod_name"`
// PodNamespace represent the ngt pod namespace
PodNamespace string `json:"namespace,omitempty" yaml:"namespace"`
// IndexPath represent the ngt index file path
IndexPath string `json:"index_path,omitempty" yaml:"index_path"`
// Dimension represent the ngt index dimension
Dimension int `info:"dimension" json:"dimension,omitempty" yaml:"dimension"`
// BulkInsertChunkSize represent the bulk insert chunk size
BulkInsertChunkSize int `json:"bulk_insert_chunk_size,omitempty" yaml:"bulk_insert_chunk_size"`
// DistanceType represent the ngt index distance type
// it should be `l1`, `l2`, `angle`, `hamming`, `cosine`,`poincare`, `lorentz`, `jaccard`, `sparsejaccard`, `normalizedangle` or `normalizedcosine`. for further details about NGT libraries supported distance is https://github.com/yahoojapan/NGT/wiki/Command-Quick-Reference and vald agent's supported NGT distance type is https://pkg.go.dev/github.com/vdaas/vald/internal/core/algorithm/ngt#pkg-constants
DistanceType string `info:"distance_type" json:"distance_type,omitempty" yaml:"distance_type"`
// ObjectType represent the ngt index object type float or int
ObjectType string `info:"object_type" json:"object_type,omitempty" yaml:"object_type"`
// CreationEdgeSize represent the index edge count
CreationEdgeSize int `json:"creation_edge_size,omitempty" yaml:"creation_edge_size"`
// SearchEdgeSize represent the search edge size
SearchEdgeSize int `json:"search_edge_size,omitempty" yaml:"search_edge_size"`
// AutoIndexDurationLimit represents auto indexing duration limit
AutoIndexDurationLimit string `json:"auto_index_duration_limit,omitempty" yaml:"auto_index_duration_limit"`
// AutoIndexCheckDuration represent checking loop duration about auto indexing execution
AutoIndexCheckDuration string `json:"auto_index_check_duration,omitempty" yaml:"auto_index_check_duration"`
// AutoSaveIndexDuration represent checking loop duration about auto save index execution
AutoSaveIndexDuration string `json:"auto_save_index_duration,omitempty" yaml:"auto_save_index_duration"`
// AutoIndexLength represent auto index length limit
AutoIndexLength int `json:"auto_index_length,omitempty" yaml:"auto_index_length"`
// InitialDelayMaxDuration represent maximum duration for initial delay
InitialDelayMaxDuration string `json:"initial_delay_max_duration,omitempty" yaml:"initial_delay_max_duration"`
// EnableInMemoryMode enables on memory ngt indexing mode
EnableInMemoryMode bool `json:"enable_in_memory_mode,omitempty" yaml:"enable_in_memory_mode"`
// DefaultPoolSize represent default create index batch pool size
DefaultPoolSize uint32 `json:"default_pool_size,omitempty" yaml:"default_pool_size"`
// DefaultRadius represent default radius used for search
DefaultRadius float32 `json:"default_radius,omitempty" yaml:"default_radius"`
// DefaultEpsilon represent default epsilon used for search
DefaultEpsilon float32 `json:"default_epsilon,omitempty" yaml:"default_epsilon"`
// MinLoadIndexTimeout represents minimum duration of load index timeout
MinLoadIndexTimeout string `json:"min_load_index_timeout,omitempty" yaml:"min_load_index_timeout"`
// MaxLoadIndexTimeout represents maximum duration of load index timeout
MaxLoadIndexTimeout string `json:"max_load_index_timeout,omitempty" yaml:"max_load_index_timeout"`
// LoadIndexTimeoutFactor represents a factor of load index timeout
LoadIndexTimeoutFactor string `json:"load_index_timeout_factor,omitempty" yaml:"load_index_timeout_factor"`
// EnableProactiveGC enables more proactive GC call for reducing heap memory allocation
EnableProactiveGC bool `json:"enable_proactive_gc,omitempty" yaml:"enable_proactive_gc"`
// EnableCopyOnWrite enables copy on write saving
EnableCopyOnWrite bool `json:"enable_copy_on_write,omitempty" yaml:"enable_copy_on_write"`
// VQueue represent the ngt vector queue buffer size
VQueue *VQueue `json:"vqueue,omitempty" yaml:"vqueue"`
// KVSDB represent the ngt bidirectional kv store configuration
KVSDB *KVSDB `json:"kvsdb,omitempty" yaml:"kvsdb"`
// BrokenIndexHistoryLimit represents the maximum number of broken index generations that will be backed up
BrokenIndexHistoryLimit int `json:"broken_index_history_limit,omitempty" yaml:"broken_index_history_limit"`
// ErrorBufferLimit represents the maximum number of core ngt error buffer pool size limit
ErrorBufferLimit uint64 `json:"error_buffer_limit,omitempty" yaml:"error_buffer_limit"`
// IsReadReplica represents whether the ngt is read replica or not
IsReadReplica bool `json:"is_readreplica" yaml:"is_readreplica"`
// EnableExportIndexInfoToK8s represents whether the ngt index info is exported to k8s or not
EnableExportIndexInfoToK8s bool `json:"enable_export_index_info_to_k8s" yaml:"enable_export_index_info_to_k8s"`
// ExportIndexInfoDuration represents the duration of exporting index info to k8s
ExportIndexInfoDuration string `json:"export_index_info_duration,omitempty" yaml:"export_index_info_duration"`
// EnableStatistics represents whether the ngt index statistics load or not
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 {
Network string `json:"network,omitempty" yaml:"network"`
DNS *DNS `json:"dns,omitempty" yaml:"dns"`
Dialer *Dialer `json:"dialer,omitempty" yaml:"dialer"`
SocketOption *SocketOption `json:"socket_option,omitempty" yaml:"socket_option"`
TLS *TLS `json:"tls,omitempty" yaml:"tls"`
}
Net represents the network configuration tcp, udp, unix domain socket.
type OTLP ¶ added in v1.7.0
type OTLP struct {
CollectorEndpoint string `json:"collector_endpoint" yaml:"collector_endpoint"`
Attribute *OTLPAttribute `json:"attribute" yaml:"attribute"`
TraceBatchTimeout string `json:"trace_batch_timeout" yaml:"trace_batch_timeout"`
TraceExportTimeout string `json:"trace_export_timeout" yaml:"trace_export_timeout"`
TraceMaxExportBatchSize int `json:"trace_max_export_batch_size" yaml:"trace_max_export_batch_size"`
TraceMaxQueueSize int `json:"trace_max_queue_size" yaml:"trace_max_queue_size"`
MetricsExportInterval string `json:"metrics_export_interval" yaml:"metrics_export_interval"`
MetricsExportTimeout string `json:"metrics_export_timeout" yaml:"metrics_export_timeout"`
}
type OTLPAttribute ¶ added in v1.7.0
type OTLPAttribute struct {
Namespace string `json:"namespace" yaml:"namespace"`
PodName string `json:"pod_name" yaml:"pod_name"`
NodeName string `json:"node_name" yaml:"node_name"`
ServiceName string `json:"service_name" yaml:"service_name"`
}
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 FilterConfig `json:"filter_config,omitempty" 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 {
Enabled bool `json:"enabled" yaml:"enabled"`
OTLP *OTLP `json:"otlp" yaml:"otlp"`
Metrics *Metrics `json:"metrics" yaml:"metrics"`
Trace *Trace `json:"trace" yaml:"trace"`
}
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 *BenchmarkJobImageInfo `info:"image" json:"image,omitempty" yaml:"image"`
*BenchmarkJob
}
OperatorJobConfig represents the general job configuration for operator.
type PoolConfig ¶
type PoolConfig struct {
DataCenter string `json:"data_center" yaml:"data_center"`
DCAwareRouting bool `json:"dc_aware_routing" yaml:"dc_aware_routing"`
NonLocalReplicasFallback bool `json:"non_local_replicas_fallback" yaml:"non_local_replicas_fallback"`
ShuffleReplicas bool `json:"shuffle_replicas" yaml:"shuffle_replicas"`
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 {
Enabled bool `json:"enabled,omitempty" yaml:"enabled"`
IDKey string `json:"id_key,omitempty" yaml:"id_key"`
}
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 {
Duration string `json:"duration" yaml:"duration"`
Client *GRPCClient `json:"client" yaml:"client"`
AgentClientOptions *GRPCClient `json:"agent_client_options" yaml:"agent_client_options"`
}
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 string `json:"agent_namespace" yaml:"agent_namespace"`
ReadReplicaLabelKey string `json:"read_replica_label_key" yaml:"read_replica_label_key"`
TargetReadReplicaID string `json:"target_read_replica_id" yaml:"target_read_replica_id"`
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 {
MaxRetries int `json:"max_retries" yaml:"max_retries"`
InitialInterval string `json:"initial_interval" yaml:"initial_interval"`
}
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 {
Addrs []string `json:"addrs,omitempty" yaml:"addrs"`
DB int `json:"db,omitempty" yaml:"db"`
DialTimeout string `json:"dial_timeout,omitempty" yaml:"dial_timeout"`
IdleCheckFrequency string `json:"idle_check_frequency,omitempty" yaml:"idle_check_frequency"`
IdleTimeout string `json:"idle_timeout,omitempty" yaml:"idle_timeout"`
InitialPingDuration string `json:"initial_ping_duration,omitempty" yaml:"initial_ping_duration"`
InitialPingTimeLimit string `json:"initial_ping_time_limit,omitempty" yaml:"initial_ping_time_limit"`
KVPrefix string `json:"kv_prefix,omitempty" yaml:"kv_prefix"`
KeyPref string `json:"key_pref,omitempty" yaml:"key_pref"`
MaxConnAge string `json:"max_conn_age,omitempty" yaml:"max_conn_age"`
MaxRedirects int `json:"max_redirects,omitempty" yaml:"max_redirects"`
MaxRetries int `json:"max_retries,omitempty" yaml:"max_retries"`
MaxRetryBackoff string `json:"max_retry_backoff,omitempty" yaml:"max_retry_backoff"`
MinIdleConns int `json:"min_idle_conns,omitempty" yaml:"min_idle_conns"`
MinRetryBackoff string `json:"min_retry_backoff,omitempty" yaml:"min_retry_backoff"`
Network string `json:"network,omitempty" yaml:"network"`
Password string `json:"password,omitempty" yaml:"password"`
PoolSize int `json:"pool_size,omitempty" yaml:"pool_size"`
PoolTimeout string `json:"pool_timeout,omitempty" yaml:"pool_timeout"`
PrefixDelimiter string `json:"prefix_delimiter,omitempty" yaml:"prefix_delimiter"`
ReadOnly bool `json:"read_only,omitempty" yaml:"read_only"`
ReadTimeout string `json:"read_timeout,omitempty" yaml:"read_timeout"`
RouteByLatency bool `json:"route_by_latency,omitempty" yaml:"route_by_latency"`
RouteRandomly bool `json:"route_randomly,omitempty" yaml:"route_randomly"`
SentinelPassword string `json:"sentinel_password,omitempty" yaml:"sentinel_password"`
SentinelMasterName string `json:"sentinel_main_name,omitempty" yaml:"sentinel_main_name"`
Net *Net `json:"tcp,omitempty" yaml:"net"`
TLS *TLS `json:"tls,omitempty" yaml:"tls"`
Username string `json:"username,omitempty" yaml:"username"`
VKPrefix string `json:"vk_prefix,omitempty" yaml:"vk_prefix"`
WriteTimeout string `json:"write_timeout,omitempty" yaml:"write_timeout"`
}
Redis represents the configuration for redis cluster.
type RemoveConfig ¶ added in v1.7.11
type RemoveConfig struct {
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
Timestamp string `json:"timestamp,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 {
NumRetries int `json:"num_retries" yaml:"num_retries"`
MinDuration string `json:"min_duration" yaml:"min_duration"`
MaxDuration string `json:"max_duration" yaml:"max_duration"`
}
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 string `json:"tls_handshake_timeout" yaml:"tls_handshake_timeout"`
MaxIdleConns int `json:"max_idle_conns" yaml:"max_idle_conns"`
MaxIdleConnsPerHost int `json:"max_idle_conns_per_host" yaml:"max_idle_conns_per_host"`
MaxConnsPerHost int `json:"max_conns_per_host" yaml:"max_conns_per_host"`
IdleConnTimeout string `json:"idle_conn_timeout" yaml:"idle_conn_timeout"`
ResponseHeaderTimeout string `json:"response_header_timeout" yaml:"response_header_timeout"`
ExpectContinueTimeout string `json:"expect_continue_timeout" yaml:"expect_continue_timeout"`
MaxResponseHeaderSize int64 `json:"max_response_header_size" yaml:"max_response_header_size"`
WriteBufferSize int64 `json:"write_buffer_size" yaml:"write_buffer_size"`
ReadBufferSize int64 `json:"read_buffer_size" yaml:"read_buffer_size"`
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 string `json:"endpoint" yaml:"endpoint"`
Region string `json:"region" yaml:"region"`
AccessKey string `json:"access_key" yaml:"access_key"`
SecretAccessKey string `json:"secret_access_key" yaml:"secret_access_key"`
Token string `json:"token" yaml:"token"`
MaxRetries int `json:"max_retries" yaml:"max_retries"`
ForcePathStyle bool `json:"force_path_style" yaml:"force_path_style"`
UseAccelerate bool `json:"use_accelerate" yaml:"use_accelerate"`
UseARNRegion bool `json:"use_arn_region" yaml:"use_arn_region"`
UseDualStack bool `json:"use_dual_stack" yaml:"use_dual_stack"`
EnableSSL bool `json:"enable_ssl" yaml:"enable_ssl"`
EnableParamValidation bool `json:"enable_param_validation" yaml:"enable_param_validation"`
Enable100Continue bool `json:"enable_100_continue" yaml:"enable_100_continue"`
EnableContentMD5Validation bool `json:"enable_content_md5_validation" yaml:"enable_content_md5_validation"`
EnableEndpointDiscovery bool `json:"enable_endpoint_discovery" yaml:"enable_endpoint_discovery"`
EnableEndpointHostPrefix bool `json:"enable_endpoint_host_prefix" yaml:"enable_endpoint_host_prefix"`
MaxPartSize string `json:"max_part_size" yaml:"max_part_size"`
MaxChunkSize string `json:"max_chunk_size" yaml:"max_chunk_size"`
}
S3Config represents S3Config configuration.
type SearchConfig ¶ added in v1.7.11
type SearchConfig struct {
Epsilon float32 `json:"epsilon,omitempty"`
Radius float32 `json:"radius,omitempty"`
Num int32 `json:"num,omitempty"`
MinNum int32 `json:"min_num,omitempty"`
Timeout string `json:"timeout,omitempty"`
EnableLinearSearch bool `json:"enable_linear_search,omitempty"`
AggregationAlgorithm string `json:"aggregation_algorithm,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 map[string]string `json:"labels,omitempty" yaml:"labels"`
Fields map[string]string `json:"fields,omitempty" yaml:"fields"`
}
type Selectors ¶ added in v1.3.0
type Selectors struct {
Pod *Selector `json:"pod,omitempty" yaml:"pod"`
Node *Selector `json:"node,omitempty" yaml:"node"`
NodeMetrics *Selector `json:"node_metrics,omitempty" yaml:"node_metrics"`
PodMetrics *Selector `json:"pod_metrics,omitempty" yaml:"pod_metrics"`
Service *Selector `json:"service,omitempty" yaml:"service"`
}
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 *GRPC `json:"grpc,omitempty" yaml:"grpc"`
SocketOption *SocketOption `json:"socket_option,omitempty" yaml:"socket_option"`
HTTP *HTTP `json:"http,omitempty" yaml:"http"`
Name string `json:"name,omitempty" yaml:"name"`
Network string `json:"network,omitempty" yaml:"network"`
Host string `json:"host,omitempty" yaml:"host"`
SocketPath string `json:"socket_path,omitempty" yaml:"socket_path"`
Mode string `json:"mode,omitempty" yaml:"mode"` // gRPC, REST, GraphQL
ProbeWaitTime string `json:"probe_wait_time,omitempty" yaml:"probe_wait_time"`
Restart bool `json:"restart,omitempty" yaml:"restart"`
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 bool `json:"reuse_port,omitempty" yaml:"reuse_port"`
ReuseAddr bool `json:"reuse_addr,omitempty" yaml:"reuse_addr"`
TCPFastOpen bool `json:"tcp_fast_open,omitempty" yaml:"tcp_fast_open"`
TCPNoDelay bool `json:"tcp_no_delay,omitempty" yaml:"tcp_no_delay"`
TCPCork bool `json:"tcp_cork,omitempty" yaml:"tcp_cork"`
TCPQuickAck bool `json:"tcp_quick_ack,omitempty" yaml:"tcp_quick_ack"`
TCPDeferAccept bool `json:"tcp_defer_accept,omitempty" yaml:"tcp_defer_accept"`
IPTransparent bool `json:"ip_transparent,omitempty" yaml:"ip_transparent"`
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 {
// Enable represent the server enable TLS or not.
Enabled bool `json:"enabled" yaml:"enabled"`
// Cert represent the certificate environment variable key used to start server.
Cert string `json:"cert" yaml:"cert"`
// Key represent the private key environment variable key used to start server.
Key string `json:"key" yaml:"key"`
// CA represent the CA certificate environment variable key used to start server.
CA string `json:"ca" yaml:"ca"`
// ServerName represents the tls Server SNI.
ServerName string `json:"server_name" yaml:"server_name"`
// ClientAuth represents the tls ClientAuth Type for Server
ClientAuth string `json:"client_auth" yaml:"client_auth"`
// InsecureSkipVerify represent enable/disable skip SSL certificate verification
InsecureSkipVerify bool `json:"insecure_skip_verify" yaml:"insecure_skip_verify"`
}
TLS represent the TLS configuration for server.
type Trace ¶ added in v0.0.19
type Trace struct {
Enabled bool `json:"enabled" yaml:"enabled"`
}
Trace represents the configuration for the trace.
type Transport ¶
type Transport struct {
RoundTripper *RoundTripper `json:"round_tripper" yaml:"round_tripper"`
Backoff *Backoff `json:"backoff" yaml:"backoff"`
}
TCP represents the TCP configuration for server.
type UpdateConfig ¶ added in v1.7.11
type UpdateConfig struct {
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
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 {
SkipStrictExistCheck bool `json:"skip_strict_exist_check,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
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