Skip to content

Commit

Permalink
Add QUIC support
Browse files Browse the repository at this point in the history
Signed-off-by: kpango <[email protected]>
  • Loading branch information
kpango committed Nov 12, 2024
1 parent 0bacaca commit 887696a
Show file tree
Hide file tree
Showing 561 changed files with 2,753 additions and 802 deletions.
2 changes: 2 additions & 0 deletions .gitfiles
Original file line number Diff line number Diff line change
Expand Up @@ -1251,6 +1251,8 @@ internal/net/net.go
internal/net/net_test.go
internal/net/option.go
internal/net/option_test.go
internal/net/quic/conn.go
internal/net/quic/listener.go
internal/observability/attribute/attribute.go
internal/observability/attribute/attribute_test.go
internal/observability/exporter/exporter.go
Expand Down
4 changes: 3 additions & 1 deletion apis/grpc/v1/payload/interface.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package payload

import "google.golang.org/protobuf/reflect/protoreflect"
Expand Down
150 changes: 150 additions & 0 deletions charts/vald-helm-operator/crds/valdrelease.yaml

Large diffs are not rendered by default.

32 changes: 21 additions & 11 deletions charts/vald/README.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions charts/vald/templates/agent/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $agent.name }}
unhealthyPodEvictionPolicy: {{ $agent.unhealthyPodEvictionPolicy }}
{{- end }}
1 change: 1 addition & 0 deletions charts/vald/templates/discoverer/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $discoverer.name }}
unhealthyPodEvictionPolicy: {{ $discoverer.unhealthyPodEvictionPolicy }}
{{- end }}
1 change: 1 addition & 0 deletions charts/vald/templates/gateway/filter/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $gateway.name }}
unhealthyPodEvictionPolicy: {{ $gateway.unhealthyPodEvictionPolicy }}
{{- end }}
1 change: 1 addition & 0 deletions charts/vald/templates/gateway/lb/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $gateway.name }}
unhealthyPodEvictionPolicy: {{ $gateway.unhealthyPodEvictionPolicy }}
{{- end }}
1 change: 1 addition & 0 deletions charts/vald/templates/gateway/mirror/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $gateway.name }}
unhealthyPodEvictionPolicy: {{ $gateway.unhealthyPodEvictionPolicy }}
{{- end }}
1 change: 1 addition & 0 deletions charts/vald/templates/manager/index/pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ spec:
selector:
matchLabels:
app: {{ $index.name }}
unhealthyPodEvictionPolicy: {{ $index.unhealthyPodEvictionPolicy }}
{{- end }}
4 changes: 3 additions & 1 deletion charts/vald/values.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package vald

import "github.com/vdaas/vald/internal/config"
Expand Down
250 changes: 190 additions & 60 deletions charts/vald/values.schema.json

Large diffs are not rendered by default.

51 changes: 39 additions & 12 deletions charts/vald/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -823,16 +823,19 @@ defaults:
interceptors: []
# @schema {"name": "defaults.grpc.client.dial_option.net", "type": "object", "anchor": "net"}
net:
# @schema {"name": "defaults.grpc.client.dial_option.net.network", "type": "string", "enum": ["tcp", "udp", "unix"]}
# defaults.grpc.client.dial_option.net.network -- gRPC client dialer network type
network: tcp
# @schema {"name": "defaults.grpc.client.dial_option.net.dns", "type": "object"}
dns:
# @schema {"name": "defaults.grpc.client.dial_option.net.dns.cache_enabled", "type": "boolean"}
# defaults.grpc.client.dial_option.net.dns.cache_enabled -- gRPC client TCP DNS cache enabled
# defaults.grpc.client.dial_option.net.dns.cache_enabled -- gRPC client DNS cache enabled
cache_enabled: true
# @schema {"name": "defaults.grpc.client.dial_option.net.dns.refresh_duration", "type": "string"}
# defaults.grpc.client.dial_option.net.dns.refresh_duration -- gRPC client TCP DNS cache refresh duration
# defaults.grpc.client.dial_option.net.dns.refresh_duration -- gRPC client DNS cache refresh duration
refresh_duration: 30m
# @schema {"name": "defaults.grpc.client.dial_option.net.dns.cache_expiration", "type": "string"}
# defaults.grpc.client.dial_option.net.dns.cache_expiration -- gRPC client TCP DNS cache expiration
# defaults.grpc.client.dial_option.net.dns.cache_expiration -- gRPC client DNS cache expiration
cache_expiration: 1h
# @schema {"name": "defaults.grpc.client.dial_option.net.dialer", "type": "object"}
dialer:
Expand Down Expand Up @@ -1032,6 +1035,9 @@ gateway:
# @schema {"name": "gateway.lb.maxUnavailable", "type": "string"}
# gateway.lb.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: 50%
# @schema {"name": "gateway.lb.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# gateway.lb.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "AlwaysAllow"
# @schema {"name": "gateway.lb.revisionHistoryLimit", "type": "integer", "minimum": 0}
# gateway.lb.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down Expand Up @@ -1316,6 +1322,9 @@ gateway:
# @schema {"name": "gateway.filter.maxUnavailable", "type": "string"}
# gateway.filter.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: 50%
# @schema {"name": "gateway.filter.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# gateway.filter.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "AlwaysAllow"
# @schema {"name": "gateway.filter.revisionHistoryLimit", "type": "integer", "minimum": 0}
# gateway.filter.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down Expand Up @@ -1604,6 +1613,9 @@ gateway:
# @schema {"name": "gateway.mirror.maxUnavailable", "type": "string"}
# gateway.mirror.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: 50%
# @schema {"name": "gateway.mirror.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# gateway.mirror.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "AlwaysAllow"
# @schema {"name": "gateway.mirror.revisionHistoryLimit", "type": "integer", "minimum": 0}
# gateway.mirror.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down Expand Up @@ -1815,12 +1827,14 @@ gateway:
gateway_config:
# @schema {"name": "gateway.mirror.gateway_config.net", "alias": "net"}
net:
# gateway.mirror.gateway_config.net.network.cache_enabled -- gRPC client dialer network type
network: tcp
dns:
# gateway.mirror.gateway_config.net.dns.cache_enabled -- TCP DNS cache enabled
# gateway.mirror.gateway_config.net.dns.cache_enabled -- DNS cache enabled
cache_enabled: true
# gateway.mirror.gateway_config.net.dns.refresh_duration -- TCP DNS cache refresh duration
# gateway.mirror.gateway_config.net.dns.refresh_duration -- DNS cache refresh duration
refresh_duration: 5m
# gateway.mirror.gateway_config.net.dns.cache_expiration -- TCP DNS cache expiration
# gateway.mirror.gateway_config.net.dns.cache_expiration -- DNS cache expiration
cache_expiration: 24h
dialer:
# gateway.mirror.gateway_config.net.dialer.timeout -- TCP dialer timeout
Expand Down Expand Up @@ -1955,6 +1969,9 @@ agent:
# @schema {"name": "agent.maxUnavailable", "type": "string"}
# agent.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: "1"
# @schema {"name": "agent.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# agent.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "IfHealthyBudget"
# @schema {"name": "agent.revisionHistoryLimit", "type": "integer", "minimum": 0}
# agent.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down Expand Up @@ -2630,12 +2647,14 @@ agent:
client:
# @schema {"name": "agent.sidecar.config.client.net", "alias": "net"}
net:
# agent.sidecar.config.client.net.network -- gRPC client dialer network type
network: tcp
dns:
# agent.sidecar.config.client.net.dns.cache_enabled -- HTTP client TCP DNS cache enabled
# agent.sidecar.config.client.net.dns.cache_enabled -- HTTP client DNS cache enabled
cache_enabled: true
# agent.sidecar.config.client.net.dns.refresh_duration -- HTTP client TCP DNS cache refresh duration
# agent.sidecar.config.client.net.dns.refresh_duration -- HTTP client DNS cache refresh duration
refresh_duration: 1h
# agent.sidecar.config.client.net.dns.refresh_duration -- HTTP client TCP DNS cache expiration
# agent.sidecar.config.client.net.dns.refresh_duration -- HTTP client DNS cache expiration
cache_expiration: 24h
dialer:
# agent.sidecar.config.client.net.dialer.timeout -- HTTP client TCP dialer connect timeout
Expand Down Expand Up @@ -2790,6 +2809,9 @@ discoverer:
# @schema {"name": "discoverer.maxUnavailable", "type": "string"}
# discoverer.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: 50%
# @schema {"name": "discoverer.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# discoverer.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "AlwaysAllow"
# @schema {"name": "discoverer.revisionHistoryLimit", "type": "integer", "minimum": 0}
# discoverer.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down Expand Up @@ -3005,12 +3027,14 @@ discoverer:
fields: {}
# @schema {"name": "discoverer.discoverer.net", "alias": "net"}
net:
# discoverer.discoverer.net.network -- gRPC client dialer network type
network: tcp
dns:
# discoverer.discoverer.net.dns.cache_enabled -- TCP DNS cache enabled
# discoverer.discoverer.net.dns.cache_enabled -- DNS cache enabled
cache_enabled: true
# discoverer.discoverer.net.dns.refresh_duration -- TCP DNS cache refresh duration
# discoverer.discoverer.net.dns.refresh_duration -- DNS cache refresh duration
refresh_duration: 5m
# discoverer.discoverer.net.dns.cache_expiration -- TCP DNS cache expiration
# discoverer.discoverer.net.dns.cache_expiration -- DNS cache expiration
cache_expiration: 24h
dialer:
# discoverer.discoverer.net.dialer.timeout -- TCP dialer timeout
Expand Down Expand Up @@ -3111,6 +3135,9 @@ manager:
# @schema {"name": "manager.index.maxUnavailable", "type": "string"}
# manager.index.maxUnavailable -- maximum number of unavailable replicas
maxUnavailable: 50%
# @schema {"name": "manager.index.unhealthyPodEvictionPolicy", "type": "string", "enum": ["AlwaysAllow", "IfHealthyBudget"]}
# manager.index.unhealthyPodEvictionPolicy -- controls whether unhealthy pods can be evicted based on the application's healthy pod count, supporting either cautious or permissive eviction.
unhealthyPodEvictionPolicy: "AlwaysAllow"
# @schema {"name": "manager.index.revisionHistoryLimit", "type": "integer", "minimum": 0}
# manager.index.revisionHistoryLimit -- number of old history to retain to allow rollback
revisionHistoryLimit: 2
Expand Down
4 changes: 3 additions & 1 deletion cmd/agent/core/faiss/main_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

// NOT IMPLEMENTED BELOW
Expand Down
4 changes: 3 additions & 1 deletion cmd/gateway/mirror/main.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

import (
Expand Down
4 changes: 3 additions & 1 deletion cmd/gateway/mirror/main_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

// NOT IMPLEMENTED BELOW
Expand Down
4 changes: 3 additions & 1 deletion cmd/index/job/correction/main.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

import (
Expand Down
4 changes: 3 additions & 1 deletion cmd/index/job/correction/main_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

// NOT IMPLEMENTED BELOW
Expand Down
4 changes: 3 additions & 1 deletion cmd/index/job/creation/main.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

import (
Expand Down
4 changes: 3 additions & 1 deletion cmd/index/job/creation/main_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

// NOT IMPLEMENTED BELOW
Expand Down
4 changes: 3 additions & 1 deletion cmd/index/job/deletion/main.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
//
// Copyright (C) 2019-2024 vdaas.org vald team <[email protected]>
//
// 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
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package main

import (
Expand Down
Loading

0 comments on commit 887696a

Please sign in to comment.