Documentation ¶
Overview ¶
Package config providers configuration type and load configuration logic
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Copyright (C) 2019-2024 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 ¶
package config providers configuration type and load configuration logic
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Copyright (C) 2019-2024 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-2024 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-2024 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 ¶
Package config providers configuration type and load configuration logic ¶
Copyright (C) 2019-2024 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 ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Copyright (C) 2019-2024 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 ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic ¶
Package config providers configuration type and load configuration logic
Index ¶
- func GetActualValue(val string) (res string)
- func GetActualValues(vals []string) []string
- func Merge[T any](objs ...T) (dst T, err error)
- func Read(path string, cfg any) (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 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 ¶
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 ¶
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"` }
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.
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"` RebalanceDuration string `json:"rebalance_duration" yaml:"rebalance_duration"` Size int `json:"size" yaml:"size"` OldConnCloseDuration string `json:"old_conn_close_duration" yaml:"old_conn_close_duration"` }
ConnectionPool represents the configurations for connection pool.
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 string `json:"shutdown_duration" yaml:"shutdown_duration"` 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.
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 IndexJobTemplates ¶ added in v1.7.13
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 { 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.
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.
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.
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"` // 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
- faiss.go
- filter.go
- gateway.go
- grpc.go
- index.go
- index_creation.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