diff --git a/Makefile.d/k8s.mk b/Makefile.d/k8s.mk index 6ee28a3bae..efa2590143 100644 --- a/Makefile.d/k8s.mk +++ b/Makefile.d/k8s.mk @@ -43,8 +43,6 @@ k8s/manifest/update: \ mv $(TEMP_DIR)/vald/templates/gateway/lb k8s/gateway/lb mv $(TEMP_DIR)/vald/templates/manager/index k8s/manager/index mv $(TEMP_DIR)/vald/templates/index/job/correction k8s/index/job/correction - mv $(TEMP_DIR)/vald/templates/index/job/creation k8s/index/job/creation - mv $(TEMP_DIR)/vald/templates/index/job/save k8s/index/job/save rm -rf $(TEMP_DIR) .PHONY: k8s/manifest/helm-operator/clean diff --git a/charts/vald-helm-operator/crds/valdrelease.yaml b/charts/vald-helm-operator/crds/valdrelease.yaml index 430ae2fcd7..6a62e051bf 100644 --- a/charts/vald-helm-operator/crds/valdrelease.yaml +++ b/charts/vald-helm-operator/crds/valdrelease.yaml @@ -6077,6 +6077,9 @@ spec: properties: agent_namespace: type: string + bbolt_async_write_concurrency: + type: integer + minimum: 1 discoverer: type: object properties: @@ -6452,14 +6455,6 @@ spec: type: string tag: type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - kvs_async_write_concurrency: - type: integer - minimum: 1 name: type: string node_name: @@ -7042,11 +7037,43 @@ spec: version: type: string pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ - creator: + enabled: + type: boolean + env: + type: array + items: + type: object + x-kubernetes-preserve-unknown-fields: true + externalTrafficPolicy: + type: string + image: + type: object + properties: + pullPolicy: + type: string + enum: + - Always + - Never + - IfNotPresent + repository: + type: string + tag: + type: string + indexer: type: object properties: agent_namespace: type: string + auto_index_check_duration: + type: string + auto_index_duration_limit: + type: string + auto_index_length: + type: integer + auto_save_index_duration_limit: + type: string + auto_save_index_wait_duration: + type: string concurrency: type: integer minimum: 1 @@ -7407,2125 +7434,149 @@ spec: type: boolean duration: type: string + node_name: + type: string + initContainers: + type: array + items: + type: object + x-kubernetes-preserve-unknown-fields: true + kind: + type: string + enum: + - Deployment + - DaemonSet + logging: + type: object + properties: + format: + type: string + enum: + - raw + - json + level: + type: string + enum: + - debug + - info + - warn + - error + - fatal + logger: + type: string + enum: + - glg + - zap + maxUnavailable: + type: string + name: + type: string + nodeName: + type: string + nodeSelector: + type: object + x-kubernetes-preserve-unknown-fields: true + observability: + type: object + properties: enabled: type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - image: + metrics: type: object properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - node_name: - type: string - observability: + enable_cgo: + type: boolean + enable_goroutine: + type: boolean + enable_memory: + type: boolean + enable_version_info: + type: boolean + version_info_labels: + type: array + items: + type: string + enum: + - vald_version + - server_name + - git_commit + - build_time + - go_version + - go_os + - go_arch + - cgo_enabled + - ngt_version + - build_cpu_info_flags + otlp: type: object properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: + attribute: type: object properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: + namespace: type: string - metrics_export_timeout: + node_name: type: string - trace_batch_timeout: + pod_name: type: string - trace_export_timeout: + service_name: type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - schedule: - type: string - server_config: + collector_endpoint: + type: string + metrics_export_interval: + type: string + metrics_export_timeout: + type: string + trace_batch_timeout: + type: string + trace_export_timeout: + type: string + trace_max_export_batch_size: + type: integer + trace_max_queue_size: + type: integer + trace: type: object properties: - full_shutdown_duration: - type: string - healths: - type: object - properties: - liveness: - type: object - properties: - enabled: - type: boolean - host: - type: string - livenessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - readiness: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - readinessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - startup: - type: object - properties: - enabled: - type: boolean - port: - type: integer - maximum: 65535 - minimum: 0 - startupProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - metrics: - type: object - properties: - pprof: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - servers: - type: object - properties: - grpc: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - grpc: - type: object - properties: - bidirectional_stream_concurrency: - type: integer - connection_timeout: - type: string - enable_reflection: - type: boolean - header_table_size: - type: integer - initial_conn_window_size: - type: integer - initial_window_size: - type: integer - interceptors: - type: array - items: - type: string - enum: - - RecoverInterceptor - - AccessLogInterceptor - - TraceInterceptor - - MetricInterceptor - keepalive: - type: object - properties: - max_conn_age: - type: string - max_conn_age_grace: - type: string - max_conn_idle: - type: string - min_time: - type: string - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_header_list_size: - type: integer - max_receive_message_size: - type: integer - max_send_message_size: - type: integer - read_buffer_size: - type: integer - write_buffer_size: - type: integer - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - restart: - type: boolean - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - rest: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - startingDeadlineSeconds: - type: integer - suspend: - type: boolean - target_addrs: - type: array - items: - type: string - ttlSecondsAfterFinished: - type: integer - version: - type: string - pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ - enabled: - type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - externalTrafficPolicy: - type: string - image: - type: object - properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - indexer: - type: object - properties: - agent_namespace: - type: string - auto_index_check_duration: - type: string - auto_index_duration_limit: - type: string - auto_index_length: - type: integer - auto_save_index_duration_limit: - type: string - auto_save_index_wait_duration: - type: string - concurrency: - type: integer - minimum: 1 - creation_pool_size: - type: integer - discoverer: - type: object - properties: - agent_client_options: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - client: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - duration: - type: string - node_name: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - kind: - type: string - enum: - - Deployment - - DaemonSet - logging: - type: object - properties: - format: - type: string - enum: - - raw - - json - level: - type: string - enum: - - debug - - info - - warn - - error - - fatal - logger: - type: string - enum: - - glg - - zap - maxUnavailable: - type: string - name: - type: string - nodeName: - type: string - nodeSelector: - type: object - x-kubernetes-preserve-unknown-fields: true - observability: - type: object - properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: - type: object - properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: - type: string - metrics_export_timeout: - type: string - trace_batch_timeout: - type: string - trace_export_timeout: - type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - podAnnotations: - type: object - x-kubernetes-preserve-unknown-fields: true - podPriority: - type: object - properties: - enabled: - type: boolean - value: - type: integer - podSecurityContext: - type: object - x-kubernetes-preserve-unknown-fields: true - progressDeadlineSeconds: - type: integer - replicas: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - x-kubernetes-preserve-unknown-fields: true - requests: - type: object - x-kubernetes-preserve-unknown-fields: true - revisionHistoryLimit: - type: integer - minimum: 0 - rollingUpdate: - type: object - properties: - maxSurge: - type: string - maxUnavailable: - type: string - saver: - type: object - properties: - agent_namespace: - type: string - concurrency: - type: integer - minimum: 1 - discoverer: - type: object - properties: - agent_client_options: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - client: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - duration: - type: string - enabled: - type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - image: - type: object - properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - node_name: - type: string - observability: - type: object - properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: - type: object - properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: - type: string - metrics_export_timeout: - type: string - trace_batch_timeout: - type: string - trace_export_timeout: - type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - schedule: - type: string - server_config: - type: object - properties: - full_shutdown_duration: - type: string - healths: - type: object - properties: - liveness: - type: object - properties: - enabled: - type: boolean - host: - type: string - livenessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - readiness: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - readinessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - startup: - type: object - properties: - enabled: - type: boolean - port: - type: integer - maximum: 65535 - minimum: 0 - startupProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - metrics: - type: object - properties: - pprof: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - servers: - type: object - properties: - grpc: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - grpc: - type: object - properties: - bidirectional_stream_concurrency: - type: integer - connection_timeout: - type: string - enable_reflection: - type: boolean - header_table_size: - type: integer - initial_conn_window_size: - type: integer - initial_window_size: - type: integer - interceptors: - type: array - items: - type: string - enum: - - RecoverInterceptor - - AccessLogInterceptor - - TraceInterceptor - - MetricInterceptor - keepalive: - type: object - properties: - max_conn_age: - type: string - max_conn_age_grace: - type: string - max_conn_idle: - type: string - min_time: - type: string - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_header_list_size: - type: integer - max_receive_message_size: - type: integer - max_send_message_size: - type: integer - read_buffer_size: - type: integer - write_buffer_size: - type: integer - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - restart: - type: boolean - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - rest: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - startingDeadlineSeconds: - type: integer - suspend: + enabled: + type: boolean + podAnnotations: + type: object + x-kubernetes-preserve-unknown-fields: true + podPriority: + type: object + properties: + enabled: type: boolean - target_addrs: - type: array - items: - type: string - ttlSecondsAfterFinished: + value: type: integer - version: + podSecurityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + progressDeadlineSeconds: + type: integer + replicas: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + x-kubernetes-preserve-unknown-fields: true + requests: + type: object + x-kubernetes-preserve-unknown-fields: true + revisionHistoryLimit: + type: integer + minimum: 0 + rollingUpdate: + type: object + properties: + maxSurge: + type: string + maxUnavailable: type: string - pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ securityContext: type: object x-kubernetes-preserve-unknown-fields: true diff --git a/charts/vald/templates/agent/networkpolicy.yaml b/charts/vald/templates/agent/networkpolicy.yaml index 42e52426d4..ef51ea5439 100644 --- a/charts/vald/templates/agent/networkpolicy.yaml +++ b/charts/vald/templates/agent/networkpolicy.yaml @@ -14,12 +14,10 @@ # limitations under the License. # -{{- $agent := .Values.agent -}} -{{- $lb := .Values.gateway.lb -}} -{{- $index := .Values.manager.index -}} +{{- $agent := .Values.agent -}} +{{- $lb := .Values.gateway.lb -}} +{{- $index := .Values.manager.index -}} {{- $corrector := .Values.manager.index.corrector -}} -{{- $creator := .Values.manager.index.creator -}} -{{- $saver := .Values.manager.index.saver -}} {{- if .Values.defaults.networkPolicy.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy @@ -53,18 +51,6 @@ spec: podSelector: matchLabels: app: {{ $corrector.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $creator.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $saver.name }} {{- if .Values.defaults.networkPolicy.custom.ingress }} {{- toYaml .Values.defaults.networkPolicy.custom.ingress | nindent 4 }} {{- end }} diff --git a/charts/vald/templates/discoverer/networkpolicy.yaml b/charts/vald/templates/discoverer/networkpolicy.yaml index 25e1373a97..41803702dd 100644 --- a/charts/vald/templates/discoverer/networkpolicy.yaml +++ b/charts/vald/templates/discoverer/networkpolicy.yaml @@ -15,11 +15,9 @@ # {{- $discoverer := .Values.discoverer -}} -{{- $lb := .Values.gateway.lb -}} -{{- $index := .Values.manager.index -}} -{{- $corrector := .Values.manager.index.corrector -}} -{{- $creator := .Values.manager.index.creator -}} -{{- $saver := .Values.manager.index.saver -}} +{{- $lb := .Values.gateway.lb -}} +{{- $index := .Values.manager.index -}} +{{- $corrector := .Values.manager.index.corrector -}} {{- if .Values.defaults.networkPolicy.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy @@ -55,18 +53,6 @@ spec: podSelector: matchLabels: app: {{ $corrector.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $creator.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $saver.name }} {{- if .Values.defaults.networkPolicy.custom.ingress }} {{- toYaml .Values.defaults.networkPolicy.custom.ingress | nindent 4 }} {{- end }} diff --git a/charts/vald/templates/index/job/correction/configmap.yaml b/charts/vald/templates/index/job/correction/configmap.yaml index e0e1a4a960..77db8328e2 100644 --- a/charts/vald/templates/index/job/correction/configmap.yaml +++ b/charts/vald/templates/index/job/correction/configmap.yaml @@ -51,12 +51,12 @@ data: agent_namespace: {{ $index.indexer.agent_namespace | quote }} node_name: {{ $index.indexer.node_name | quote }} stream_list_concurrency: {{ $corrector.stream_list_concurrency }} - kvs_async_write_concurrency: {{ $corrector.kvs_async_write_concurrency }} + bbolt_async_write_concurrency: {{ $corrector.bbolt_async_write_concurrency }} index_replica: {{ $gateway.gateway_config.index_replica }} discoverer: duration: {{ $corrector.discoverer.duration }} client: - {{- $discovererClient := $index.corrector.discoverer.client }} + {{- $discovererClient := $index.indexer.discoverer.client }} {{- $discovererServerPort := $discoverer.server_config.servers.grpc.port }} {{- $defaultDiscovererHost := printf "%s.%s.svc.cluster.local" $discoverer.name .Release.Namespace }} {{- $defaultDiscovererPort := default .Values.defaults.server_config.servers.grpc.port $discovererServerPort }} diff --git a/charts/vald/templates/index/job/correction/cronjob.yaml b/charts/vald/templates/index/job/correction/cronjob.yaml index 28f1910358..70c3f408f5 100644 --- a/charts/vald/templates/index/job/correction/cronjob.yaml +++ b/charts/vald/templates/index/job/correction/cronjob.yaml @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # + {{- $corrector := .Values.manager.index.corrector -}} {{- if $corrector.enabled }} apiVersion: batch/v1 @@ -27,7 +28,7 @@ metadata: app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.Version }} spec: - schedule: {{ $corrector.schedule | quote }} + schedule: {{ $corrector.schedule }} concurrencyPolicy: Forbid suspend: {{ $corrector.suspend }} startingDeadlineSeconds: {{ $corrector.startingDeadlineSeconds }} @@ -38,21 +39,7 @@ spec: metadata: labels: app: {{ $corrector.name }} - annotations: - {{- $pprof := default .Values.defaults.server_config.metrics.pprof $corrector.server_config.metrics.pprof -}} - {{- if $pprof.enabled }} - pyroscope.io/scrape: "true" - pyroscope.io/application-name: {{ $corrector.name }} - pyroscope.io/profile-cpu-enabled: "true" - pyroscope.io/profile-mem-enabled: "true" - pyroscope.io/port: {{ $pprof.port | quote }} - {{- end }} spec: - {{- if $corrector.initContainers }} - initContainers: - {{- $initContainers := dict "initContainers" $corrector.initContainers "Values" .Values "namespace" .Release.Namespace -}} - {{- include "vald.initContainers" $initContainers | trim | nindent 12 }} - {{- end }} containers: - name: {{ $corrector.name }} image: "{{ $corrector.image.repository }}:{{ default .Values.defaults.image.tag $corrector.image.tag }}" diff --git a/charts/vald/templates/index/job/correction/networkpolicy.yaml b/charts/vald/templates/index/job/correction/networkpolicy.yaml deleted file mode 100644 index a780880ec9..0000000000 --- a/charts/vald/templates/index/job/correction/networkpolicy.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# - -{{- $agent := .Values.agent -}} -{{- $discoverer := .Values.discoverer -}} -{{- $corrector := .Values.manager.index.corrector -}} -{{- if and .Values.defaults.networkPolicy.enabled $corrector.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: {{ $corrector.name }}-allow -spec: - podSelector: - matchLabels: - app: {{ $corrector.name }} - policyTypes: - - Ingress - - Egress - ingress: - - from: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.ingress }} - {{- toYaml .Values.defaults.networkPolicy.custom.ingress | nindent 4 }} - {{- end }} - egress: - - to: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $agent.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $discoverer.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.egress }} - {{- toYaml .Values.defaults.networkPolicy.custom.egress | nindent 4 }} - {{- end }} -{{- end }} diff --git a/charts/vald/templates/index/job/creation/configmap.yaml b/charts/vald/templates/index/job/creation/configmap.yaml deleted file mode 100644 index f16463ee28..0000000000 --- a/charts/vald/templates/index/job/creation/configmap.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# -{{- $creator := .Values.manager.index.creator -}} -{{- $gateway := .Values.gateway.lb -}} -{{- $index := .Values.manager.index -}} -{{- $agent := .Values.agent -}} -{{- $discoverer := .Values.discoverer -}} -{{- if $creator.enabled }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ $creator.name }}-config - labels: - app.kubernetes.io/name: {{ include "vald.name" . }} - helm.sh/chart: {{ include "vald.chart" . }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: {{ $creator.name }} -data: - config.yaml: | - --- - version: {{ $creator.version }} - time_zone: {{ default .Values.defaults.time_zone $creator.time_zone }} - logging: - {{- $logging := dict "Values" $creator.logging "default" .Values.defaults.logging }} - {{- include "vald.logging" $logging | nindent 6 }} - server_config: - {{- $servers := dict "Values" $creator.server_config "default" .Values.defaults.server_config }} - {{- include "vald.servers" $servers | nindent 6 }} - observability: - {{- $observability := dict "Values" $creator.observability "default" .Values.defaults.observability }} - {{- include "vald.observability" $observability | nindent 6 }} - creator: - agent_port: {{ default .Values.defaults.server_config.servers.grpc.port $agent.server_config.servers.grpc.port }} - agent_name: {{ $agent.name | quote }} - agent_dns: {{ $agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ $creator.agent_namespace | quote }} - node_name: {{ $creator.node_name | quote }} - concurrency: {{ $creator.concurrency }} - target_addrs: {{ $creator.target_addrs }} - discoverer: - duration: {{ $creator.discoverer.duration }} - client: - {{- $discovererClient := $creator.discoverer.client }} - {{- $discovererServerPort := $discoverer.server_config.servers.grpc.port }} - {{- $defaultDiscovererHost := printf "%s.%s.svc.cluster.local" $discoverer.name .Release.Namespace }} - {{- $defaultDiscovererPort := default .Values.defaults.server_config.servers.grpc.port $discovererServerPort }} - {{- $defaultDiscovererAddr := (list (printf "%s:%d" $defaultDiscovererHost (int64 $defaultDiscovererPort))) }} - {{- $discovererAddrs := dict "Values" $discovererClient.addrs "default" $defaultDiscovererAddr }} - {{- include "vald.grpc.client.addrs" $discovererAddrs | nindent 10 }} - {{- $discovererGRPCclient := dict "Values" $discovererClient "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $discovererGRPCclient | nindent 10 }} - agent_client_options: - {{- include "vald.grpc.client.addrs" (dict "Values" $creator.discoverer.agent_client_options.addrs) | nindent 10 }} - {{- include "vald.grpc.client" (dict "Values" $creator.discoverer.agent_client_options "default" .Values.defaults.grpc.client) | nindent 10 }} -{{- end }} diff --git a/charts/vald/templates/index/job/creation/cronjob.yaml b/charts/vald/templates/index/job/creation/cronjob.yaml deleted file mode 100644 index f04b6e2a10..0000000000 --- a/charts/vald/templates/index/job/creation/cronjob.yaml +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# -{{- $creator := .Values.manager.index.creator -}} -{{- if $creator.enabled }} -apiVersion: batch/v1 -kind: CronJob -metadata: - name: {{ $creator.name }} - labels: - app: {{ $creator.name }} - app.kubernetes.io/name: {{ include "vald.name" . }} - helm.sh/chart: {{ include "vald.chart" . }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.Version }} -spec: - schedule: {{ $creator.schedule | quote }} - concurrencyPolicy: Forbid - suspend: {{ $creator.suspend }} - startingDeadlineSeconds: {{ $creator.startingDeadlineSeconds }} - jobTemplate: - spec: - ttlSecondsAfterFinished: {{ $creator.ttlSecondsAfterFinished }} - template: - metadata: - labels: - app: {{ $creator.name }} - app.kubernetes.io/name: {{ include "vald.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/component: {{ $creator.name }} - annotations: - {{- $pprof := default .Values.defaults.server_config.metrics.pprof $creator.server_config.metrics.pprof -}} - {{- if $pprof.enabled }} - pyroscope.io/scrape: "true" - pyroscope.io/application-name: {{ $creator.name }} - pyroscope.io/profile-cpu-enabled: "true" - pyroscope.io/profile-mem-enabled: "true" - pyroscope.io/port: {{ $pprof.port | quote }} - {{- end }} - spec: - {{- if $creator.initContainers }} - initContainers: - {{- $initContainers := dict "initContainers" $creator.initContainers "Values" .Values "namespace" .Release.Namespace -}} - {{- include "vald.initContainers" $initContainers | trim | nindent 12 }} - {{- end }} - containers: - - name: {{ $creator.name }} - image: "{{ $creator.image.repository }}:{{ default .Values.defaults.image.tag $creator.image.tag }}" - imagePullPolicy: {{ $creator.image.pullPolicy }} - volumeMounts: - - name: {{ $creator.name }}-config - mountPath: /etc/server/ - {{- $servers := dict "Values" $creator.server_config "default" .Values.defaults.server_config -}} - {{- include "vald.containerPorts" $servers | trim | nindent 14 }} - {{- if $creator.env }} - env: - {{- toYaml $creator.env | nindent 16 }} - {{- end }} - restartPolicy: OnFailure - volumes: - - name: {{ $creator.name }}-config - configMap: - defaultMode: 420 - name: {{ $creator.name }}-config -{{- end }} diff --git a/charts/vald/templates/index/job/creation/networkpolicy.yaml b/charts/vald/templates/index/job/creation/networkpolicy.yaml deleted file mode 100644 index 597ed01d54..0000000000 --- a/charts/vald/templates/index/job/creation/networkpolicy.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# - -{{- $agent := .Values.agent -}} -{{- $discoverer := .Values.discoverer -}} -{{- $creator := .Values.manager.index.creator -}} -{{- if and .Values.defaults.networkPolicy.enabled $creator.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: {{ $creator.name }}-allow -spec: - podSelector: - matchLabels: - app: {{ $creator.name }} - policyTypes: - - Ingress - - Egress - ingress: - - from: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.ingress }} - {{- toYaml .Values.defaults.networkPolicy.custom.ingress | nindent 4 }} - {{- end }} - egress: - - to: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $agent.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $discoverer.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.egress }} - {{- toYaml .Values.defaults.networkPolicy.custom.egress | nindent 4 }} - {{- end }} -{{- end }} diff --git a/charts/vald/templates/index/job/save/configmap.yaml b/charts/vald/templates/index/job/save/configmap.yaml deleted file mode 100644 index c0f4a7ff9d..0000000000 --- a/charts/vald/templates/index/job/save/configmap.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# -{{- $saver := .Values.manager.index.saver -}} -{{- $gateway := .Values.gateway.lb -}} -{{- $index := .Values.manager.index -}} -{{- $agent := .Values.agent -}} -{{- $discoverer := .Values.discoverer -}} -{{- if $saver.enabled }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ $saver.name }}-config - labels: - app.kubernetes.io/name: {{ include "vald.name" . }} - helm.sh/chart: {{ include "vald.chart" . }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.Version }} - app.kubernetes.io/component: {{ $saver.name }} -data: - config.yaml: | - --- - version: {{ $saver.version }} - time_zone: {{ default .Values.defaults.time_zone $saver.time_zone }} - logging: - {{- $logging := dict "Values" $saver.logging "default" .Values.defaults.logging }} - {{- include "vald.logging" $logging | nindent 6 }} - server_config: - {{- $servers := dict "Values" $saver.server_config "default" .Values.defaults.server_config }} - {{- include "vald.servers" $servers | nindent 6 }} - observability: - {{- $observability := dict "Values" $saver.observability "default" .Values.defaults.observability }} - {{- include "vald.observability" $observability | nindent 6 }} - saver: - agent_port: {{ default .Values.defaults.server_config.servers.grpc.port $agent.server_config.servers.grpc.port }} - agent_name: {{ $agent.name | quote }} - agent_dns: {{ $agent.name }}.{{ .Release.Namespace }}.svc.cluster.local - agent_namespace: {{ $saver.agent_namespace | quote }} - node_name: {{ $saver.node_name | quote }} - concurrency: {{ $saver.concurrency }} - target_addrs: {{ $saver.target_addrs }} - discoverer: - duration: {{ $saver.discoverer.duration }} - client: - {{- $discovererClient := $saver.discoverer.client }} - {{- $discovererServerPort := $discoverer.server_config.servers.grpc.port }} - {{- $defaultDiscovererHost := printf "%s.%s.svc.cluster.local" $discoverer.name .Release.Namespace }} - {{- $defaultDiscovererPort := default .Values.defaults.server_config.servers.grpc.port $discovererServerPort }} - {{- $defaultDiscovererAddr := (list (printf "%s:%d" $defaultDiscovererHost (int64 $defaultDiscovererPort))) }} - {{- $discovererAddrs := dict "Values" $discovererClient.addrs "default" $defaultDiscovererAddr }} - {{- include "vald.grpc.client.addrs" $discovererAddrs | nindent 10 }} - {{- $discovererGRPCclient := dict "Values" $discovererClient "default" .Values.defaults.grpc.client }} - {{- include "vald.grpc.client" $discovererGRPCclient | nindent 10 }} - agent_client_options: - {{- include "vald.grpc.client.addrs" (dict "Values" $saver.discoverer.agent_client_options.addrs) | nindent 10 }} - {{- include "vald.grpc.client" (dict "Values" $saver.discoverer.agent_client_options "default" .Values.defaults.grpc.client) | nindent 10 }} -{{- end }} diff --git a/charts/vald/templates/index/job/save/cronjob.yaml b/charts/vald/templates/index/job/save/cronjob.yaml deleted file mode 100644 index 5a72757122..0000000000 --- a/charts/vald/templates/index/job/save/cronjob.yaml +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# -{{- $saver := .Values.manager.index.saver -}} -{{- if $saver.enabled }} -apiVersion: batch/v1 -kind: CronJob -metadata: - name: {{ $saver.name }} - labels: - app: {{ $saver.name }} - app.kubernetes.io/name: {{ include "vald.name" . }} - helm.sh/chart: {{ include "vald.chart" . }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.Version }} -spec: - schedule: {{ $saver.schedule | quote }} - concurrencyPolicy: Forbid - suspend: {{ $saver.suspend }} - startingDeadlineSeconds: {{ $saver.startingDeadlineSeconds }} - jobTemplate: - spec: - ttlSecondsAfterFinished: {{ $saver.ttlSecondsAfterFinished }} - template: - metadata: - labels: - app: {{ $saver.name }} - app.kubernetes.io/name: {{ include "vald.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/component: {{ $saver.name }} - annotations: - {{- $pprof := default .Values.defaults.server_config.metrics.pprof $saver.server_config.metrics.pprof -}} - {{- if $pprof.enabled }} - pyroscope.io/scrape: "true" - pyroscope.io/application-name: {{ $saver.name }} - pyroscope.io/profile-cpu-enabled: "true" - pyroscope.io/profile-mem-enabled: "true" - pyroscope.io/port: {{ $pprof.port | quote }} - {{- end }} - spec: - {{- if $saver.initContainers }} - initContainers: - {{- $initContainers := dict "initContainers" $saver.initContainers "Values" .Values "namespace" .Release.Namespace -}} - {{- include "vald.initContainers" $initContainers | trim | nindent 12 }} - {{- end }} - containers: - - name: {{ $saver.name }} - image: "{{ $saver.image.repository }}:{{ default .Values.defaults.image.tag $saver.image.tag }}" - imagePullPolicy: {{ $saver.image.pullPolicy }} - volumeMounts: - - name: {{ $saver.name }}-config - mountPath: /etc/server/ - {{- $servers := dict "Values" $saver.server_config "default" .Values.defaults.server_config -}} - {{- include "vald.containerPorts" $servers | trim | nindent 14 }} - {{- if $saver.env }} - env: - {{- toYaml $saver.env | nindent 16 }} - {{- end }} - restartPolicy: OnFailure - volumes: - - name: {{ $saver.name }}-config - configMap: - defaultMode: 420 - name: {{ $saver.name }}-config -{{- end }} diff --git a/charts/vald/templates/index/job/save/networkpolicy.yaml b/charts/vald/templates/index/job/save/networkpolicy.yaml deleted file mode 100644 index 0c428b5f42..0000000000 --- a/charts/vald/templates/index/job/save/networkpolicy.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (C) 2019-2023 vdaas.org vald team -# -# 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. -# - -{{- $agent := .Values.agent -}} -{{- $discoverer := .Values.discoverer -}} -{{- $saver := .Values.manager.index.saver -}} -{{- if and .Values.defaults.networkPolicy.enabled $saver.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: {{ $saver.name }}-allow -spec: - podSelector: - matchLabels: - app: {{ $saver.name }} - policyTypes: - - Ingress - - Egress - ingress: - - from: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.ingress }} - {{- toYaml .Values.defaults.networkPolicy.custom.ingress | nindent 4 }} - {{- end }} - egress: - - to: - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $agent.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: {{ .Release.Namespace }} - podSelector: - matchLabels: - app: {{ $discoverer.name }} - - namespaceSelector: - matchLabels: - kubernetes.io/metadata.name: kube-system - {{- if .Values.defaults.networkPolicy.custom.egress }} - {{- toYaml .Values.defaults.networkPolicy.custom.egress | nindent 4 }} - {{- end }} -{{- end }} diff --git a/charts/vald/values.schema.json b/charts/vald/values.schema.json index ea4a748e18..c6b2c9d5f0 100644 --- a/charts/vald/values.schema.json +++ b/charts/vald/values.schema.json @@ -10068,6 +10068,11 @@ "type": "string", "description": "namespace of agent pods to manage" }, + "bbolt_async_write_concurrency": { + "type": "integer", + "description": "concurrency for bbolt async write", + "minimum": 1 + }, "discoverer": { "type": "object", "properties": { @@ -10732,16 +10737,6 @@ } } }, - "initContainers": { - "type": "array", - "description": "init containers", - "items": { "type": "object" } - }, - "kvs_async_write_concurrency": { - "type": "integer", - "description": "concurrency for kvs async write", - "minimum": 1 - }, "name": { "type": "string", "description": "name of index correction job" @@ -11783,16 +11778,67 @@ } } }, - "creator": { + "enabled": { + "type": "boolean", + "description": "index manager enabled" + }, + "env": { + "type": "array", + "description": "environment variables", + "items": { "type": "object" } + }, + "externalTrafficPolicy": { + "type": "string", + "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local" + }, + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string", + "description": "image pull policy", + "enum": ["Always", "Never", "IfNotPresent"] + }, + "repository": { + "type": "string", + "description": "image repository" + }, + "tag": { + "type": "string", + "description": "image tag (overrides defaults.image.tag)" + } + } + }, + "indexer": { "type": "object", "properties": { "agent_namespace": { "type": "string", "description": "namespace of agent pods to manage" }, + "auto_index_check_duration": { + "type": "string", + "description": "check duration of automatic indexing" + }, + "auto_index_duration_limit": { + "type": "string", + "description": "limit duration of automatic indexing" + }, + "auto_index_length": { + "type": "integer", + "description": "number of cache to trigger automatic indexing" + }, + "auto_save_index_duration_limit": { + "type": "string", + "description": "limit duration of automatic index saving" + }, + "auto_save_index_wait_duration": { + "type": "string", + "description": "duration of automatic index saving wait duration for next saving" + }, "concurrency": { "type": "integer", - "description": "concurrency for indexing", + "description": "concurrency", "minimum": 1 }, "creation_pool_size": { @@ -12436,3717 +12482,218 @@ } } }, + "node_name": { "type": "string", "description": "node name" } + } + }, + "initContainers": { + "type": "array", + "description": "init containers", + "items": { "type": "object" } + }, + "kind": { + "type": "string", + "description": "deployment kind: Deployment or DaemonSet", + "enum": ["Deployment", "DaemonSet"] + }, + "logging": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "logging format. logging format must be `raw` or `json`", + "enum": ["raw", "json"] + }, + "level": { + "type": "string", + "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.", + "enum": ["debug", "info", "warn", "error", "fatal"] + }, + "logger": { + "type": "string", + "description": "logger name. currently logger must be `glg` or `zap`.", + "enum": ["glg", "zap"] + } + } + }, + "maxUnavailable": { + "type": "string", + "description": "maximum number of unavailable replicas" + }, + "name": { + "type": "string", + "description": "name of index manager deployment" + }, + "nodeName": { "type": "string", "description": "node name" }, + "nodeSelector": { + "type": "object", + "description": "node selector" + }, + "observability": { + "type": "object", + "properties": { "enabled": { "type": "boolean", - "description": "enable index creation CronJob" - }, - "env": { - "type": "array", - "description": "environment variables", - "items": { "type": "object" } + "description": "observability features enabled" }, - "image": { + "metrics": { "type": "object", "properties": { - "pullPolicy": { - "type": "string", - "description": "image pull policy", - "enum": ["Always", "Never", "IfNotPresent"] + "enable_cgo": { + "type": "boolean", + "description": "CGO metrics enabled" }, - "repository": { - "type": "string", - "description": "image repository" + "enable_goroutine": { + "type": "boolean", + "description": "goroutine metrics enabled" }, - "tag": { - "type": "string", - "description": "image tag (overrides defaults.image.tag)" + "enable_memory": { + "type": "boolean", + "description": "memory metrics enabled" + }, + "enable_version_info": { + "type": "boolean", + "description": "version info metrics enabled" + }, + "version_info_labels": { + "type": "array", + "description": "enabled label names of version info", + "items": { + "type": "string", + "enum": [ + "vald_version", + "server_name", + "git_commit", + "build_time", + "go_version", + "go_os", + "go_arch", + "cgo_enabled", + "ngt_version", + "build_cpu_info_flags" + ] + } } } }, - "initContainers": { - "type": "array", - "description": "init containers", - "items": { "type": "object" } - }, - "name": { - "type": "string", - "description": "name of index creation job" - }, - "node_name": { "type": "string", "description": "node name" }, - "observability": { + "otlp": { "type": "object", "properties": { - "enabled": { - "type": "boolean", - "description": "observability features enabled" - }, - "metrics": { - "type": "object", - "properties": { - "enable_cgo": { - "type": "boolean", - "description": "CGO metrics enabled" - }, - "enable_goroutine": { - "type": "boolean", - "description": "goroutine metrics enabled" - }, - "enable_memory": { - "type": "boolean", - "description": "memory metrics enabled" - }, - "enable_version_info": { - "type": "boolean", - "description": "version info metrics enabled" - }, - "version_info_labels": { - "type": "array", - "description": "enabled label names of version info", - "items": { - "type": "string", - "enum": [ - "vald_version", - "server_name", - "git_commit", - "build_time", - "go_version", - "go_os", - "go_arch", - "cgo_enabled", - "ngt_version", - "build_cpu_info_flags" - ] - } - } - } - }, - "otlp": { + "attribute": { "type": "object", + "description": "default resource attribute", "properties": { - "attribute": { - "type": "object", - "description": "default resource attribute", - "properties": { - "namespace": { - "type": "string", - "description": "namespace" - }, - "node_name": { - "type": "string", - "description": "node name" - }, - "pod_name": { - "type": "string", - "description": "pod name" - }, - "service_name": { - "type": "string", - "description": "service name" - } - } - }, - "collector_endpoint": { + "namespace": { "type": "string", - "description": "OpenTelemetry Collector endpoint" + "description": "namespace" }, - "metrics_export_interval": { + "node_name": { "type": "string", - "description": "metrics export interval" + "description": "node name" }, - "metrics_export_timeout": { + "pod_name": { "type": "string", - "description": "metrics export timeout" + "description": "pod name" }, - "trace_batch_timeout": { + "service_name": { "type": "string", - "description": "trace batch timeout" - }, - "trace_export_timeout": { - "type": "string", - "description": "trace export timeout" - }, - "trace_max_export_batch_size": { - "type": "integer", - "description": "trace maximum export batch size" - }, - "trace_max_queue_size": { - "type": "integer", - "description": "trace maximum queue size" - } - } - }, - "trace": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "trace enabled" - } - } - } - } - }, - "schedule": { - "type": "string", - "description": "CronJob schedule setting for index creation" - }, - "server_config": { - "type": "object", - "properties": { - "full_shutdown_duration": { - "type": "string", - "description": "server full shutdown duration" - }, - "healths": { - "type": "object", - "properties": { - "liveness": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "liveness server enabled" - }, - "host": { - "type": "string", - "description": "liveness server host" - }, - "livenessProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "liveness probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "liveness probe path" - }, - "port": { - "type": "string", - "description": "liveness probe port" - }, - "scheme": { - "type": "string", - "description": "liveness probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "liveness probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "liveness probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "liveness probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "liveness probe timeout seconds" - } - } - }, - "port": { - "type": "integer", - "description": "liveness server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "liveness server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "readiness": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "readiness server enabled" - }, - "host": { - "type": "string", - "description": "readiness server host" - }, - "port": { - "type": "integer", - "description": "readiness server port", - "maximum": 65535, - "minimum": 0 - }, - "readinessProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "readiness probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "readiness probe path" - }, - "port": { - "type": "string", - "description": "readiness probe port" - }, - "scheme": { - "type": "string", - "description": "readiness probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "readiness probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "readiness probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "readiness probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "readiness probe timeout seconds" - } - } - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "readiness server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "startup": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "startup server enabled" - }, - "port": { - "type": "integer", - "description": "startup server port", - "maximum": 65535, - "minimum": 0 - }, - "startupProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "startup probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "startup probe path" - }, - "port": { - "type": "string", - "description": "startup probe port" - }, - "scheme": { - "type": "string", - "description": "startup probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "startup probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "startup probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "startup probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "startup probe timeout seconds" - } - } - } - } - } - } - }, - "metrics": { - "type": "object", - "properties": { - "pprof": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "pprof server enabled" - }, - "host": { - "type": "string", - "description": "pprof server host" - }, - "port": { - "type": "integer", - "description": "pprof server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "pprof server service port", - "maximum": 65535, - "minimum": 0 - } - } - } - } - }, - "servers": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "gRPC server enabled" - }, - "host": { - "type": "string", - "description": "gRPC server host" - }, - "port": { - "type": "integer", - "description": "gRPC server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "bidirectional_stream_concurrency": { - "type": "integer", - "description": "gRPC server bidirectional stream concurrency" - }, - "connection_timeout": { - "type": "string", - "description": "gRPC server connection timeout" - }, - "enable_reflection": { - "type": "boolean", - "description": "gRPC server reflection option" - }, - "header_table_size": { - "type": "integer", - "description": "gRPC server header table size" - }, - "initial_conn_window_size": { - "type": "integer", - "description": "gRPC server initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC server initial window size" - }, - "interceptors": { - "type": "array", - "description": "gRPC server interceptors", - "items": { - "type": "string", - "enum": [ - "RecoverInterceptor", - "AccessLogInterceptor", - "TraceInterceptor", - "MetricInterceptor" - ] - } - }, - "keepalive": { - "type": "object", - "properties": { - "max_conn_age": { - "type": "string", - "description": "gRPC server keep alive max connection age" - }, - "max_conn_age_grace": { - "type": "string", - "description": "gRPC server keep alive max connection age grace" - }, - "max_conn_idle": { - "type": "string", - "description": "gRPC server keep alive max connection idle" - }, - "min_time": { - "type": "string", - "description": "gRPC server keep alive min_time" - }, - "permit_without_stream": { - "type": "boolean", - "description": "gRPC server keep alive permit_without_stream" - }, - "time": { - "type": "string", - "description": "gRPC server keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC server keep alive timeout" - } - } - }, - "max_header_list_size": { - "type": "integer", - "description": "gRPC server max header list size" - }, - "max_receive_message_size": { - "type": "integer", - "description": "gRPC server max receive message size" - }, - "max_send_message_size": { - "type": "integer", - "description": "gRPC server max send message size" - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC server read buffer size" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC server write buffer size" - } - } - }, - "mode": { - "type": "string", - "description": "gRPC server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "gRPC server probe wait time" - }, - "restart": { - "type": "boolean", - "description": "gRPC server restart" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "gRPC server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "rest": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "REST server enabled" - }, - "host": { - "type": "string", - "description": "REST server host" - }, - "port": { - "type": "integer", - "description": "REST server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "REST server service port", - "maximum": 65535, - "minimum": 0 - } - } - } - } - }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - } - } - }, - "startingDeadlineSeconds": { - "type": "integer", - "description": "startingDeadlineSeconds setting for K8s completed jobs" - }, - "suspend": { - "type": "boolean", - "description": "CronJob suspend setting for index creation" - }, - "target_addrs": { - "type": "array", - "description": "indexing target addresses", - "items": { "type": "string" } - }, - "ttlSecondsAfterFinished": { - "type": "integer", - "description": "ttl setting for K8s completed jobs" - }, - "version": { - "type": "string", - "description": "version of gateway config", - "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$" - } - } - }, - "enabled": { - "type": "boolean", - "description": "index manager enabled" - }, - "env": { - "type": "array", - "description": "environment variables", - "items": { "type": "object" } - }, - "externalTrafficPolicy": { - "type": "string", - "description": "external traffic policy (can be specified when service type is LoadBalancer or NodePort) : Cluster or Local" - }, - "image": { - "type": "object", - "properties": { - "pullPolicy": { - "type": "string", - "description": "image pull policy", - "enum": ["Always", "Never", "IfNotPresent"] - }, - "repository": { - "type": "string", - "description": "image repository" - }, - "tag": { - "type": "string", - "description": "image tag (overrides defaults.image.tag)" - } - } - }, - "indexer": { - "type": "object", - "properties": { - "agent_namespace": { - "type": "string", - "description": "namespace of agent pods to manage" - }, - "auto_index_check_duration": { - "type": "string", - "description": "check duration of automatic indexing" - }, - "auto_index_duration_limit": { - "type": "string", - "description": "limit duration of automatic indexing" - }, - "auto_index_length": { - "type": "integer", - "description": "number of cache to trigger automatic indexing" - }, - "auto_save_index_duration_limit": { - "type": "string", - "description": "limit duration of automatic index saving" - }, - "auto_save_index_wait_duration": { - "type": "string", - "description": "duration of automatic index saving wait duration for next saving" - }, - "concurrency": { - "type": "integer", - "description": "concurrency", - "minimum": 1 - }, - "creation_pool_size": { - "type": "integer", - "description": "number of pool size of create index processing" - }, - "discoverer": { - "type": "object", - "properties": { - "agent_client_options": { - "type": "object", - "properties": { - "addrs": { - "type": "array", - "description": "gRPC client addresses", - "items": { "type": "string" } - }, - "backoff": { - "type": "object", - "properties": { - "backoff_factor": { - "type": "number", - "description": "gRPC client backoff factor" - }, - "backoff_time_limit": { - "type": "string", - "description": "gRPC client backoff time limit" - }, - "enable_error_log": { - "type": "boolean", - "description": "gRPC client backoff log enabled" - }, - "initial_duration": { - "type": "string", - "description": "gRPC client backoff initial duration" - }, - "jitter_limit": { - "type": "string", - "description": "gRPC client backoff jitter limit" - }, - "maximum_duration": { - "type": "string", - "description": "gRPC client backoff maximum duration" - }, - "retry_count": { - "type": "integer", - "description": "gRPC client backoff retry count" - } - } - }, - "call_option": { "type": "object" }, - "circuit_breaker": { - "type": "object", - "properties": { - "closed_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker closed error rate" - }, - "closed_refresh_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker closed refresh timeout" - }, - "half_open_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker half-open error rate" - }, - "min_samples": { - "type": "integer", - "description": "gRPC client circuitbreaker minimum sampling count" - }, - "open_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker open timeout" - } - } - }, - "connection_pool": { - "type": "object", - "properties": { - "enable_dns_resolver": { - "type": "boolean", - "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance" - }, - "enable_rebalance": { - "type": "boolean", - "description": "enables gRPC client connection pool rebalance" - }, - "old_conn_close_duration": { - "type": "string", - "description": "makes delay before gRPC client connection closing during connection pool rebalance" - }, - "rebalance_duration": { - "type": "string", - "description": "gRPC client connection pool rebalance duration" - }, - "size": { - "type": "integer", - "description": "gRPC client connection pool size" - } - } - }, - "dial_option": { - "type": "object", - "properties": { - "backoff_base_delay": { - "type": "string", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_jitter": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_max_delay": { - "type": "string", - "description": "gRPC client dial option max backoff delay" - }, - "backoff_multiplier": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "enable_backoff": { - "type": "boolean", - "description": "gRPC client dial option backoff enabled" - }, - "initial_connection_window_size": { - "type": "integer", - "description": "gRPC client dial option initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC client dial option initial window size" - }, - "insecure": { - "type": "boolean", - "description": "gRPC client dial option insecure enabled" - }, - "interceptors": { - "type": "array", - "description": "gRPC client interceptors", - "items": { - "type": "string", - "enum": ["TraceInterceptor"] - } - }, - "keepalive": { - "type": "object", - "properties": { - "permit_without_stream": { - "type": "boolean", - "description": "gRPC client keep alive permit without stream" - }, - "time": { - "type": "string", - "description": "gRPC client keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC client keep alive timeout" - } - } - }, - "max_msg_size": { - "type": "integer", - "description": "gRPC client dial option max message size" - }, - "min_connection_timeout": { - "type": "string", - "description": "gRPC client dial option minimum connection timeout" - }, - "net": { - "type": "object", - "properties": { - "dialer": { - "type": "object", - "properties": { - "dual_stack_enabled": { - "type": "boolean", - "description": "gRPC client TCP dialer dual stack enabled" - }, - "keepalive": { - "type": "string", - "description": "gRPC client TCP dialer keep alive" - }, - "timeout": { - "type": "string", - "description": "gRPC client TCP dialer timeout" - } - } - }, - "dns": { - "type": "object", - "properties": { - "cache_enabled": { - "type": "boolean", - "description": "gRPC client TCP DNS cache enabled" - }, - "cache_expiration": { - "type": "string", - "description": "gRPC client TCP DNS cache expiration" - }, - "refresh_duration": { - "type": "string", - "description": "gRPC client TCP DNS cache refresh duration" - } - } - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - } - } - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC client dial option read buffer size" - }, - "timeout": { - "type": "string", - "description": "gRPC client dial option timeout" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC client dial option write buffer size" - } - } - }, - "health_check_duration": { - "type": "string", - "description": "gRPC client health check duration" - }, - "max_recv_msg_size": { "type": "integer" }, - "max_retry_rpc_buffer_size": { "type": "integer" }, - "max_send_msg_size": { "type": "integer" }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - }, - "wait_for_ready": { "type": "boolean" } - } - }, - "client": { - "type": "object", - "properties": { - "addrs": { - "type": "array", - "description": "gRPC client addresses", - "items": { "type": "string" } - }, - "backoff": { - "type": "object", - "properties": { - "backoff_factor": { - "type": "number", - "description": "gRPC client backoff factor" - }, - "backoff_time_limit": { - "type": "string", - "description": "gRPC client backoff time limit" - }, - "enable_error_log": { - "type": "boolean", - "description": "gRPC client backoff log enabled" - }, - "initial_duration": { - "type": "string", - "description": "gRPC client backoff initial duration" - }, - "jitter_limit": { - "type": "string", - "description": "gRPC client backoff jitter limit" - }, - "maximum_duration": { - "type": "string", - "description": "gRPC client backoff maximum duration" - }, - "retry_count": { - "type": "integer", - "description": "gRPC client backoff retry count" - } - } - }, - "call_option": { "type": "object" }, - "circuit_breaker": { - "type": "object", - "properties": { - "closed_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker closed error rate" - }, - "closed_refresh_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker closed refresh timeout" - }, - "half_open_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker half-open error rate" - }, - "min_samples": { - "type": "integer", - "description": "gRPC client circuitbreaker minimum sampling count" - }, - "open_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker open timeout" - } - } - }, - "connection_pool": { - "type": "object", - "properties": { - "enable_dns_resolver": { - "type": "boolean", - "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance" - }, - "enable_rebalance": { - "type": "boolean", - "description": "enables gRPC client connection pool rebalance" - }, - "old_conn_close_duration": { - "type": "string", - "description": "makes delay before gRPC client connection closing during connection pool rebalance" - }, - "rebalance_duration": { - "type": "string", - "description": "gRPC client connection pool rebalance duration" - }, - "size": { - "type": "integer", - "description": "gRPC client connection pool size" - } - } - }, - "dial_option": { - "type": "object", - "properties": { - "backoff_base_delay": { - "type": "string", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_jitter": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_max_delay": { - "type": "string", - "description": "gRPC client dial option max backoff delay" - }, - "backoff_multiplier": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "enable_backoff": { - "type": "boolean", - "description": "gRPC client dial option backoff enabled" - }, - "initial_connection_window_size": { - "type": "integer", - "description": "gRPC client dial option initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC client dial option initial window size" - }, - "insecure": { - "type": "boolean", - "description": "gRPC client dial option insecure enabled" - }, - "interceptors": { - "type": "array", - "description": "gRPC client interceptors", - "items": { - "type": "string", - "enum": ["TraceInterceptor"] - } - }, - "keepalive": { - "type": "object", - "properties": { - "permit_without_stream": { - "type": "boolean", - "description": "gRPC client keep alive permit without stream" - }, - "time": { - "type": "string", - "description": "gRPC client keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC client keep alive timeout" - } - } - }, - "max_msg_size": { - "type": "integer", - "description": "gRPC client dial option max message size" - }, - "min_connection_timeout": { - "type": "string", - "description": "gRPC client dial option minimum connection timeout" - }, - "net": { - "type": "object", - "properties": { - "dialer": { - "type": "object", - "properties": { - "dual_stack_enabled": { - "type": "boolean", - "description": "gRPC client TCP dialer dual stack enabled" - }, - "keepalive": { - "type": "string", - "description": "gRPC client TCP dialer keep alive" - }, - "timeout": { - "type": "string", - "description": "gRPC client TCP dialer timeout" - } - } - }, - "dns": { - "type": "object", - "properties": { - "cache_enabled": { - "type": "boolean", - "description": "gRPC client TCP DNS cache enabled" - }, - "cache_expiration": { - "type": "string", - "description": "gRPC client TCP DNS cache expiration" - }, - "refresh_duration": { - "type": "string", - "description": "gRPC client TCP DNS cache refresh duration" - } - } - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - } - } - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC client dial option read buffer size" - }, - "timeout": { - "type": "string", - "description": "gRPC client dial option timeout" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC client dial option write buffer size" - } - } - }, - "health_check_duration": { - "type": "string", - "description": "gRPC client health check duration" - }, - "max_recv_msg_size": { "type": "integer" }, - "max_retry_rpc_buffer_size": { "type": "integer" }, - "max_send_msg_size": { "type": "integer" }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - }, - "wait_for_ready": { "type": "boolean" } - } - }, - "duration": { - "type": "string", - "description": "refresh duration to discover" - } - } - }, - "node_name": { "type": "string", "description": "node name" } - } - }, - "initContainers": { - "type": "array", - "description": "init containers", - "items": { "type": "object" } - }, - "kind": { - "type": "string", - "description": "deployment kind: Deployment or DaemonSet", - "enum": ["Deployment", "DaemonSet"] - }, - "logging": { - "type": "object", - "properties": { - "format": { - "type": "string", - "description": "logging format. logging format must be `raw` or `json`", - "enum": ["raw", "json"] - }, - "level": { - "type": "string", - "description": "logging level. logging level must be `debug`, `info`, `warn`, `error` or `fatal`.", - "enum": ["debug", "info", "warn", "error", "fatal"] - }, - "logger": { - "type": "string", - "description": "logger name. currently logger must be `glg` or `zap`.", - "enum": ["glg", "zap"] - } - } - }, - "maxUnavailable": { - "type": "string", - "description": "maximum number of unavailable replicas" - }, - "name": { - "type": "string", - "description": "name of index manager deployment" - }, - "nodeName": { "type": "string", "description": "node name" }, - "nodeSelector": { - "type": "object", - "description": "node selector" - }, - "observability": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "observability features enabled" - }, - "metrics": { - "type": "object", - "properties": { - "enable_cgo": { - "type": "boolean", - "description": "CGO metrics enabled" - }, - "enable_goroutine": { - "type": "boolean", - "description": "goroutine metrics enabled" - }, - "enable_memory": { - "type": "boolean", - "description": "memory metrics enabled" - }, - "enable_version_info": { - "type": "boolean", - "description": "version info metrics enabled" - }, - "version_info_labels": { - "type": "array", - "description": "enabled label names of version info", - "items": { - "type": "string", - "enum": [ - "vald_version", - "server_name", - "git_commit", - "build_time", - "go_version", - "go_os", - "go_arch", - "cgo_enabled", - "ngt_version", - "build_cpu_info_flags" - ] - } - } - } - }, - "otlp": { - "type": "object", - "properties": { - "attribute": { - "type": "object", - "description": "default resource attribute", - "properties": { - "namespace": { - "type": "string", - "description": "namespace" - }, - "node_name": { - "type": "string", - "description": "node name" - }, - "pod_name": { - "type": "string", - "description": "pod name" - }, - "service_name": { - "type": "string", - "description": "service name" - } - } - }, - "collector_endpoint": { - "type": "string", - "description": "OpenTelemetry Collector endpoint" - }, - "metrics_export_interval": { - "type": "string", - "description": "metrics export interval" - }, - "metrics_export_timeout": { - "type": "string", - "description": "metrics export timeout" - }, - "trace_batch_timeout": { - "type": "string", - "description": "trace batch timeout" - }, - "trace_export_timeout": { - "type": "string", - "description": "trace export timeout" - }, - "trace_max_export_batch_size": { - "type": "integer", - "description": "trace maximum export batch size" - }, - "trace_max_queue_size": { - "type": "integer", - "description": "trace maximum queue size" - } - } - }, - "trace": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "trace enabled" - } - } - } - } - }, - "podAnnotations": { - "type": "object", - "description": "pod annotations" - }, - "podPriority": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "gateway pod PriorityClass enabled" - }, - "value": { - "type": "integer", - "description": "gateway pod PriorityClass value" - } - } - }, - "podSecurityContext": { - "type": "object", - "description": "security context for pod" - }, - "progressDeadlineSeconds": { - "type": "integer", - "description": "progress deadline seconds" - }, - "replicas": { - "type": "integer", - "description": "number of replicas", - "minimum": 0 - }, - "resources": { - "type": "object", - "description": "compute resources", - "properties": { - "limits": { "type": "object" }, - "requests": { "type": "object" } - } - }, - "revisionHistoryLimit": { - "type": "integer", - "description": "number of old history to retain to allow rollback", - "minimum": 0 - }, - "rollingUpdate": { - "type": "object", - "properties": { - "maxSurge": { - "type": "string", - "description": "max surge of rolling update" - }, - "maxUnavailable": { - "type": "string", - "description": "max unavailable of rolling update" - } - } - }, - "saver": { - "type": "object", - "properties": { - "agent_namespace": { - "type": "string", - "description": "namespace of agent pods to manage" - }, - "concurrency": { - "type": "integer", - "description": "concurrency for index saving", - "minimum": 1 - }, - "discoverer": { - "type": "object", - "properties": { - "agent_client_options": { - "type": "object", - "properties": { - "addrs": { - "type": "array", - "description": "gRPC client addresses", - "items": { "type": "string" } - }, - "backoff": { - "type": "object", - "properties": { - "backoff_factor": { - "type": "number", - "description": "gRPC client backoff factor" - }, - "backoff_time_limit": { - "type": "string", - "description": "gRPC client backoff time limit" - }, - "enable_error_log": { - "type": "boolean", - "description": "gRPC client backoff log enabled" - }, - "initial_duration": { - "type": "string", - "description": "gRPC client backoff initial duration" - }, - "jitter_limit": { - "type": "string", - "description": "gRPC client backoff jitter limit" - }, - "maximum_duration": { - "type": "string", - "description": "gRPC client backoff maximum duration" - }, - "retry_count": { - "type": "integer", - "description": "gRPC client backoff retry count" - } - } - }, - "call_option": { "type": "object" }, - "circuit_breaker": { - "type": "object", - "properties": { - "closed_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker closed error rate" - }, - "closed_refresh_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker closed refresh timeout" - }, - "half_open_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker half-open error rate" - }, - "min_samples": { - "type": "integer", - "description": "gRPC client circuitbreaker minimum sampling count" - }, - "open_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker open timeout" - } - } - }, - "connection_pool": { - "type": "object", - "properties": { - "enable_dns_resolver": { - "type": "boolean", - "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance" - }, - "enable_rebalance": { - "type": "boolean", - "description": "enables gRPC client connection pool rebalance" - }, - "old_conn_close_duration": { - "type": "string", - "description": "makes delay before gRPC client connection closing during connection pool rebalance" - }, - "rebalance_duration": { - "type": "string", - "description": "gRPC client connection pool rebalance duration" - }, - "size": { - "type": "integer", - "description": "gRPC client connection pool size" - } - } - }, - "dial_option": { - "type": "object", - "properties": { - "backoff_base_delay": { - "type": "string", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_jitter": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_max_delay": { - "type": "string", - "description": "gRPC client dial option max backoff delay" - }, - "backoff_multiplier": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "enable_backoff": { - "type": "boolean", - "description": "gRPC client dial option backoff enabled" - }, - "initial_connection_window_size": { - "type": "integer", - "description": "gRPC client dial option initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC client dial option initial window size" - }, - "insecure": { - "type": "boolean", - "description": "gRPC client dial option insecure enabled" - }, - "interceptors": { - "type": "array", - "description": "gRPC client interceptors", - "items": { - "type": "string", - "enum": ["TraceInterceptor"] - } - }, - "keepalive": { - "type": "object", - "properties": { - "permit_without_stream": { - "type": "boolean", - "description": "gRPC client keep alive permit without stream" - }, - "time": { - "type": "string", - "description": "gRPC client keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC client keep alive timeout" - } - } - }, - "max_msg_size": { - "type": "integer", - "description": "gRPC client dial option max message size" - }, - "min_connection_timeout": { - "type": "string", - "description": "gRPC client dial option minimum connection timeout" - }, - "net": { - "type": "object", - "properties": { - "dialer": { - "type": "object", - "properties": { - "dual_stack_enabled": { - "type": "boolean", - "description": "gRPC client TCP dialer dual stack enabled" - }, - "keepalive": { - "type": "string", - "description": "gRPC client TCP dialer keep alive" - }, - "timeout": { - "type": "string", - "description": "gRPC client TCP dialer timeout" - } - } - }, - "dns": { - "type": "object", - "properties": { - "cache_enabled": { - "type": "boolean", - "description": "gRPC client TCP DNS cache enabled" - }, - "cache_expiration": { - "type": "string", - "description": "gRPC client TCP DNS cache expiration" - }, - "refresh_duration": { - "type": "string", - "description": "gRPC client TCP DNS cache refresh duration" - } - } - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - } - } - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC client dial option read buffer size" - }, - "timeout": { - "type": "string", - "description": "gRPC client dial option timeout" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC client dial option write buffer size" - } - } - }, - "health_check_duration": { - "type": "string", - "description": "gRPC client health check duration" - }, - "max_recv_msg_size": { "type": "integer" }, - "max_retry_rpc_buffer_size": { "type": "integer" }, - "max_send_msg_size": { "type": "integer" }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - }, - "wait_for_ready": { "type": "boolean" } - } - }, - "client": { - "type": "object", - "properties": { - "addrs": { - "type": "array", - "description": "gRPC client addresses", - "items": { "type": "string" } - }, - "backoff": { - "type": "object", - "properties": { - "backoff_factor": { - "type": "number", - "description": "gRPC client backoff factor" - }, - "backoff_time_limit": { - "type": "string", - "description": "gRPC client backoff time limit" - }, - "enable_error_log": { - "type": "boolean", - "description": "gRPC client backoff log enabled" - }, - "initial_duration": { - "type": "string", - "description": "gRPC client backoff initial duration" - }, - "jitter_limit": { - "type": "string", - "description": "gRPC client backoff jitter limit" - }, - "maximum_duration": { - "type": "string", - "description": "gRPC client backoff maximum duration" - }, - "retry_count": { - "type": "integer", - "description": "gRPC client backoff retry count" - } - } - }, - "call_option": { "type": "object" }, - "circuit_breaker": { - "type": "object", - "properties": { - "closed_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker closed error rate" - }, - "closed_refresh_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker closed refresh timeout" - }, - "half_open_error_rate": { - "type": "number", - "description": "gRPC client circuitbreaker half-open error rate" - }, - "min_samples": { - "type": "integer", - "description": "gRPC client circuitbreaker minimum sampling count" - }, - "open_timeout": { - "type": "string", - "description": "gRPC client circuitbreaker open timeout" - } - } - }, - "connection_pool": { - "type": "object", - "properties": { - "enable_dns_resolver": { - "type": "boolean", - "description": "enables gRPC client connection pool dns resolver, when enabled vald uses ip handshake exclude dns discovery which improves network performance" - }, - "enable_rebalance": { - "type": "boolean", - "description": "enables gRPC client connection pool rebalance" - }, - "old_conn_close_duration": { - "type": "string", - "description": "makes delay before gRPC client connection closing during connection pool rebalance" - }, - "rebalance_duration": { - "type": "string", - "description": "gRPC client connection pool rebalance duration" - }, - "size": { - "type": "integer", - "description": "gRPC client connection pool size" - } - } - }, - "dial_option": { - "type": "object", - "properties": { - "backoff_base_delay": { - "type": "string", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_jitter": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "backoff_max_delay": { - "type": "string", - "description": "gRPC client dial option max backoff delay" - }, - "backoff_multiplier": { - "type": "number", - "description": "gRPC client dial option base backoff delay" - }, - "enable_backoff": { - "type": "boolean", - "description": "gRPC client dial option backoff enabled" - }, - "initial_connection_window_size": { - "type": "integer", - "description": "gRPC client dial option initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC client dial option initial window size" - }, - "insecure": { - "type": "boolean", - "description": "gRPC client dial option insecure enabled" - }, - "interceptors": { - "type": "array", - "description": "gRPC client interceptors", - "items": { - "type": "string", - "enum": ["TraceInterceptor"] - } - }, - "keepalive": { - "type": "object", - "properties": { - "permit_without_stream": { - "type": "boolean", - "description": "gRPC client keep alive permit without stream" - }, - "time": { - "type": "string", - "description": "gRPC client keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC client keep alive timeout" - } - } - }, - "max_msg_size": { - "type": "integer", - "description": "gRPC client dial option max message size" - }, - "min_connection_timeout": { - "type": "string", - "description": "gRPC client dial option minimum connection timeout" - }, - "net": { - "type": "object", - "properties": { - "dialer": { - "type": "object", - "properties": { - "dual_stack_enabled": { - "type": "boolean", - "description": "gRPC client TCP dialer dual stack enabled" - }, - "keepalive": { - "type": "string", - "description": "gRPC client TCP dialer keep alive" - }, - "timeout": { - "type": "string", - "description": "gRPC client TCP dialer timeout" - } - } - }, - "dns": { - "type": "object", - "properties": { - "cache_enabled": { - "type": "boolean", - "description": "gRPC client TCP DNS cache enabled" - }, - "cache_expiration": { - "type": "string", - "description": "gRPC client TCP DNS cache expiration" - }, - "refresh_duration": { - "type": "string", - "description": "gRPC client TCP DNS cache refresh duration" - } - } - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - } - } - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC client dial option read buffer size" - }, - "timeout": { - "type": "string", - "description": "gRPC client dial option timeout" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC client dial option write buffer size" - } - } - }, - "health_check_duration": { - "type": "string", - "description": "gRPC client health check duration" - }, - "max_recv_msg_size": { "type": "integer" }, - "max_retry_rpc_buffer_size": { "type": "integer" }, - "max_send_msg_size": { "type": "integer" }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } - }, - "wait_for_ready": { "type": "boolean" } - } - }, - "duration": { - "type": "string", - "description": "refresh duration to discover" - } - } - }, - "enabled": { - "type": "boolean", - "description": "enable index save CronJob" - }, - "env": { - "type": "array", - "description": "environment variables", - "items": { "type": "object" } - }, - "image": { - "type": "object", - "properties": { - "pullPolicy": { - "type": "string", - "description": "image pull policy", - "enum": ["Always", "Never", "IfNotPresent"] - }, - "repository": { - "type": "string", - "description": "image repository" - }, - "tag": { - "type": "string", - "description": "image tag (overrides defaults.image.tag)" - } - } - }, - "initContainers": { - "type": "array", - "description": "init containers", - "items": { "type": "object" } - }, - "name": { - "type": "string", - "description": "name of index save job" - }, - "node_name": { "type": "string", "description": "node name" }, - "observability": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "observability features enabled" - }, - "metrics": { - "type": "object", - "properties": { - "enable_cgo": { - "type": "boolean", - "description": "CGO metrics enabled" - }, - "enable_goroutine": { - "type": "boolean", - "description": "goroutine metrics enabled" - }, - "enable_memory": { - "type": "boolean", - "description": "memory metrics enabled" - }, - "enable_version_info": { - "type": "boolean", - "description": "version info metrics enabled" - }, - "version_info_labels": { - "type": "array", - "description": "enabled label names of version info", - "items": { - "type": "string", - "enum": [ - "vald_version", - "server_name", - "git_commit", - "build_time", - "go_version", - "go_os", - "go_arch", - "cgo_enabled", - "ngt_version", - "build_cpu_info_flags" - ] - } - } - } - }, - "otlp": { - "type": "object", - "properties": { - "attribute": { - "type": "object", - "description": "default resource attribute", - "properties": { - "namespace": { - "type": "string", - "description": "namespace" - }, - "node_name": { - "type": "string", - "description": "node name" - }, - "pod_name": { - "type": "string", - "description": "pod name" - }, - "service_name": { - "type": "string", - "description": "service name" - } - } - }, - "collector_endpoint": { - "type": "string", - "description": "OpenTelemetry Collector endpoint" - }, - "metrics_export_interval": { - "type": "string", - "description": "metrics export interval" - }, - "metrics_export_timeout": { - "type": "string", - "description": "metrics export timeout" - }, - "trace_batch_timeout": { - "type": "string", - "description": "trace batch timeout" - }, - "trace_export_timeout": { - "type": "string", - "description": "trace export timeout" - }, - "trace_max_export_batch_size": { - "type": "integer", - "description": "trace maximum export batch size" - }, - "trace_max_queue_size": { - "type": "integer", - "description": "trace maximum queue size" - } - } - }, - "trace": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "trace enabled" - } - } - } - } - }, - "schedule": { - "type": "string", - "description": "CronJob schedule setting for index save" - }, - "server_config": { - "type": "object", - "properties": { - "full_shutdown_duration": { - "type": "string", - "description": "server full shutdown duration" - }, - "healths": { - "type": "object", - "properties": { - "liveness": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "liveness server enabled" - }, - "host": { - "type": "string", - "description": "liveness server host" - }, - "livenessProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "liveness probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "liveness probe path" - }, - "port": { - "type": "string", - "description": "liveness probe port" - }, - "scheme": { - "type": "string", - "description": "liveness probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "liveness probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "liveness probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "liveness probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "liveness probe timeout seconds" - } - } - }, - "port": { - "type": "integer", - "description": "liveness server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "liveness server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "readiness": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "readiness server enabled" - }, - "host": { - "type": "string", - "description": "readiness server host" - }, - "port": { - "type": "integer", - "description": "readiness server port", - "maximum": 65535, - "minimum": 0 - }, - "readinessProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "readiness probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "readiness probe path" - }, - "port": { - "type": "string", - "description": "readiness probe port" - }, - "scheme": { - "type": "string", - "description": "readiness probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "readiness probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "readiness probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "readiness probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "readiness probe timeout seconds" - } - } - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "readiness server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "startup": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "startup server enabled" - }, - "port": { - "type": "integer", - "description": "startup server port", - "maximum": 65535, - "minimum": 0 - }, - "startupProbe": { - "type": "object", - "properties": { - "failureThreshold": { - "type": "integer", - "description": "startup probe failure threshold" - }, - "httpGet": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "startup probe path" - }, - "port": { - "type": "string", - "description": "startup probe port" - }, - "scheme": { - "type": "string", - "description": "startup probe scheme" - } - } - }, - "initialDelaySeconds": { - "type": "integer", - "description": "startup probe initial delay seconds" - }, - "periodSeconds": { - "type": "integer", - "description": "startup probe period seconds" - }, - "successThreshold": { - "type": "integer", - "description": "startup probe success threshold" - }, - "timeoutSeconds": { - "type": "integer", - "description": "startup probe timeout seconds" - } - } - } - } - } - } - }, - "metrics": { - "type": "object", - "properties": { - "pprof": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "pprof server enabled" - }, - "host": { - "type": "string", - "description": "pprof server host" - }, - "port": { - "type": "integer", - "description": "pprof server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "pprof server service port", - "maximum": 65535, - "minimum": 0 - } - } - } - } - }, - "servers": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "gRPC server enabled" - }, - "host": { - "type": "string", - "description": "gRPC server host" - }, - "port": { - "type": "integer", - "description": "gRPC server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "bidirectional_stream_concurrency": { - "type": "integer", - "description": "gRPC server bidirectional stream concurrency" - }, - "connection_timeout": { - "type": "string", - "description": "gRPC server connection timeout" - }, - "enable_reflection": { - "type": "boolean", - "description": "gRPC server reflection option" - }, - "header_table_size": { - "type": "integer", - "description": "gRPC server header table size" - }, - "initial_conn_window_size": { - "type": "integer", - "description": "gRPC server initial connection window size" - }, - "initial_window_size": { - "type": "integer", - "description": "gRPC server initial window size" - }, - "interceptors": { - "type": "array", - "description": "gRPC server interceptors", - "items": { - "type": "string", - "enum": [ - "RecoverInterceptor", - "AccessLogInterceptor", - "TraceInterceptor", - "MetricInterceptor" - ] - } - }, - "keepalive": { - "type": "object", - "properties": { - "max_conn_age": { - "type": "string", - "description": "gRPC server keep alive max connection age" - }, - "max_conn_age_grace": { - "type": "string", - "description": "gRPC server keep alive max connection age grace" - }, - "max_conn_idle": { - "type": "string", - "description": "gRPC server keep alive max connection idle" - }, - "min_time": { - "type": "string", - "description": "gRPC server keep alive min_time" - }, - "permit_without_stream": { - "type": "boolean", - "description": "gRPC server keep alive permit_without_stream" - }, - "time": { - "type": "string", - "description": "gRPC server keep alive time" - }, - "timeout": { - "type": "string", - "description": "gRPC server keep alive timeout" - } - } - }, - "max_header_list_size": { - "type": "integer", - "description": "gRPC server max header list size" - }, - "max_receive_message_size": { - "type": "integer", - "description": "gRPC server max receive message size" - }, - "max_send_message_size": { - "type": "integer", - "description": "gRPC server max send message size" - }, - "read_buffer_size": { - "type": "integer", - "description": "gRPC server read buffer size" - }, - "write_buffer_size": { - "type": "integer", - "description": "gRPC server write buffer size" - } - } - }, - "mode": { - "type": "string", - "description": "gRPC server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "gRPC server probe wait time" - }, - "restart": { - "type": "boolean", - "description": "gRPC server restart" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "gRPC server service port", - "maximum": 65535, - "minimum": 0 - } - } - }, - "rest": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "REST server enabled" - }, - "host": { - "type": "string", - "description": "REST server host" - }, - "port": { - "type": "integer", - "description": "REST server port", - "maximum": 65535, - "minimum": 0 - }, - "server": { - "type": "object", - "properties": { - "http": { - "type": "object", - "properties": { - "handler_timeout": { - "type": "string", - "description": "REST server handler timeout" - }, - "idle_timeout": { - "type": "string", - "description": "REST server idle timeout" - }, - "read_header_timeout": { - "type": "string", - "description": "REST server read header timeout" - }, - "read_timeout": { - "type": "string", - "description": "REST server read timeout" - }, - "shutdown_duration": { - "type": "string", - "description": "REST server shutdown duration" - }, - "write_timeout": { - "type": "string", - "description": "REST server write timeout" - } - } - }, - "mode": { - "type": "string", - "description": "REST server server mode" - }, - "network": { - "type": "string", - "description": "mysql network", - "enum": [ - "tcp", - "tcp4", - "tcp6", - "udp", - "udp4", - "udp6", - "unix", - "unixgram", - "unixpacket" - ] - }, - "probe_wait_time": { - "type": "string", - "description": "REST server probe wait time" - }, - "socket_option": { - "type": "object", - "properties": { - "ip_recover_destination_addr": { - "type": "boolean", - "description": "server listen socket option for ip_recover_destination_addr functionality" - }, - "ip_transparent": { - "type": "boolean", - "description": "server listen socket option for ip_transparent functionality" - }, - "reuse_addr": { - "type": "boolean", - "description": "server listen socket option for reuse_addr functionality" - }, - "reuse_port": { - "type": "boolean", - "description": "server listen socket option for reuse_port functionality" - }, - "tcp_cork": { - "type": "boolean", - "description": "server listen socket option for tcp_cork functionality" - }, - "tcp_defer_accept": { - "type": "boolean", - "description": "server listen socket option for tcp_defer_accept functionality" - }, - "tcp_fast_open": { - "type": "boolean", - "description": "server listen socket option for tcp_fast_open functionality" - }, - "tcp_no_delay": { - "type": "boolean", - "description": "server listen socket option for tcp_no_delay functionality" - }, - "tcp_quick_ack": { - "type": "boolean", - "description": "server listen socket option for tcp_quick_ack functionality" - } - } - }, - "socket_path": { - "type": "string", - "description": "mysql socket_path" - } - } - }, - "servicePort": { - "type": "integer", - "description": "REST server service port", - "maximum": 65535, - "minimum": 0 - } - } + "description": "service name" } } }, - "tls": { - "type": "object", - "properties": { - "ca": { - "type": "string", - "description": "TLS ca path" - }, - "cert": { - "type": "string", - "description": "TLS cert path" - }, - "enabled": { - "type": "boolean", - "description": "TLS enabled" - }, - "insecure_skip_verify": { - "type": "boolean", - "description": "enable/disable skip SSL certificate verification" - }, - "key": { - "type": "string", - "description": "TLS key path" - } - } + "collector_endpoint": { + "type": "string", + "description": "OpenTelemetry Collector endpoint" + }, + "metrics_export_interval": { + "type": "string", + "description": "metrics export interval" + }, + "metrics_export_timeout": { + "type": "string", + "description": "metrics export timeout" + }, + "trace_batch_timeout": { + "type": "string", + "description": "trace batch timeout" + }, + "trace_export_timeout": { + "type": "string", + "description": "trace export timeout" + }, + "trace_max_export_batch_size": { + "type": "integer", + "description": "trace maximum export batch size" + }, + "trace_max_queue_size": { + "type": "integer", + "description": "trace maximum queue size" } } }, - "startingDeadlineSeconds": { - "type": "integer", - "description": "startingDeadlineSeconds setting for K8s completed jobs" - }, - "suspend": { + "trace": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "trace enabled" + } + } + } + } + }, + "podAnnotations": { + "type": "object", + "description": "pod annotations" + }, + "podPriority": { + "type": "object", + "properties": { + "enabled": { "type": "boolean", - "description": "CronJob suspend setting for index creation" - }, - "target_addrs": { - "type": "array", - "description": "index saving target addresses", - "items": { "type": "string" } + "description": "gateway pod PriorityClass enabled" }, - "ttlSecondsAfterFinished": { + "value": { "type": "integer", - "description": "ttl setting for K8s completed jobs" + "description": "gateway pod PriorityClass value" + } + } + }, + "podSecurityContext": { + "type": "object", + "description": "security context for pod" + }, + "progressDeadlineSeconds": { + "type": "integer", + "description": "progress deadline seconds" + }, + "replicas": { + "type": "integer", + "description": "number of replicas", + "minimum": 0 + }, + "resources": { + "type": "object", + "description": "compute resources", + "properties": { + "limits": { "type": "object" }, + "requests": { "type": "object" } + } + }, + "revisionHistoryLimit": { + "type": "integer", + "description": "number of old history to retain to allow rollback", + "minimum": 0 + }, + "rollingUpdate": { + "type": "object", + "properties": { + "maxSurge": { + "type": "string", + "description": "max surge of rolling update" }, - "version": { + "maxUnavailable": { "type": "string", - "description": "version of gateway config", - "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]$" + "description": "max unavailable of rolling update" } } }, diff --git a/charts/vald/values.yaml b/charts/vald/values.yaml index b843b40673..f83a0a96e8 100644 --- a/charts/vald/values.yaml +++ b/charts/vald/values.yaml @@ -2656,19 +2656,6 @@ manager: startup: {} metrics: pprof: {} - # @schema {"name": "manager.index.corrector.initContainers", "alias": "initContainers"} - # manager.index.corrector.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-agent - target: agent - image: busybox:stable - sleepDuration: 2 - - type: wait-for - name: wait-for-discoverer - target: discoverer - image: busybox:stable - sleepDuration: 2 # @schema {"name": "manager.index.corrector.env", "alias": "env"} # manager.index.corrector.env -- environment variables env: @@ -2711,9 +2698,9 @@ manager: # @schema {"name": "manager.index.corrector.stream_list_concurrency", "type": "integer", "minimum": 1} # manager.index.corrector.stream_list_concurrency -- concurrency for stream list object rpc stream_list_concurrency: 200 - # @schema {"name": "manager.index.corrector.kvs_async_write_concurrency", "type": "integer", "minimum": 1} - # manager.index.corrector.kvs_async_write_concurrency -- concurrency for kvs async write - kvs_async_write_concurrency: 2048 + # @schema {"name": "manager.index.corrector.bbolt_async_write_concurrency", "type": "integer", "minimum": 1} + # manager.index.corrector.bbolt_async_write_concurrency -- concurrency for bbolt async write + bbolt_async_write_concurrency: 2048 # @schema {"name": "manager.index.corrector.agent_namespace", "type": "string"} # manager.index.corrector.agent_namespace -- namespace of agent pods to manage agent_namespace: _MY_POD_NAMESPACE_ @@ -2735,214 +2722,3 @@ manager: net: dialer: keepalive: 15m #indexer fetches uncommitted index length, which includes huge payload so we need to set keepalive longer than usual - # @schema {"name": "manager.index.creator", "type": "object"} - creator: - # @schema {"name": "manager.index.creator.name", "type": "string"} - # manager.index.creator.name -- name of index creation job - name: vald-index-creation - # @schema {"name": "manager.index.creator.image", "alias": "image"} - image: - # manager.index.creator.image.repository -- image repository - repository: vdaas/vald-index-creation - # manager.index.creator.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # manager.index.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "manager.index.creator.server_config", "alias": "server_config"} - # manager.index.creator.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: {} - readiness: {} - startup: {} - metrics: - pprof: {} - # @schema {"name": "manager.index.creator.initContainers", "alias": "initContainers"} - # manager.index.creator.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-agent - target: agent - image: busybox:stable - sleepDuration: 2 - - type: wait-for - name: wait-for-discoverer - target: discoverer - image: busybox:stable - sleepDuration: 2 - # @schema {"name": "manager.index.creator.env", "alias": "env"} - # manager.index.creator.env -- environment variables - env: - - name: MY_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - # @schema {"name": "manager.index.creator.observability", "alias": "observability"} - # manager.index.creator.observability -- observability config (overrides defaults.observability) - observability: - otlp: - attribute: - service_name: vald-index-creation - # @schema {"name": "manager.index.creator.enabled", "type": "boolean"} - # manager.index.creator.enabled -- enable index creation CronJob - enabled: false - # @schema {"name": "manager.index.creator.schedule", "type": "string"} - # manager.index.creator.schedule -- CronJob schedule setting for index creation - schedule: "* * * * *" - # @schema {"name": "manager.index.creator.suspend", "type": "boolean"} - # manager.index.creator.suspend -- CronJob suspend setting for index creation - suspend: false - # @schema {"name": "manager.index.creator.ttlSecondsAfterFinished", "type": "integer"} - # manager.index.creator.ttlSecondsAfterFinished -- ttl setting for K8s completed jobs - ttlSecondsAfterFinished: 86400 - # @schema {"name": "manager.index.creator.startingDeadlineSeconds", "type": "integer"} - # manager.index.creator.startingDeadlineSeconds -- startingDeadlineSeconds setting for K8s completed jobs - startingDeadlineSeconds: 43200 - # @schema {"name": "manager.index.creator.version", "alias": "version"} - # manager.index.creator.version -- version of index manager config - version: v0.0.0 - # @schema {"name": "manager.index.creator.concurrency", "type": "integer", "minimum": 1} - # manager.index.creator.concurrency -- concurrency for indexing - concurrency: 1 - # @schema {"name": "manager.index.creator.creation_pool_size", "type": "integer"} - # manager.index.creator.creation_pool_size -- number of pool size of create index processing - creation_pool_size: 16 - # @schema {"name": "manager.index.creator.target_addrs", "type": "array", "items": {"type": "string"}} - # manager.index.creator.target_addrs -- indexing target addresses - target_addrs: [] - # @schema {"name": "manager.index.creator.agent_namespace", "type": "string"} - # manager.index.creator.agent_namespace -- namespace of agent pods to manage - agent_namespace: _MY_POD_NAMESPACE_ - # @schema {"name": "manager.index.creator.node_name", "type": "string"} - # manager.index.creator.node_name -- node name - node_name: "" # _MY_NODE_NAME_ - # @schema {"name": "manager.index.creator.discoverer", "type": "object"} - discoverer: - # @schema {"name": "manager.index.creator.discoverer.duration", "type": "string"} - # manager.index.creator.discoverer.duration -- refresh duration to discover - duration: 500ms - # @schema {"name": "manager.index.creator.discoverer.client", "alias": "grpc.client"} - # manager.index.creator.discoverer.client -- gRPC client for discoverer (overrides defaults.grpc.client) - client: {} - # @schema {"name": "manager.index.creator.discoverer.agent_client_options", "alias": "grpc.client"} - # manager.index.creator.discoverer.agent_client_options -- gRPC client options for agents (overrides defaults.grpc.client) - agent_client_options: - dial_option: - net: - dialer: - keepalive: 15m #indexer fetches uncommitted index length, which includes huge payload so we need to set keepalive longer than usual - # @schema {"name": "manager.index.saver", "type": "object"} - saver: - # @schema {"name": "manager.index.saver.name", "type": "string"} - # manager.index.saver.name -- name of index save job - name: vald-index-save - # @schema {"name": "manager.index.saver.image", "alias": "image"} - image: - # manager.index.saver.image.repository -- image repository - repository: vdaas/vald-index-save - # manager.index.saver.image.tag -- image tag (overrides defaults.image.tag) - tag: "" - # manager.index.image.pullPolicy -- image pull policy - pullPolicy: Always - # @schema {"name": "manager.index.saver.server_config", "alias": "server_config"} - # manager.index.saver.server_config -- server config (overrides defaults.server_config) - server_config: - servers: - rest: {} - grpc: {} - healths: - liveness: {} - readiness: {} - startup: {} - metrics: - pprof: {} - # @schema {"name": "manager.index.saver.initContainers", "alias": "initContainers"} - # manager.index.saver.initContainers -- init containers - initContainers: - - type: wait-for - name: wait-for-agent - target: agent - image: busybox:stable - sleepDuration: 2 - - type: wait-for - name: wait-for-discoverer - target: discoverer - image: busybox:stable - sleepDuration: 2 - # @schema {"name": "manager.index.saver.env", "alias": "env"} - # manager.index.saver.env -- environment variables - env: - - name: MY_NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: MY_POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: MY_POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - # @schema {"name": "manager.index.saver.observability", "alias": "observability"} - # manager.index.saver.observability -- observability config (overrides defaults.observability) - observability: - otlp: - attribute: - service_name: vald-index-save - # @schema {"name": "manager.index.saver.enabled", "type": "boolean"} - # manager.index.saver.enabled -- enable index save CronJob - enabled: false - # @schema {"name": "manager.index.saver.schedule", "type": "string"} - # manager.index.saver.schedule -- CronJob schedule setting for index save - schedule: "0 */3 * * *" - # @schema {"name": "manager.index.saver.suspend", "type": "boolean"} - # manager.index.saver.suspend -- CronJob suspend setting for index creation - suspend: false - # @schema {"name": "manager.index.saver.ttlSecondsAfterFinished", "type": "integer"} - # manager.index.saver.ttlSecondsAfterFinished -- ttl setting for K8s completed jobs - ttlSecondsAfterFinished: 86400 - # @schema {"name": "manager.index.saver.startingDeadlineSeconds", "type": "integer"} - # manager.index.saver.startingDeadlineSeconds -- startingDeadlineSeconds setting for K8s completed jobs - startingDeadlineSeconds: 43200 - # @schema {"name": "manager.index.saver.version", "alias": "version"} - # manager.index.saver.version -- version of index manager config - version: v0.0.0 - # @schema {"name": "manager.index.saver.concurrency", "type": "integer", "minimum": 1} - # manager.index.saver.concurrency -- concurrency for index saving - concurrency: 1 - # @schema {"name": "manager.index.saver.target_addrs", "type": "array", "items": {"type": "string"}} - # manager.index.saver.target_addrs -- index saving target addresses - target_addrs: [] - # @schema {"name": "manager.index.saver.agent_namespace", "type": "string"} - # manager.index.saver.agent_namespace -- namespace of agent pods to manage - agent_namespace: _MY_POD_NAMESPACE_ - # @schema {"name": "manager.index.saver.node_name", "type": "string"} - # manager.index.saver.node_name -- node name - node_name: "" # _MY_NODE_NAME_ - # @schema {"name": "manager.index.saver.discoverer", "type": "object"} - discoverer: - # @schema {"name": "manager.index.saver.discoverer.duration", "type": "string"} - # manager.index.saver.discoverer.duration -- refresh duration to discover - duration: 500ms - # @schema {"name": "manager.index.saver.discoverer.client", "alias": "grpc.client"} - # manager.index.saver.discoverer.client -- gRPC client for discoverer (overrides defaults.grpc.client) - client: {} - # @schema {"name": "manager.index.saver.discoverer.agent_client_options", "alias": "grpc.client"} - # manager.index.saver.discoverer.agent_client_options -- gRPC client options for agents (overrides defaults.grpc.client) - agent_client_options: - dial_option: - net: - dialer: - keepalive: 15m #indexer fetches uncommitted index length, which includes huge payload so we need to set keepalive longer than usual diff --git a/cmd/index/job/correction/sample.yaml b/cmd/index/job/correction/sample.yaml index 8f1ef81cba..bc3f144e41 100644 --- a/cmd/index/job/correction/sample.yaml +++ b/cmd/index/job/correction/sample.yaml @@ -77,7 +77,7 @@ corrector: agent_namespace: "default" node_name: "" stream_list_concurrency: 200 - kvs_async_write_concurrency: 2048 + bbolt_async_write_concurrency: 2048 index_replica: 3 discoverer: duration: 500ms diff --git a/internal/config/corrector.go b/internal/config/corrector.go index c189fe9225..3e1176c8bb 100644 --- a/internal/config/corrector.go +++ b/internal/config/corrector.go @@ -38,8 +38,8 @@ type Corrector struct { // this directly affects the memory usage of this job StreamListConcurrency int `json:"stream_list_concurrency" yaml:"stream_list_concurrency"` - // KvsAsyncWriteConcurrency represent concurrency for kvs async write - KvsAsyncWriteConcurrency int `json:"kvs_async_write_concurrency" yaml:"kvs_async_write_concurrency"` + // BboltAsyncWriteConcurrency represent concurrency for bbolt async write + BboltAsyncWriteConcurrency int `json:"bbolt_async_write_concurrency" yaml:"bbolt_async_write_concurrency"` // IndexReplica represent index replica count. This should be equal to the lb setting IndexReplica int `json:"index_replica" yaml:"index_replica"` diff --git a/internal/config/corrector_test.go b/internal/config/corrector_test.go index a0725a19d7..0391c4d3aa 100644 --- a/internal/config/corrector_test.go +++ b/internal/config/corrector_test.go @@ -23,7 +23,7 @@ package config // AgentDNS string // NodeName string // StreamListConcurrency int -// KvsAsyncWriteConcurrency int +// BboltAsyncWriteConcurrency int // IndexReplica int // Discoverer *DiscovererClient // } @@ -56,7 +56,7 @@ package config // AgentDNS:"", // NodeName:"", // StreamListConcurrency:0, -// KvsAsyncWriteConcurrency:0, +// BboltAsyncWriteConcurrency:0, // IndexReplica:0, // Discoverer:DiscovererClient{}, // }, @@ -83,7 +83,7 @@ package config // AgentDNS:"", // NodeName:"", // StreamListConcurrency:0, -// KvsAsyncWriteConcurrency:0, +// BboltAsyncWriteConcurrency:0, // IndexReplica:0, // Discoverer:DiscovererClient{}, // }, @@ -122,7 +122,7 @@ package config // AgentDNS: test.fields.AgentDNS, // NodeName: test.fields.NodeName, // StreamListConcurrency: test.fields.StreamListConcurrency, -// KvsAsyncWriteConcurrency: test.fields.KvsAsyncWriteConcurrency, +// BboltAsyncWriteConcurrency: test.fields.BboltAsyncWriteConcurrency, // IndexReplica: test.fields.IndexReplica, // Discoverer: test.fields.Discoverer, // } diff --git a/k8s/index/job/correction/networkpolicy.yaml b/k8s/index/job/correction/networkpolicy.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/correction/networkpolicy.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/creation/configmap.yaml b/k8s/index/job/creation/configmap.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/creation/configmap.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/creation/cronjob.yaml b/k8s/index/job/creation/cronjob.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/creation/cronjob.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/creation/networkpolicy.yaml b/k8s/index/job/creation/networkpolicy.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/creation/networkpolicy.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/save/configmap.yaml b/k8s/index/job/save/configmap.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/save/configmap.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/save/cronjob.yaml b/k8s/index/job/save/cronjob.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/save/cronjob.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/index/job/save/networkpolicy.yaml b/k8s/index/job/save/networkpolicy.yaml deleted file mode 100644 index ed97d539c0..0000000000 --- a/k8s/index/job/save/networkpolicy.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/k8s/operator/helm/crds/valdrelease.yaml b/k8s/operator/helm/crds/valdrelease.yaml index 430ae2fcd7..3854881577 100644 --- a/k8s/operator/helm/crds/valdrelease.yaml +++ b/k8s/operator/helm/crds/valdrelease.yaml @@ -2032,15 +2032,11 @@ spec: type: object properties: egress: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true + type: object + x-kubernetes-preserve-unknown-fields: true ingress: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true + type: object + x-kubernetes-preserve-unknown-fields: true enabled: type: boolean observability: @@ -6077,6 +6073,9 @@ spec: properties: agent_namespace: type: string + bbolt_async_write_concurrency: + type: integer + minimum: 1 discoverer: type: object properties: @@ -6452,14 +6451,6 @@ spec: type: string tag: type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - kvs_async_write_concurrency: - type: integer - minimum: 1 name: type: string node_name: @@ -7042,11 +7033,43 @@ spec: version: type: string pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ - creator: + enabled: + type: boolean + env: + type: array + items: + type: object + x-kubernetes-preserve-unknown-fields: true + externalTrafficPolicy: + type: string + image: + type: object + properties: + pullPolicy: + type: string + enum: + - Always + - Never + - IfNotPresent + repository: + type: string + tag: + type: string + indexer: type: object properties: agent_namespace: type: string + auto_index_check_duration: + type: string + auto_index_duration_limit: + type: string + auto_index_length: + type: integer + auto_save_index_duration_limit: + type: string + auto_save_index_wait_duration: + type: string concurrency: type: integer minimum: 1 @@ -7407,2125 +7430,149 @@ spec: type: boolean duration: type: string + node_name: + type: string + initContainers: + type: array + items: + type: object + x-kubernetes-preserve-unknown-fields: true + kind: + type: string + enum: + - Deployment + - DaemonSet + logging: + type: object + properties: + format: + type: string + enum: + - raw + - json + level: + type: string + enum: + - debug + - info + - warn + - error + - fatal + logger: + type: string + enum: + - glg + - zap + maxUnavailable: + type: string + name: + type: string + nodeName: + type: string + nodeSelector: + type: object + x-kubernetes-preserve-unknown-fields: true + observability: + type: object + properties: enabled: type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - image: + metrics: type: object properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - node_name: - type: string - observability: + enable_cgo: + type: boolean + enable_goroutine: + type: boolean + enable_memory: + type: boolean + enable_version_info: + type: boolean + version_info_labels: + type: array + items: + type: string + enum: + - vald_version + - server_name + - git_commit + - build_time + - go_version + - go_os + - go_arch + - cgo_enabled + - ngt_version + - build_cpu_info_flags + otlp: type: object properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: + attribute: type: object properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: + namespace: type: string - metrics_export_timeout: + node_name: type: string - trace_batch_timeout: + pod_name: type: string - trace_export_timeout: + service_name: type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - schedule: - type: string - server_config: + collector_endpoint: + type: string + metrics_export_interval: + type: string + metrics_export_timeout: + type: string + trace_batch_timeout: + type: string + trace_export_timeout: + type: string + trace_max_export_batch_size: + type: integer + trace_max_queue_size: + type: integer + trace: type: object properties: - full_shutdown_duration: - type: string - healths: - type: object - properties: - liveness: - type: object - properties: - enabled: - type: boolean - host: - type: string - livenessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - readiness: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - readinessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - startup: - type: object - properties: - enabled: - type: boolean - port: - type: integer - maximum: 65535 - minimum: 0 - startupProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - metrics: - type: object - properties: - pprof: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - servers: - type: object - properties: - grpc: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - grpc: - type: object - properties: - bidirectional_stream_concurrency: - type: integer - connection_timeout: - type: string - enable_reflection: - type: boolean - header_table_size: - type: integer - initial_conn_window_size: - type: integer - initial_window_size: - type: integer - interceptors: - type: array - items: - type: string - enum: - - RecoverInterceptor - - AccessLogInterceptor - - TraceInterceptor - - MetricInterceptor - keepalive: - type: object - properties: - max_conn_age: - type: string - max_conn_age_grace: - type: string - max_conn_idle: - type: string - min_time: - type: string - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_header_list_size: - type: integer - max_receive_message_size: - type: integer - max_send_message_size: - type: integer - read_buffer_size: - type: integer - write_buffer_size: - type: integer - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - restart: - type: boolean - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - rest: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - startingDeadlineSeconds: - type: integer - suspend: - type: boolean - target_addrs: - type: array - items: - type: string - ttlSecondsAfterFinished: - type: integer - version: - type: string - pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ - enabled: - type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - externalTrafficPolicy: - type: string - image: - type: object - properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - indexer: - type: object - properties: - agent_namespace: - type: string - auto_index_check_duration: - type: string - auto_index_duration_limit: - type: string - auto_index_length: - type: integer - auto_save_index_duration_limit: - type: string - auto_save_index_wait_duration: - type: string - concurrency: - type: integer - minimum: 1 - creation_pool_size: - type: integer - discoverer: - type: object - properties: - agent_client_options: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - client: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - duration: - type: string - node_name: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - kind: - type: string - enum: - - Deployment - - DaemonSet - logging: - type: object - properties: - format: - type: string - enum: - - raw - - json - level: - type: string - enum: - - debug - - info - - warn - - error - - fatal - logger: - type: string - enum: - - glg - - zap - maxUnavailable: - type: string - name: - type: string - nodeName: - type: string - nodeSelector: - type: object - x-kubernetes-preserve-unknown-fields: true - observability: - type: object - properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: - type: object - properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: - type: string - metrics_export_timeout: - type: string - trace_batch_timeout: - type: string - trace_export_timeout: - type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - podAnnotations: - type: object - x-kubernetes-preserve-unknown-fields: true - podPriority: - type: object - properties: - enabled: - type: boolean - value: - type: integer - podSecurityContext: - type: object - x-kubernetes-preserve-unknown-fields: true - progressDeadlineSeconds: - type: integer - replicas: - type: integer - minimum: 0 - resources: - type: object - properties: - limits: - type: object - x-kubernetes-preserve-unknown-fields: true - requests: - type: object - x-kubernetes-preserve-unknown-fields: true - revisionHistoryLimit: - type: integer - minimum: 0 - rollingUpdate: - type: object - properties: - maxSurge: - type: string - maxUnavailable: - type: string - saver: - type: object - properties: - agent_namespace: - type: string - concurrency: - type: integer - minimum: 1 - discoverer: - type: object - properties: - agent_client_options: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - client: - type: object - properties: - addrs: - type: array - items: - type: string - backoff: - type: object - properties: - backoff_factor: - type: number - backoff_time_limit: - type: string - enable_error_log: - type: boolean - initial_duration: - type: string - jitter_limit: - type: string - maximum_duration: - type: string - retry_count: - type: integer - call_option: - type: object - x-kubernetes-preserve-unknown-fields: true - circuit_breaker: - type: object - properties: - closed_error_rate: - type: number - closed_refresh_timeout: - type: string - half_open_error_rate: - type: number - min_samples: - type: integer - open_timeout: - type: string - connection_pool: - type: object - properties: - enable_dns_resolver: - type: boolean - enable_rebalance: - type: boolean - old_conn_close_duration: - type: string - rebalance_duration: - type: string - size: - type: integer - dial_option: - type: object - properties: - backoff_base_delay: - type: string - backoff_jitter: - type: number - backoff_max_delay: - type: string - backoff_multiplier: - type: number - enable_backoff: - type: boolean - initial_connection_window_size: - type: integer - initial_window_size: - type: integer - insecure: - type: boolean - interceptors: - type: array - items: - type: string - enum: - - TraceInterceptor - keepalive: - type: object - properties: - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_msg_size: - type: integer - min_connection_timeout: - type: string - net: - type: object - properties: - dialer: - type: object - properties: - dual_stack_enabled: - type: boolean - keepalive: - type: string - timeout: - type: string - dns: - type: object - properties: - cache_enabled: - type: boolean - cache_expiration: - type: string - refresh_duration: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - read_buffer_size: - type: integer - timeout: - type: string - write_buffer_size: - type: integer - health_check_duration: - type: string - max_recv_msg_size: - type: integer - max_retry_rpc_buffer_size: - type: integer - max_send_msg_size: - type: integer - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - wait_for_ready: - type: boolean - duration: - type: string - enabled: - type: boolean - env: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - image: - type: object - properties: - pullPolicy: - type: string - enum: - - Always - - Never - - IfNotPresent - repository: - type: string - tag: - type: string - initContainers: - type: array - items: - type: object - x-kubernetes-preserve-unknown-fields: true - name: - type: string - node_name: - type: string - observability: - type: object - properties: - enabled: - type: boolean - metrics: - type: object - properties: - enable_cgo: - type: boolean - enable_goroutine: - type: boolean - enable_memory: - type: boolean - enable_version_info: - type: boolean - version_info_labels: - type: array - items: - type: string - enum: - - vald_version - - server_name - - git_commit - - build_time - - go_version - - go_os - - go_arch - - cgo_enabled - - ngt_version - - build_cpu_info_flags - otlp: - type: object - properties: - attribute: - type: object - properties: - namespace: - type: string - node_name: - type: string - pod_name: - type: string - service_name: - type: string - collector_endpoint: - type: string - metrics_export_interval: - type: string - metrics_export_timeout: - type: string - trace_batch_timeout: - type: string - trace_export_timeout: - type: string - trace_max_export_batch_size: - type: integer - trace_max_queue_size: - type: integer - trace: - type: object - properties: - enabled: - type: boolean - schedule: - type: string - server_config: - type: object - properties: - full_shutdown_duration: - type: string - healths: - type: object - properties: - liveness: - type: object - properties: - enabled: - type: boolean - host: - type: string - livenessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - readiness: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - readinessProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - startup: - type: object - properties: - enabled: - type: boolean - port: - type: integer - maximum: 65535 - minimum: 0 - startupProbe: - type: object - properties: - failureThreshold: - type: integer - httpGet: - type: object - properties: - path: - type: string - port: - type: string - scheme: - type: string - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - metrics: - type: object - properties: - pprof: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - servers: - type: object - properties: - grpc: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - grpc: - type: object - properties: - bidirectional_stream_concurrency: - type: integer - connection_timeout: - type: string - enable_reflection: - type: boolean - header_table_size: - type: integer - initial_conn_window_size: - type: integer - initial_window_size: - type: integer - interceptors: - type: array - items: - type: string - enum: - - RecoverInterceptor - - AccessLogInterceptor - - TraceInterceptor - - MetricInterceptor - keepalive: - type: object - properties: - max_conn_age: - type: string - max_conn_age_grace: - type: string - max_conn_idle: - type: string - min_time: - type: string - permit_without_stream: - type: boolean - time: - type: string - timeout: - type: string - max_header_list_size: - type: integer - max_receive_message_size: - type: integer - max_send_message_size: - type: integer - read_buffer_size: - type: integer - write_buffer_size: - type: integer - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - restart: - type: boolean - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - rest: - type: object - properties: - enabled: - type: boolean - host: - type: string - port: - type: integer - maximum: 65535 - minimum: 0 - server: - type: object - properties: - http: - type: object - properties: - handler_timeout: - type: string - idle_timeout: - type: string - read_header_timeout: - type: string - read_timeout: - type: string - shutdown_duration: - type: string - write_timeout: - type: string - mode: - type: string - network: - type: string - enum: - - tcp - - tcp4 - - tcp6 - - udp - - udp4 - - udp6 - - unix - - unixgram - - unixpacket - probe_wait_time: - type: string - socket_option: - type: object - properties: - ip_recover_destination_addr: - type: boolean - ip_transparent: - type: boolean - reuse_addr: - type: boolean - reuse_port: - type: boolean - tcp_cork: - type: boolean - tcp_defer_accept: - type: boolean - tcp_fast_open: - type: boolean - tcp_no_delay: - type: boolean - tcp_quick_ack: - type: boolean - socket_path: - type: string - servicePort: - type: integer - maximum: 65535 - minimum: 0 - tls: - type: object - properties: - ca: - type: string - cert: - type: string - enabled: - type: boolean - insecure_skip_verify: - type: boolean - key: - type: string - startingDeadlineSeconds: - type: integer - suspend: + enabled: + type: boolean + podAnnotations: + type: object + x-kubernetes-preserve-unknown-fields: true + podPriority: + type: object + properties: + enabled: type: boolean - target_addrs: - type: array - items: - type: string - ttlSecondsAfterFinished: + value: type: integer - version: + podSecurityContext: + type: object + x-kubernetes-preserve-unknown-fields: true + progressDeadlineSeconds: + type: integer + replicas: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + x-kubernetes-preserve-unknown-fields: true + requests: + type: object + x-kubernetes-preserve-unknown-fields: true + revisionHistoryLimit: + type: integer + minimum: 0 + rollingUpdate: + type: object + properties: + maxSurge: + type: string + maxUnavailable: type: string - pattern: ^v[0-9]+\.[0-9]+\.[0-9]$ securityContext: type: object x-kubernetes-preserve-unknown-fields: true diff --git a/pkg/index/job/correction/service/options.go b/pkg/index/job/correction/service/options.go index e57ff74269..3d1ec633a7 100644 --- a/pkg/index/job/correction/service/options.go +++ b/pkg/index/job/correction/service/options.go @@ -22,8 +22,8 @@ import ( type Option func(*correct) error var defaultOpts = []Option{ - WithStreamListConcurrency(200), //nolint:gomnd - WithKvsAsyncWriteConcurrency(2048), //nolint:gomnd + WithStreamListConcurrency(200), //nolint:gomnd + WithBboltAsyncWriteConcurrency(2048), //nolint:gomnd } // WithIndexReplica returns Option that sets index replica. @@ -59,11 +59,11 @@ func WithStreamListConcurrency(num int) Option { } } -// WithKvsAsyncWriteConcurrency returns Option that sets concurrency for kvs async write. -func WithKvsAsyncWriteConcurrency(num int) Option { +// WithBboltAsyncWriteConcurrency returns Option that sets concurrency for kvs async write. +func WithBboltAsyncWriteConcurrency(num int) Option { return func(c *correct) error { if num <= 0 { - return errors.NewErrInvalidOption("kvsAsyncWriteConcurrency", num) + return errors.NewErrInvalidOption("bboltAsyncWriteConcurrency", num) } c.bboltAsyncWriteConcurrency = num return nil diff --git a/pkg/index/job/correction/usecase/corrector.go b/pkg/index/job/correction/usecase/corrector.go index 94c5fa21a8..110e71d4a6 100644 --- a/pkg/index/job/correction/usecase/corrector.go +++ b/pkg/index/job/correction/usecase/corrector.go @@ -104,7 +104,7 @@ func New(cfg *config.Data) (r runner.Runner, err error) { corrector, err := service.New( service.WithDiscoverer(discoverer), service.WithIndexReplica(cfg.Corrector.IndexReplica), - service.WithKvsAsyncWriteConcurrency(cfg.Corrector.KvsAsyncWriteConcurrency), + service.WithBboltAsyncWriteConcurrency(cfg.Corrector.BboltAsyncWriteConcurrency), service.WithStreamListConcurrency(cfg.Corrector.StreamListConcurrency), ) if err != nil {