Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport PR #2572 to release/v1.7 for add HTTP2 support for http.Client and Vald HTTP Server #2575

Conversation

vdaas-ci
Copy link
Collaborator

@vdaas-ci vdaas-ci commented Aug 7, 2024

Description

  • New Features

    • Introduced detailed HTTP/2 configuration options across multiple services, enhancing performance and customization for users.
    • Added a new Docker image build workflow for the buildkit-syft-scanner, improving build cache capabilities.
  • Version Updates

    • Updated Vald version from v1.7.12 to v1.7.13.
    • Updated Go version from v1.22.5 to v1.22.6.
  • Bug Fixes

    • Enhanced error handling and transport configuration in the HTTP client, improving network communication reliability.
    • Helm CI Workflow failed, due to the host.docker.internal option not found in workflow.
  • Documentation

    • Revised issue and pull request templates to reflect the latest versions of Vald and Go, ensuring users are aware of current software dependencies.

Related Issue

Versions

  • Vald Version: v1.7.12
  • Go Version: v1.22.5
  • Rust Version: v1.80.0
  • Docker Version: v27.1.1
  • Kubernetes Version: v1.30.3
  • Helm Version: v3.15.3
  • NGT Version: v2.2.4
  • Faiss Version: v1.8.0

Checklist

Special notes for your reviewer

Summary by CodeRabbit

  • New Features

    • Introduced detailed HTTP/2 configuration options across multiple services, enhancing performance and customization for users.
    • Added a new Docker image build workflow for the buildkit-syft-scanner, improving build automation capabilities.
  • Version Updates

    • Updated Vald version from v1.7.12 to v1.7.13.
    • Updated Go version from v1.22.5 to v1.22.6.
  • Bug Fixes

    • Enhanced error handling and transport configuration in the HTTP client, improving network communication reliability.
  • Documentation

    • Revised issue and pull request templates to reflect the latest versions of Vald and Go, ensuring users are aware of current software dependencies.

Copy link

cloudflare-workers-and-pages bot commented Aug 7, 2024

Deploying vald with  Cloudflare Pages  Cloudflare Pages

Latest commit: d6a5d46
Status: ✅  Deploy successful!
Preview URL: https://d3ca88de.vald.pages.dev
Branch Preview URL: https://backport-release-v1-7-featur-jrqf.vald.pages.dev

View logs

Copy link
Contributor

coderabbitai bot commented Aug 7, 2024

Walkthrough

Walkthrough

The updates primarily focus on enhancing the configuration and support for HTTP/2 across various components in the system. Version numbers for dependencies, including Vald and Go, have been incremented to ensure compatibility with the latest features and fixes. New configuration options for HTTP/2 allow for more granular control of server behavior, promoting better performance and security. Additionally, several bug report and pull request templates were updated to reflect these version changes.

Changes

Files Change Summary
.github/ISSUE_TEMPLATE/bug_report.md, .github/ISSUE_TEMPLATE/security_issue_report.md, .github/PULL_REQUEST_TEMPLATE.md Updated Vald and Go version numbers from v1.7.12 to v1.7.13 and v1.22.5 to v1.22.6, respectively.
.github/workflows/.../helm.yml, .github/workflows/.../dockers-buildkit-syft-scanner-image.yaml Enhanced HTTP/2 support and configuration options added to Docker and Helm workflows.
Makefile, Makefile.d/docker.mk Introduced new build targets and rules for cleaning, including a new variable for the buildkit-syft-scanner image.
charts/vald-helm-operator/crds/valdrelease.yaml, charts/vald/values.yaml Added HTTP/2 configuration options across multiple sections, enhancing server capabilities.
internal/config/server.go, internal/net/http/client/client.go Added fields for HTTP/2 configuration and improved error handling in the HTTP client.
k8s/.../configmap.yaml, k8s/.../deployment.yaml Introduced new HTTP/2 settings in configuration maps and updated checksums in deployment files.
go.mod, example/client/go.mod, internal/... Various module version updates across Go and dependencies, including golang.org/x/... packages and internal packages.
versions/GO_VERSION, versions/actions/ACTIONS_UPLOAD_ARTIFACT Updated version numbers to 1.22.6 and 4.3.6, respectively, indicating minor updates.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHub
    participant Server
    participant Client

    User->>GitHub: Submit Issue/Pull Request
    GitHub->>Server: Validate Versions
    alt Versions Updated
        Server->>Client: Notify of Version Changes
    end
    GitHub->>User: Acknowledge Submission
Loading
sequenceDiagram
    participant Client
    participant Server
    participant HTTP2

    Client->>Server: Send HTTP Request
    Server->>HTTP2: Check HTTP/2 Support
    alt HTTP/2 Enabled
        HTTP2->>Server: Process Request via HTTP/2
    else HTTP/2 Disabled
        Server->>Client: Process Request via HTTP/1.1
    end
Loading

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@vdaas-ci
Copy link
Collaborator Author

vdaas-ci commented Aug 7, 2024

[CHATOPS:HELP] ChatOps commands.

  • 🙆‍♀️ /approve - approve
  • 🍱 /format - format codes and add licenses
  • /gen-test - generate test codes
  • 🏷️ /label - add labels
  • 🔚 2️⃣ 🔚 /label actions/e2e-deploy - run E2E deploy & integration test

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f072c79 and d6a5d46.

Files ignored due to path filters (2)
  • example/client/go.sum is excluded by !**/*.sum
  • go.sum is excluded by !**/*.sum
Files selected for processing (38)
  • .github/ISSUE_TEMPLATE/bug_report.md (1 hunks)
  • .github/ISSUE_TEMPLATE/security_issue_report.md (1 hunks)
  • .github/PULL_REQUEST_TEMPLATE.md (1 hunks)
  • .github/workflows/dockers-buildkit-syft-scanner-image.yaml (1 hunks)
  • .github/workflows/helm.yml (1 hunks)
  • Makefile (2 hunks)
  • Makefile.d/docker.mk (3 hunks)
  • charts/vald-helm-operator/crds/valdrelease.yaml (52 hunks)
  • charts/vald/values.yaml (4 hunks)
  • dockers/agent/core/agent/Dockerfile (1 hunks)
  • dockers/buildkit/syft/scanner/Dockerfile (1 hunks)
  • dockers/ci/base/Dockerfile (1 hunks)
  • example/client/go.mod (2 hunks)
  • example/client/go.mod.default (1 hunks)
  • go.mod (5 hunks)
  • hack/go.mod.default (1 hunks)
  • internal/config/server.go (4 hunks)
  • internal/net/http/client/client.go (1 hunks)
  • internal/net/http/client/client_test.go (2 hunks)
  • internal/servers/server/option.go (2 hunks)
  • internal/servers/server/server.go (3 hunks)
  • internal/servers/server/server_test.go (3 hunks)
  • internal/test/data/hdf5/hdf5.go (1 hunks)
  • k8s/agent/ngt/configmap.yaml (3 hunks)
  • k8s/discoverer/configmap.yaml (3 hunks)
  • k8s/discoverer/deployment.yaml (1 hunks)
  • k8s/gateway/gateway/lb/configmap.yaml (3 hunks)
  • k8s/gateway/gateway/lb/deployment.yaml (1 hunks)
  • k8s/index/job/correction/configmap.yaml (3 hunks)
  • k8s/index/job/creation/configmap.yaml (3 hunks)
  • k8s/index/job/save/configmap.yaml (3 hunks)
  • k8s/index/operator/configmap.yaml (1 hunks)
  • k8s/index/operator/deployment.yaml (1 hunks)
  • k8s/manager/index/configmap.yaml (3 hunks)
  • k8s/manager/index/deployment.yaml (1 hunks)
  • k8s/operator/helm/crds/valdrelease.yaml (52 hunks)
  • versions/GO_VERSION (1 hunks)
  • versions/actions/ACTIONS_UPLOAD_ARTIFACT (1 hunks)
Files skipped from review due to trivial changes (14)
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/security_issue_report.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • dockers/agent/core/agent/Dockerfile
  • dockers/buildkit/syft/scanner/Dockerfile
  • dockers/ci/base/Dockerfile
  • example/client/go.mod
  • example/client/go.mod.default
  • go.mod
  • hack/go.mod.default
  • k8s/discoverer/deployment.yaml
  • k8s/index/operator/deployment.yaml
  • versions/GO_VERSION
  • versions/actions/ACTIONS_UPLOAD_ARTIFACT
Additional comments not posted (150)
.github/workflows/dockers-buildkit-syft-scanner-image.yaml (3)

1-16: LGTM!

The header comments and metadata are standard and correctly formatted.


17-41: LGTM!

The on trigger configuration is comprehensive and well-defined, covering schedule, push, and pull request events.


42-48: LGTM!

The jobs configuration is clear and correctly references the shared workflow and target platforms.

internal/net/http/client/client.go (1)

52-54: LGTM! But verify the function usage in the codebase.

The changes improve error handling by logging a warning message instead of returning an error directly, which enhances robustness.

However, ensure that all function calls to New handle the potential warning appropriately.

.github/workflows/helm.yml (1)

38-38: LGTM!

The added container option enhances networking capabilities by allowing the container to resolve host.docker.internal to the host machine's IP address.

internal/net/http/client/client_test.go (1)

137-141: Enhancement: Generalize the function signature for htr.WithRoundTripper.

The change enhances flexibility by allowing any type that implements the http.RoundTripper interface to be used, rather than being restricted to a specific struct.

internal/test/data/hdf5/hdf5.go (1)

212-215: Enhancement: Enforce HTTP/2 attempts and enable keep-alive connections.

The changes enhance the client's configuration by enforcing HTTP/2 attempts and enabling keep-alive connections, which can improve performance and resource management during file downloads.

k8s/manager/index/deployment.yaml (1)

49-49: Update: Change the checksum/configmap annotation value.

The change updates the checksum value, indicating that the configuration map associated with the deployment has been altered. Ensure that the new checksum value is correct and reflects the changes in the configuration map.

k8s/gateway/gateway/lb/deployment.yaml (1)

48-48: Checksum update approved.

The updated checksum ensures that the deployment will reflect the new configuration map.

k8s/agent/ngt/configmap.yaml (3)

85-94: HTTP/2 settings for port 3000 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.


120-129: HTTP/2 settings for port 3001 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.


156-165: HTTP/2 settings for port 6060 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.

k8s/discoverer/configmap.yaml (3)

85-94: HTTP/2 settings for port 3000 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.


120-129: HTTP/2 settings for port 3001 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.


156-165: HTTP/2 settings for port 6060 approved.

The added HTTP/2 settings provide finer control over HTTP/2 behavior, enhancing performance and security.

internal/servers/server/server.go (3)

43-43: HTTP/2 package import approved.

The import of the http2 package is necessary for the HTTP/2 support introduced in the server implementation.


94-95: HTTP/2 fields added to server struct approved.

The fields h2srv and enableH2 are necessary to manage HTTP/2 server configuration and enablement.


190-204: HTTP/2 server configuration in New function approved.

The changes ensure that the HTTP/2 server is configured correctly when enableH2 is true.

Verify that the enableH2 flag is set correctly in the codebase.

Verification successful

HTTP/2 server configuration in New function approved.

The changes ensure that the HTTP/2 server is configured correctly when enableH2 is true. The enableH2 flag is set and used correctly in the codebase.

  • internal/servers/server/server.go: Flag declared and used.
  • internal/servers/server/option.go: Flag set in a function.
  • internal/servers/server/server_test.go: Flag used in test cases.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that the `enableH2` flag is set correctly in the codebase.

# Test: Search for the `enableH2` flag usage. Expect: Correct setting of the flag.
rg --type go -A 5 $'enableH2'

Length of output: 1787

Makefile.d/docker.mk (3)

28-28: New target docker/build/buildkit-syft-scanner approved.

The new target is necessary for building the buildkit-syft-scanner image.


223-225: New target docker/name/buildkit-syft-scanner approved.

The new target is necessary for echoing the image name associated with the buildkit-syft-scanner.


71-71: SBOM generation flag update approved.

The update to --attest type=sbom,generator=docker/buildkit-syft-scanner:edge enhances the SBOM generation process.

k8s/gateway/gateway/lb/configmap.yaml (3)

85-94: HTTP/2 configuration for port 3000 approved.

The new http2 configuration section enhances the configurability of the HTTP/2 protocol for port 3000.


120-129: HTTP/2 configuration for port 3001 approved.

The new http2 configuration section enhances the configurability of the HTTP/2 protocol for port 3001.


156-165: HTTP/2 configuration for port 6060 approved.

The new http2 configuration section enhances the configurability of the HTTP/2 protocol for port 6060.

k8s/index/job/save/configmap.yaml (3)

85-94: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


120-129: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


156-165: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.

k8s/index/job/creation/configmap.yaml (3)

85-94: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


120-129: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


156-165: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.

k8s/manager/index/configmap.yaml (3)

85-94: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


120-129: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.


156-165: Verify the security implications of allowing prohibited cipher suites.

The permit_prohibited_cipher_suites parameter is set to true, which may allow the use of insecure cipher suites. Ensure that this setting is intentional and does not compromise security.

internal/config/server.go (5)

32-36: LGTM! Addition of TLS and FullShutdownDuration fields.

The addition of the TLS and FullShutdownDuration fields enhances the configuration capabilities, providing better security and lifecycle management.


56-66: LGTM! Reordering fields in Server struct.

The reordering of fields in the Server struct improves readability and logical grouping.


71-71: LGTM! Addition of HTTP2 field in HTTP struct.

The addition of the HTTP2 field allows for detailed control over HTTP2 parameters, enhancing performance and customization.


80-91: LGTM! Addition of HTTP2 struct.

The HTTP2 struct provides comprehensive configuration options for HTTP2, which are crucial for optimizing performance and security.


95-99: LGTM! Addition of fields in GRPC struct.

The addition of these fields allows for better customization and control over gRPC settings, improving flexibility and performance.

internal/servers/server/option.go (9)

279-284: LGTM! Addition of WithHTTP2Enabled function.

The WithHTTP2Enabled function allows users to enable or disable HTTP/2 support, providing flexibility in server configuration.


286-296: LGTM! Addition of WithHandlerLimit function.

The WithHandlerLimit function allows users to set the handler limit for HTTP/2, which is crucial for managing server resources efficiently.


298-306: LGTM! Addition of WithPermitProhibitedCipherSuites function.

The WithPermitProhibitedCipherSuites function allows users to permit prohibited cipher suites for HTTP/2, providing flexibility in security configuration.


308-318: LGTM! Addition of WithMaxUploadBufferPerConnection function.

The WithMaxUploadBufferPerConnection function allows users to set the maximum upload buffer per connection for HTTP/2, which is crucial for optimizing performance.


320-330: LGTM! Addition of WithMaxUploadBufferPerStream function.

The WithMaxUploadBufferPerStream function allows users to set the maximum upload buffer per stream for HTTP/2, which is crucial for optimizing performance.


332-342: LGTM! Addition of WithMaxConcurrentStreams function.

The WithMaxConcurrentStreams function allows users to set the maximum concurrent streams for HTTP/2, which is crucial for optimizing performance.


344-354: LGTM! Addition of WithMaxDecoderHeaderTableSize function.

The WithMaxDecoderHeaderTableSize function allows users to set the maximum decoder header table size for HTTP/2, which is crucial for optimizing performance.


356-366: LGTM! Addition of WithMaxEncoderHeaderTableSize function.

The WithMaxEncoderHeaderTableSize function allows users to set the maximum encoder header table size for HTTP/2, which is crucial for optimizing performance.


368-378: LGTM! Addition of WithMaxReadFrameSize function.

The WithMaxReadFrameSize function allows users to set the maximum read frame size for HTTP/2, which is crucial for optimizing performance.

internal/servers/server/server_test.go (2)

506-510: LGTM! Addition of h2srv and enableH2 fields in Test_server_ListenAndServe.

The addition of these fields enhances the test capabilities by incorporating support for HTTP/2, allowing for more comprehensive testing.


667-671: LGTM! Addition of h2srv and enableH2 fields in Test_server_Shutdown.

The addition of these fields enhances the test capabilities by incorporating support for HTTP/2, allowing for more comprehensive testing.

k8s/index/job/correction/configmap.yaml (3)

85-94: LGTM! HTTP/2 settings for service on port 3000.

The added HTTP/2 settings for the service on port 3000 are correctly configured.


120-129: LGTM! HTTP/2 settings for service on port 3001.

The added HTTP/2 settings for the service on port 3001 are correctly configured.


156-165: LGTM! HTTP/2 settings for service on port 6060.

The added HTTP/2 settings for the service on port 6060 are correctly configured.

k8s/index/operator/configmap.yaml (3)

Line range hint 28-47: LGTM! HTTP/2 settings for health check server.

The added HTTP/2 settings for the health check server are correctly configured.


Line range hint 48-67: LGTM! HTTP/2 settings for metrics server.

The added HTTP/2 settings for the metrics server are correctly configured.


Line range hint 6-6: LGTM! Version label update.

The version label update from v1.7.12 to v1.7.13 is consistent with the changes introduced in the file.

Makefile (2)

35-35: LGTM! Added variable BUILDKIT_SYFT_SCANNER_IMAGE.

The added variable BUILDKIT_SYFT_SCANNER_IMAGE is consistent with the naming convention used for other image variables.


485-488: LGTM! New target remove/empty/file.

The new target remove/empty/file is correctly designed to remove empty files from the directory structure, excluding files named .gitkeep.

charts/vald/values.yaml (36)

97-101: Ensure HTTP/2 is enabled only if necessary.

The enabled flag for HTTP/2 should be set to true only if the service requires HTTP/2 support. Verify that enabling HTTP/2 is necessary for your use case.


102-104: Review handler limit configuration.

The handler_limit parameter controls the maximum number of concurrent handler goroutines. Ensure that this value is set appropriately based on your server's capacity and expected load.


105-107: Security consideration for prohibited cipher suites.

The permit_prohibited_cipher_suites parameter allows the use of cipher suites prohibited by the HTTP/2 spec. This should be set to true only if there is a specific need, as it may introduce security vulnerabilities.


108-110: Verify upload buffer configuration.

The max_upload_buffer_per_connection parameter controls the size of the initial flow control window for each connection. Ensure this value is configured based on your application's requirements.


111-113: Verify stream buffer configuration.

The max_upload_buffer_per_stream parameter controls the size of the initial flow control window for each stream. Ensure this value is configured based on your application's requirements.


114-116: Review concurrent streams limit.

The max_concurrent_streams parameter controls the number of concurrent streams that each client may have open at a time. Ensure this value is set appropriately based on your server's capacity and expected load.


117-119: Review decoder header table size.

The max_decoder_header_table_size parameter informs the remote endpoint of the maximum size of the header compression table used to decode header blocks. Ensure this value is set based on your performance requirements.


120-122: Review encoder header table size.

The max_encoder_header_table_size parameter sets an upper limit for the header compression table used for encoding request headers. Ensure this value is set based on your performance requirements.


123-125: Review read frame size configuration.

The max_read_frame_size parameter controls the largest frame the server is willing to read. Ensure this value is configured based on your application's requirements.


388-391: Ensure HTTP/2 is enabled only if necessary.

The enabled flag for HTTP/2 should be set to true only if the service requires HTTP/2 support. Verify that enabling HTTP/2 is necessary for your use case.


392-394: Review handler limit configuration.

The handler_limit parameter controls the maximum number of concurrent handler goroutines. Ensure that this value is set appropriately based on your server's capacity and expected load.


395-397: Security consideration for prohibited cipher suites.

The permit_prohibited_cipher_suites parameter allows the use of cipher suites prohibited by the HTTP/2 spec. This should be set to true only if there is a specific need, as it may introduce security vulnerabilities.


398-400: Verify upload buffer configuration.

The max_upload_buffer_per_connection parameter controls the size of the initial flow control window for each connection. Ensure this value is configured based on your application's requirements.


401-403: Verify stream buffer configuration.

The max_upload_buffer_per_stream parameter controls the size of the initial flow control window for each stream. Ensure this value is configured based on your application's requirements.


404-406: Review concurrent streams limit.

The max_concurrent_streams parameter controls the number of concurrent streams that each client may have open at a time. Ensure this value is set appropriately based on your server's capacity and expected load.


407-409: Review decoder header table size.

The max_decoder_header_table_size parameter informs the remote endpoint of the maximum size of the header compression table used to decode header blocks. Ensure this value is set based on your performance requirements.


Line range hint 410-412: Review encoder header table size.

The max_encoder_header_table_size parameter sets an upper limit for the header compression table used for encoding request headers. Ensure this value is set based on your performance requirements.


Line range hint 413-415: Review read frame size configuration.

The max_read_frame_size parameter controls the largest frame the server is willing to read. Ensure this value is configured based on your application's requirements.


507-510: Ensure HTTP/2 is enabled only if necessary.

The enabled flag for HTTP/2 should be set to true only if the service requires HTTP/2 support. Verify that enabling HTTP/2 is necessary for your use case.


511-513: Review handler limit configuration.

The handler_limit parameter controls the maximum number of concurrent handler goroutines. Ensure that this value is set appropriately based on your server's capacity and expected load.


514-516: Security consideration for prohibited cipher suites.

The permit_prohibited_cipher_suites parameter allows the use of cipher suites prohibited by the HTTP/2 spec. This should be set to true only if there is a specific need, as it may introduce security vulnerabilities.


517-519: Verify upload buffer configuration.

The max_upload_buffer_per_connection parameter controls the size of the initial flow control window for each connection. Ensure this value is configured based on your application's requirements.


520-522: Verify stream buffer configuration.

The max_upload_buffer_per_stream parameter controls the size of the initial flow control window for each stream. Ensure this value is configured based on your application's requirements.


523-525: Review concurrent streams limit.

The max_concurrent_streams parameter controls the number of concurrent streams that each client may have open at a time. Ensure this value is set appropriately based on your server's capacity and expected load.


526-528: Review decoder header table size.

The max_decoder_header_table_size parameter informs the remote endpoint of the maximum size of the header compression table used to decode header blocks. Ensure this value is set based on your performance requirements.


Line range hint 529-531: Review encoder header table size.

The max_encoder_header_table_size parameter sets an upper limit for the header compression table used for encoding request headers. Ensure this value is set based on your performance requirements.


Line range hint 532-534: Review read frame size configuration.

The max_read_frame_size parameter controls the largest frame the server is willing to read. Ensure this value is configured based on your application's requirements.


600-603: Ensure HTTP/2 is enabled only if necessary.

The enabled flag for HTTP/2 should be set to true only if the service requires HTTP/2 support. Verify that enabling HTTP/2 is necessary for your use case.


604-606: Review handler limit configuration.

The handler_limit parameter controls the maximum number of concurrent handler goroutines. Ensure that this value is set appropriately based on your server's capacity and expected load.


607-609: Security consideration for prohibited cipher suites.

The permit_prohibited_cipher_suites parameter allows the use of cipher suites prohibited by the HTTP/2 spec. This should be set to true only if there is a specific need, as it may introduce security vulnerabilities.


610-612: Verify upload buffer configuration.

The max_upload_buffer_per_connection parameter controls the size of the initial flow control window for each connection. Ensure this value is configured based on your application's requirements.


613-615: Verify stream buffer configuration.

The max_upload_buffer_per_stream parameter controls the size of the initial flow control window for each stream. Ensure this value is configured based on your application's requirements.


616-618: Review concurrent streams limit.

The max_concurrent_streams parameter controls the number of concurrent streams that each client may have open at a time. Ensure this value is set appropriately based on your server's capacity and expected load.


619-621: Review decoder header table size.

The max_decoder_header_table_size parameter informs the remote endpoint of the maximum size of the header compression table used to decode header blocks. Ensure this value is set based on your performance requirements.


Line range hint 622-624: Review encoder header table size.

The max_encoder_header_table_size parameter sets an upper limit for the header compression table used for encoding request headers. Ensure this value is set based on your performance requirements.


Line range hint 625-627: Review read frame size configuration.

The max_read_frame_size parameter controls the largest frame the server is willing to read. Ensure this value is configured based on your application's requirements.

charts/vald-helm-operator/crds/valdrelease.yaml (31)

585-605: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


702-722: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


831-851: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


1041-1061: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


1546-1566: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


1663-1683: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


1792-1812: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


2002-2022: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


2481-2501: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


2598-2618: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


2727-2747: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


2937-2957: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


3432-3452: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


3549-3569: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


3678-3698: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


3888-3908: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


4887-4907: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


5004-5024: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


5133-5153: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


5343-5363: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


6315-6335: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


6432-6452: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


6561-6581: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


6771-6791: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


7463-7483: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


7580-7600: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


7709-7729: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


7919-7939: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


8795-8815: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


8912-8932: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.


9041-9061: LGTM!

The added http2 properties are correctly defined and enhance the configuration schema.

k8s/operator/helm/crds/valdrelease.yaml (26)

585-605: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


702-722: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


831-851: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


1041-1061: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


1546-1566: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


1663-1683: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


1792-1812: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


2002-2022: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


2481-2501: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


2598-2618: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


2727-2747: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


2937-2957: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


3432-3452: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


3549-3569: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


3678-3698: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


3888-3908: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


4887-4907: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


5004-5024: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


5133-5153: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


5343-5363: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


6315-6335: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


6432-6452: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


6561-6581: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


6771-6791: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


7463-7483: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.


7580-7600: LGTM! Ensure consistency across other sections.

The http2 object and its properties are correctly defined. Verify that similar changes in other sections are consistent.

@vdaas-ci
Copy link
Collaborator Author

vdaas-ci commented Aug 7, 2024

[WARNING:INTCFG] Changes in interal/config may require you to change Helm charts. Please check.

Copy link

codecov bot commented Aug 7, 2024

Codecov Report

Attention: Patch coverage is 6.66667% with 84 lines in your changes missing coverage. Please review.

Please upload report for BASE (release/v1.7@f072c79). Learn more about missing BASE report.

Files Patch % Lines
internal/servers/server/option.go 0.00% 59 Missing ⚠️
internal/config/server.go 0.00% 11 Missing and 1 partial ⚠️
internal/servers/server/server.go 8.33% 11 Missing ⚠️
internal/net/http/client/client.go 33.33% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##             release/v1.7    #2575   +/-   ##
===============================================
  Coverage                ?   17.39%           
===============================================
  Files                   ?      566           
  Lines                   ?    69143           
  Branches                ?        0           
===============================================
  Hits                    ?    12030           
  Misses                  ?    56316           
  Partials                ?      797           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Outside diff range, codebase verification and nitpick comments (2)
internal/config/server.go (1)

274-286: Ensure tests cover new HTTP/2 configuration options.

The new HTTP/2 configuration options enhance the server's capabilities in handling HTTP/2 requests. However, it appears that there are no tests covering these new options. To ensure robustness and proper functionality, please add tests for the following options:

  • WithHTTP2Enabled
  • WithHandlerLimit
  • WithPermitProhibitedCipherSuites
  • WithMaxConcurrentStreams
  • WithMaxUploadBufferPerConnection
  • WithMaxUploadBufferPerStream
  • WithMaxDecoderHeaderTableSize
  • WithMaxEncoderHeaderTableSize
  • WithMaxReadFrameSize
Analysis chain

LGTM! Verify the usage of new options.

The new HTTP/2 configuration options enhance the server's capabilities in handling HTTP/2 requests.

However, ensure that these options are correctly utilized in the codebase.


Let's verify if these HTTP/2 options are being passed to the server configuration and if there are tests covering these configurations.


Let's correct the command and re-run the script to search for tests that cover the new HTTP/2 options.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new HTTP/2 configuration options.

# Test: Search for the usage of new HTTP/2 options. Expect: Proper utilization in the codebase.
rg --type go 'WithHTTP2Enabled|WithHandlerLimit|WithPermitProhibitedCipherSuites|WithMaxConcurrentStreams|WithMaxUploadBufferPerConnection|WithMaxUploadBufferPerStream|WithMaxDecoderHeaderTableSize|WithMaxEncoderHeaderTableSize|WithMaxReadFrameSize'

Length of output: 1935


Script:

#!/bin/bash
# Description: Verify the passing of new HTTP/2 options to the server configuration.

# Test: Search for the usage of the new HTTP/2 options in the server configuration.
rg --type go 'WithHTTP2Enabled|WithHandlerLimit|WithPermitProhibitedCipherSuites|WithMaxConcurrentStreams|WithMaxUploadBufferPerConnection|WithMaxUploadBufferPerStream|WithMaxDecoderHeaderTableSize|WithMaxEncoderHeaderTableSize|WithMaxReadFrameSize' | grep -v 'internal/config/server.go'

# Description: Verify the existence of tests for the new HTTP/2 options.

# Test: Search for tests covering the new HTTP/2 options.
rg --type go 'WithHTTP2Enabled|WithHandlerLimit|WithPermitProhibitedCipherSuites|WithMaxConcurrentStreams|WithMaxUploadBufferPerConnection|WithMaxUploadBufferPerStream|WithMaxDecoderHeaderTableSize|WithMaxEncoderHeaderTableSize|WithMaxReadFrameSize' --tests

Length of output: 1757


Script:

#!/bin/bash
# Description: Verify the passing of new HTTP/2 options to the server configuration.

# Test: Search for the usage of the new HTTP/2 options in the server configuration.
rg --type go 'WithHTTP2Enabled|WithHandlerLimit|WithPermitProhibitedCipherSuites|WithMaxConcurrentStreams|WithMaxUploadBufferPerConnection|WithMaxUploadBufferPerStream|WithMaxDecoderHeaderTableSize|WithMaxEncoderHeaderTableSize|WithMaxReadFrameSize' | grep -v 'internal/config/server.go'

# Description: Verify the existence of tests for the new HTTP/2 options.

# Test: Search for tests covering the new HTTP/2 options.
rg --type go 'WithHTTP2Enabled|WithHandlerLimit|WithPermitProhibitedCipherSuites|WithMaxConcurrentStreams|WithMaxUploadBufferPerConnection|WithMaxUploadBufferPerStream|WithMaxDecoderHeaderTableSize|WithMaxEncoderHeaderTableSize|WithMaxReadFrameSize' | grep -i 'test'

Length of output: 1332

k8s/index/operator/configmap.yaml (1)

Update Version Number to v1.7.13

The version number update from v1.7.12 to v1.7.13 is not consistent across the codebase. Please update the following occurrences:

  • k8s/index/operator/configmap.yaml
    • helm.sh/chart: vald-v1.7.12
    • app.kubernetes.io/version: v1.7.12
  • cmd/index/operator/sample.yaml
    • helm.sh/chart: vald-v1.7.12
    • app.kubernetes.io/version: v1.7.12
Analysis chain

Line range hint 7-7:
Verify Version Update Consistency

Ensure that the version number update from v1.7.12 to v1.7.13 is consistent across the codebase.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the version number update consistency across the codebase.

# Test: Search for the old version number. Expect: No occurrences of the old version number.
rg --type yaml 'v1.7.12'

Length of output: 26374

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between f072c79 and d6a5d46.

Files ignored due to path filters (2)
  • example/client/go.sum is excluded by !**/*.sum
  • go.sum is excluded by !**/*.sum
Files selected for processing (38)
  • .github/ISSUE_TEMPLATE/bug_report.md (1 hunks)
  • .github/ISSUE_TEMPLATE/security_issue_report.md (1 hunks)
  • .github/PULL_REQUEST_TEMPLATE.md (1 hunks)
  • .github/workflows/dockers-buildkit-syft-scanner-image.yaml (1 hunks)
  • .github/workflows/helm.yml (1 hunks)
  • Makefile (2 hunks)
  • Makefile.d/docker.mk (3 hunks)
  • charts/vald-helm-operator/crds/valdrelease.yaml (52 hunks)
  • charts/vald/values.yaml (4 hunks)
  • dockers/agent/core/agent/Dockerfile (1 hunks)
  • dockers/buildkit/syft/scanner/Dockerfile (1 hunks)
  • dockers/ci/base/Dockerfile (1 hunks)
  • example/client/go.mod (2 hunks)
  • example/client/go.mod.default (1 hunks)
  • go.mod (5 hunks)
  • hack/go.mod.default (1 hunks)
  • internal/config/server.go (4 hunks)
  • internal/net/http/client/client.go (1 hunks)
  • internal/net/http/client/client_test.go (2 hunks)
  • internal/servers/server/option.go (2 hunks)
  • internal/servers/server/server.go (3 hunks)
  • internal/servers/server/server_test.go (3 hunks)
  • internal/test/data/hdf5/hdf5.go (1 hunks)
  • k8s/agent/ngt/configmap.yaml (3 hunks)
  • k8s/discoverer/configmap.yaml (3 hunks)
  • k8s/discoverer/deployment.yaml (1 hunks)
  • k8s/gateway/gateway/lb/configmap.yaml (3 hunks)
  • k8s/gateway/gateway/lb/deployment.yaml (1 hunks)
  • k8s/index/job/correction/configmap.yaml (3 hunks)
  • k8s/index/job/creation/configmap.yaml (3 hunks)
  • k8s/index/job/save/configmap.yaml (3 hunks)
  • k8s/index/operator/configmap.yaml (1 hunks)
  • k8s/index/operator/deployment.yaml (1 hunks)
  • k8s/manager/index/configmap.yaml (3 hunks)
  • k8s/manager/index/deployment.yaml (1 hunks)
  • k8s/operator/helm/crds/valdrelease.yaml (52 hunks)
  • versions/GO_VERSION (1 hunks)
  • versions/actions/ACTIONS_UPLOAD_ARTIFACT (1 hunks)
Files skipped from review due to trivial changes (11)
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/security_issue_report.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • dockers/agent/core/agent/Dockerfile
  • dockers/buildkit/syft/scanner/Dockerfile
  • example/client/go.mod
  • example/client/go.mod.default
  • go.mod
  • hack/go.mod.default
  • versions/GO_VERSION
  • versions/actions/ACTIONS_UPLOAD_ARTIFACT
Additional comments not posted (124)
.github/workflows/dockers-buildkit-syft-scanner-image.yaml (3)

1-24: LGTM!

The header and metadata section is correctly defined and follows best practices.


25-41: LGTM!

The event triggers are comprehensive and correctly defined.


42-48: LGTM!

The jobs section is correctly defined and follows best practices.

internal/net/http/client/client.go (2)

Line range hint 1-20:
LGTM!

The imports and type definitions are correctly defined and follow best practices.


Line range hint 21-54:
LGTM!

The changes to the error handling logic in the New function are more informative and do not disrupt the flow of the function. The overall functionality remains intact.

.github/workflows/helm.yml (3)

Line range hint 1-15:
LGTM!

The header and metadata section is correctly defined and follows best practices.


Line range hint 16-22:
LGTM!

The event triggers are correctly defined and follow best practices.


Line range hint 23-38:
LGTM!

The modification to the container configuration enhances the container's networking capabilities and follows best practices.

dockers/ci/base/Dockerfile (1)

52-52: Ensure CARGO_HOME is correctly set.

The addition of ENV CARGO_HOME=${RUST_HOME}/cargo is correct and necessary for Rust's package manager, Cargo, to function properly within the Docker container.

k8s/index/operator/deployment.yaml (1)

49-49: Ensure the updated checksum is correct.

The checksum/configmap has been updated to eae6b3eac702f445f9b5a0d1495af9917479303b103f986c10b5b3db9d749086. Ensure that this reflects the latest configuration changes accurately.

k8s/discoverer/deployment.yaml (1)

49-49: Ensure the updated checksum is correct.

The checksum/configmap has been updated to 907c35fdcb537ed8572fe186653ff813cb0f8af4428efaa9cd40ad84b1311101. Ensure that this reflects the latest configuration changes accurately.

internal/net/http/client/client_test.go (2)

137-141: LGTM! The return type change aligns with the expected interface.

The modification from *http.Transport to http.RoundTripper ensures that the function adheres to the interface requirements without affecting the functionality of the http.Client being tested.


162-166: LGTM! The return type change aligns with the expected interface.

The modification from *http.Transport to http.RoundTripper ensures that the function adheres to the interface requirements without affecting the functionality of the http.Client being tested.

internal/test/data/hdf5/hdf5.go (1)

212-215: LGTM! The added options enhance the client configuration.

The inclusion of client.WithForceAttemptHTTP2(true) and client.WithEnableKeepalives(true) improves performance and resource management during file downloads.

k8s/manager/index/deployment.yaml (1)

49-49: LGTM! The updated checksum reflects changes in the configuration data.

The change in the checksum/configmap annotation value indicates updates in the underlying configuration data.

k8s/gateway/gateway/lb/deployment.yaml (1)

48-48: Checksum update looks good.

The updated checksum value reflects a change in the associated configmap.

k8s/agent/ngt/configmap.yaml (3)

85-94: HTTP/2 configuration for port 3000 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.


120-129: HTTP/2 configuration for port 3001 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.


156-165: HTTP/2 configuration for port 6060 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.

k8s/discoverer/configmap.yaml (3)

85-94: HTTP/2 configuration for port 3000 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.


120-129: HTTP/2 configuration for port 3001 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.


156-165: HTTP/2 configuration for port 6060 looks good.

The HTTP/2 settings are correctly specified and consistent with the rest of the configuration.

internal/servers/server/server.go (3)

43-43: Import statement for HTTP/2 support.

The import statement for http2 is correct and necessary for adding HTTP/2 support.


94-95: Added fields for HTTP/2 configuration.

The addition of h2srv and enableH2 fields in the http struct is necessary for configuring and enabling HTTP/2 support.


190-204: HTTP/2 configuration in the starter function.

The modifications to the starter function correctly configure HTTP/2 settings if enableH2 is true. The error handling is appropriately added.

However, ensure that the IdleTimeout and other HTTP/2 settings are correctly configured based on the requirements.

Verification successful

HTTP/2 configuration in the starter function.

The modifications to the starter function correctly configure HTTP/2 settings if enableH2 is true. The IdleTimeout and http2.ConfigureServer are properly configured and tested in the codebase.

  • internal/servers/server/server.go: Correct configuration logic for IdleTimeout and http2.ConfigureServer.
  • internal/servers/server/server_test.go and internal/servers/server/option_test.go: Presence of tests for these configurations.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the correctness of HTTP/2 configuration logic.

# Test: Search for the usage of `IdleTimeout` and `http2.ConfigureServer`. Expect: Correct configuration logic.
rg --type go -A 5 'IdleTimeout|http2.ConfigureServer'

Length of output: 27880

Makefile.d/docker.mk (3)

28-28: Added target for building buildkit-syft-scanner image.

The addition of the docker/build/buildkit-syft-scanner target is necessary for building the buildkit-syft-scanner image.


223-225: Added target for outputting buildkit-syft-scanner image name.

The addition of the docker/name/buildkit-syft-scanner target is necessary for outputting the image name.


71-71: Updated build arguments for SBOM generation.

The replacement of --sbom=true with --attest type=sbom,generator=docker/buildkit-syft-scanner:edge provides more detailed and specific metadata about the build process.

k8s/gateway/gateway/lb/configmap.yaml (3)

85-94: Added HTTP/2 configuration for port 3000.

The addition of the http2 configuration block for port 3000 is comprehensive and allows for detailed control over HTTP/2 handling.


120-129: Added HTTP/2 configuration for port 3001.

The addition of the http2 configuration block for port 3001 is comprehensive and allows for detailed control over HTTP/2 handling.


156-165: Added HTTP/2 configuration for port 6060.

The addition of the http2 configuration block for port 6060 is comprehensive and allows for detailed control over HTTP/2 handling.

k8s/index/job/save/configmap.yaml (3)

85-94: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


120-129: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


156-165: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.

k8s/index/job/creation/configmap.yaml (3)

85-94: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


120-129: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


156-165: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.

k8s/manager/index/configmap.yaml (3)

85-94: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


120-129: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.


156-165: HTTP/2 configuration looks good, but ensure values are appropriate for your use case.

The HTTP/2 configuration parameters are initialized with specific values. Verify that these values align with your performance and security requirements.

internal/config/server.go (5)

71-71: LGTM! Verify the usage of the new field.

The new field HTTP2 allows for HTTP/2 configuration, enhancing performance and flexibility.

However, ensure that this field is correctly utilized in the codebase.

Verification successful

The new field HTTP2 is properly utilized in the codebase.

The search results show multiple references to HTTP2, indicating its integration into various parts of the codebase, such as configuration settings and function parameters.

  • internal/config/server.go: Multiple lines referencing HTTP2 for different configurations.
  • internal/net/http/client/option.go: Functions and options involving HTTP2.
  • pkg/agent/sidecar/usecase/sidecar/sidecar.go: Usage of HTTP2 in client configurations.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of the new field `HTTP2`.

# Test: Search for the usage of `HTTP2`. Expect: Proper utilization in the codebase.
rg --type go 'HTTP2'

Length of output: 2963


32-36: LGTM! Verify the usage of new fields.

The new fields TLS and FullShutdownDuration enhance security and shutdown management.

However, ensure that these fields are correctly utilized in the codebase.


95-99: LGTM! Verify the usage of new fields.

The new fields in GRPC provide more granular control over gRPC server behavior, improving resource management and service discovery.

However, ensure that these fields are correctly utilized in the codebase.

Verification successful

The new fields in the GRPC struct are properly utilized in the codebase.

The search results show that the fields Keepalive, ConnectionTimeout, Interceptors, EnableReflection, and EnableAdmin are referenced and used in various parts of the project, including configuration files, server options, and tests. This confirms that the new fields are integrated and utilized correctly.

  • internal/config/server.go
  • internal/servers/server/option.go
  • internal/servers/server/server.go
  • internal/config/server_test.go
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new fields in `GRPC`.

# Test: Search for the usage of fields in `GRPC`. Expect: Proper utilization in the codebase.
rg --type go 'Keepalive|ConnectionTimeout|Interceptors|EnableReflection|EnableAdmin'

Length of output: 30212


81-91: LGTM! Verify the usage of new fields.

The new fields in HTTP2 provide granular control over HTTP/2 behavior, enhancing performance and security.

However, ensure that these fields are correctly utilized in the codebase.

Verification successful

All new fields in HTTP2 are correctly utilized in the codebase.

The fields such as HandlerLimit, Enabled, PermitProhibitedCipherSuites, MaxUploadBufferPerConnection, MaxUploadBufferPerStream, MaxConcurrentStreams, MaxDecoderHeaderTableSize, MaxEncoderHeaderTableSize, and MaxReadFrameSize are all properly integrated and used in the codebase.

  • internal/servers/server/option.go
  • internal/config/server.go
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new fields in `HTTP2`.

# Test: Search for the usage of fields in `HTTP2`. Expect: Proper utilization in the codebase.
rg --type go 'HandlerLimit|Enabled|PermitProhibitedCipherSuites|MaxUploadBufferPerConnection|MaxUploadBufferPerStream|MaxConcurrentStreams|MaxDecoderHeaderTableSize|MaxEncoderHeaderTableSize|MaxReadFrameSize'

Length of output: 52813


56-66: LGTM! Verify the usage of the new field.

The new field Port allows for specifying the port number for the server and improves readability.

However, ensure that this field is correctly utilized in the codebase.

Verification successful

The new field Port is correctly utilized in the codebase.

The field Port in the Server struct is properly integrated and utilized in the codebase, as indicated by its usage in internal/config/server.go and the corresponding test files.

  • internal/config/server.go: server.WithPort(s.Port)

The presence of related test cases further supports the proper integration of this new field.

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of the new field `Port`.

# Test: Search for the usage of `Port`. Expect: Proper utilization in the codebase.
rg --type go 'Port'

Length of output: 68914


Script:

#!/bin/bash
# Description: Verify the usage of the new field `Port` in the `Server` struct.

# Test: Search for the usage of `s.Port` or `server.Port`. Expect: Proper utilization in the codebase.
rg --type go 's\.Port|server\.Port'

Length of output: 1290

internal/servers/server/option.go (9)

279-284: LGTM!

The function correctly enables or disables HTTP/2 support by setting the enableH2 flag.


286-296: LGTM!

The function correctly sets a limit on the maximum number of handlers for HTTP/2 connections.


298-306: LGTM!

The function correctly configures whether to permit the use of prohibited cipher suites in the HTTP/2 server settings.


308-318: LGTM!

The function correctly sets the maximum upload buffer size per connection.


320-330: LGTM!

The function correctly sets the maximum upload buffer size per stream.


332-342: LGTM!

The function correctly sets the maximum number of concurrent streams allowed in the HTTP/2 server.


344-354: LGTM!

The function correctly sets the maximum size of the decoder header table for the HTTP/2 server.


356-366: LGTM!

The function correctly sets the maximum size of the encoder header table for the HTTP/2 server.


368-378: LGTM!

The function correctly sets the maximum size for read frames in the HTTP/2 server.

internal/servers/server/server_test.go (2)

506-510: LGTM!

The new fields h2srv and enableH2 enhance the support for HTTP/2 functionality.


667-671: LGTM!

The new fields h2srv and enableH2 enhance the support for HTTP/2 functionality.

k8s/index/job/correction/configmap.yaml (3)

85-94: HTTP/2 Configuration for Port 3000

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the liveness server.


120-129: HTTP/2 Configuration for Port 3001

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the readiness server.


156-165: HTTP/2 Configuration for Port 6060

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the pprof server.

k8s/index/operator/configmap.yaml (3)

Line range hint 28-38:
HTTP/2 Configuration for Health Check Server (Liveness)

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the liveness server.


Line range hint 63-73:
HTTP/2 Configuration for Health Check Server (Readiness)

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the readiness server.


Line range hint 98-108:
HTTP/2 Configuration for Metrics Server (pprof)

The HTTP/2 configuration parameters are correctly defined but HTTP/2 is disabled by default. Ensure that these settings are appropriate for the expected load and security requirements.

Verify if the enabled parameter should be set to true to enable HTTP/2 for the pprof server.

Makefile (2)

35-35: New Variable Definition: BUILDKIT_SYFT_SCANNER_IMAGE

The new variable BUILDKIT_SYFT_SCANNER_IMAGE is correctly defined. Ensure that this variable is used appropriately in the build process.


482-488: New Rule to Remove Empty Files

The new rule remove/empty/file is correctly defined and uses a find command to locate and remove empty files. This enhances the cleanliness of the project.

charts/vald/values.yaml (4)

600-619: LGTM! Verify the usage of new HTTP/2 settings.

The new HTTP/2 configuration options are consistent with the previous sections and provide similar control over HTTP/2 settings.

However, ensure that these settings are correctly utilized in the pprof server configuration.

Verification successful

HTTP/2 settings verified!

The new HTTP/2 configuration options are correctly utilized across the pprof server configuration and other related configurations.

  • Verified occurrences in configmap.yaml and values.yaml.
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new HTTP/2 settings in the pprof server configuration.

# Test: Search for the usage of HTTP/2 settings. Expect: Occurrences of HTTP/2 settings in pprof server configuration files.
rg --type yaml -A 5 'http2:'

Length of output: 102101


388-407: LGTM! Verify the usage of new HTTP/2 settings.

The new HTTP/2 configuration options are consistent with the previous section and provide similar control over HTTP/2 settings.

However, ensure that these settings are correctly utilized in the liveness server configuration.

Verification successful

HTTP/2 settings for liveness server configuration are correctly utilized.

The HTTP/2 settings specified in charts/vald/values.yaml are consistently applied across various configuration files, ensuring proper usage within the liveness server configuration.

  • charts/vald/values.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/index/job/creation/configmap.yaml
  • k8s/manager/index/configmap.yaml
  • k8s/index/operator/configmap.yaml
  • k8s/index/job/correction/configmap.yaml
  • k8s/gateway/gateway/lb/configmap.yaml
  • k8s/agent/ngt/configmap.yaml
  • k8s/discoverer/configmap.yaml
  • charts/vald-helm-operator/crds/valdrelease.yaml
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new HTTP/2 settings in the liveness server configuration.

# Test: Search for the usage of HTTP/2 settings. Expect: Occurrences of HTTP/2 settings in liveness server configuration files.
rg --type yaml -A 5 'http2:'

Length of output: 102101


507-526: LGTM! Verify the usage of new HTTP/2 settings.

The new HTTP/2 configuration options are consistent with the previous sections and provide similar control over HTTP/2 settings.

However, ensure that these settings are correctly utilized in the readiness server configuration.

Verification successful

HTTP/2 settings verification completed

The new HTTP/2 configuration options are correctly utilized in the readiness server configuration as evidenced by their presence in the relevant YAML files.

  • k8s/index/job/correction/configmap.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/manager/index/configmap.yaml
  • k8s/agent/ngt/configmap.yaml
  • charts/vald/values.yaml
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new HTTP/2 settings in the readiness server configuration.

# Test: Search for the usage of HTTP/2 settings. Expect: Occurrences of HTTP/2 settings in readiness server configuration files.
rg --type yaml -A 5 'http2:'

Length of output: 102101


97-125: LGTM! Verify the usage of new HTTP/2 settings.

The new HTTP/2 configuration options are well-documented and provide granular control over HTTP/2 settings.

However, ensure that these settings are correctly utilized in the server configuration.

Verification successful

HTTP/2 settings are correctly utilized in the server configuration.

The search results indicate that the new HTTP/2 settings are present in several configuration files, including configmap.yaml, crds/valdrelease.yaml, and values.yaml. This confirms that the settings are integrated and utilized across the codebase.

  • k8s/manager/index/configmap.yaml
  • k8s/index/operator/configmap.yaml
  • k8s/index/job/correction/configmap.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/operator/helm/crds/valdrelease.yaml
  • k8s/index/job/creation/configmap.yaml
  • k8s/agent/ngt/configmap.yaml
  • k8s/gateway/gateway/lb/configmap.yaml
  • k8s/discoverer/configmap.yaml
  • charts/vald/values.yaml
  • charts/vald-helm-operator/crds/valdrelease.yaml
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the usage of new HTTP/2 settings in the server configuration.

# Test: Search for the usage of HTTP/2 settings. Expect: Occurrences of HTTP/2 settings in server configuration files.
rg --type yaml -A 5 'http2:'

Length of output: 102101

charts/vald-helm-operator/crds/valdrelease.yaml (29)

585-605: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


702-722: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


831-851: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


1041-1061: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


1546-1566: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


1663-1683: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


1792-1812: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


2002-2022: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


2481-2501: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


2598-2618: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


2727-2747: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


2937-2957: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


3432-3452: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


3549-3569: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


3678-3698: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


3888-3908: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


4887-4907: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


5004-5024: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


5133-5153: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


5343-5363: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


6315-6335: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


6432-6452: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


6561-6581: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


6771-6791: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


7463-7483: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


7580-7600: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


7709-7729: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


7919-7939: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.


8795-8815: LGTM! The http2 object and its properties are correctly defined.

The added properties are consistent and align with typical HTTP/2 configuration settings.

k8s/operator/helm/crds/valdrelease.yaml (27)

585-605: LGTM! HTTP/2 configuration options are well-defined.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration.


702-722: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with hunk 1.


831-851: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


1041-1061: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


1546-1566: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


1663-1683: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


1792-1812: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


2002-2022: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


2481-2501: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


2598-2618: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


2727-2747: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


2937-2957: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


3432-3452: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


3549-3569: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


3678-3698: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


3888-3908: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


4887-4907: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


5004-5024: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


5133-5153: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


5343-5363: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


6315-6335: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


6432-6452: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


6561-6581: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


6771-6791: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


7463-7483: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


7580-7600: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.


7709-7729: LGTM! HTTP/2 configuration options are well-defined and consistent.

The added properties for the http2 object are appropriately typed and cover various aspects of HTTP/2 configuration, consistent with previous hunks.

@kpango kpango merged commit caafe5a into release/v1.7 Aug 7, 2024
186 checks passed
@kpango kpango deleted the backport/release/v1.7/feature/internal/enable-http2-features branch August 7, 2024 02:52
kpango added a commit that referenced this pull request Aug 8, 2024
fix: git add chart directory for release (#2356) (#2357)
[patch] release v1.7.11 (#2358)
:bookmark: :robot: Release v1.7.11 (#2360)
Change docker scan timeout longer (#2363) (#2364)
refactor code using golangci-lint (#2362) (#2365)
Create SECURITY.md (#2367) (#2368)
add commit hash build image (#2359) (#2371)
update docker build target platform selection rules (#2370) (#2374)
Make agent export index metrics to Pod k8s resource (#2319) (#2372)
backport ci deps others (#2386)
Update workflow to release readreplica chart (#2383) (#2387)
:green_heart: :recycle: Add Con-Bench helm chart to the Vald charts (#2388) (#2389)
Delete unnecessary code for mirror (#2366) (#2391)
change JP logo to EN logo (#2369) (#2392)
Add rotate-all option to rotator (#2305) (#2393)
fix: build error of internal kvs test (#2396) (#2398)
Resolve kvs already closed before last saving (#2390) (#2394)
:robot: Update license headers / Format Go codes and YAML files (#2397) (#2400)
create continous benchmark doc (#2352) (#2395)
fix: disable protobuf dispatch for client (#2401) (#2403)
update deps (#2404) (#2405)
[patch] release v1.7.12 (#2406)
:bookmark: :robot: Release v1.7.12 (#2408)
:pencil: Fix typo of file name (#2413) (#2415)
Fix agent-faiss build failed (#2418) (#2419)
Add tests for index information export (#2412) (#2414)
Fix the logic to determine docker image (#2410) (#2420)
Update build rule for nightly image (#2421) (#2422)
Fix output settings to determine-docker-image-tag action and release branch build tag name (#2423) (#2425)
Add `index-operator` template implementation (#2375) (#2424)
fix: typo of execution rule (#2426) (#2427)
Backport Flush API (#2434)
update deps & add validation for Flush API when agent is Read Only (#2433) (#2436)
docs: add hrichiksite as a contributor for doc (#2441) (#2442)
fix: bugfix version update for docker build (#2445) (#2446)
Fix index job logic to pass DNS A record (#2438) (#2448)
Added snapshot timestamp annotations to read replica agent (#2428) (#2443)
Fix operator-sdk version (#2447) (#2449)
add file name lint (#2417) (#2450)
fix: add extra option for ci-container build (#2451) (#2452)
Add base of benchmark operator dashboard (#2430) (#2453)
Implement index operator logic for read replica rotation (#2444) (#2456)
add inner product distance type for ngt (#2454) (#2458)
Fix e2e for read replica and add e2e for index operator (#2455) (#2459)
Add unit tests for index operator (#2460) (#2461)
Bugfix recreate benchmark job when operator reboot (#2463) (#2464)
Refactor k8s types (#2462) (#2465)
:robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE (#2457) (#2469)
Fix workflow trigger for backport pr creation (#2471) (#2472)
Automatically add backport main label for release-pr (#2473) (#2475)
update deps (#2468) (#2476)
Implement client metrics interceptor for continuous benchmark job (#2477) (#2480)
:chart_with_upwards_trend: Add client metrics panels for continuous benchmark job (#2481) (#2483)
Update continuous benchmark docs (#2485) (#2486)
Sync release/v1.7 to main (#2495)
add read replica and rotator docs (#2497) (#2499)
add reviewer guideline (#2507) (#2508)
update large top-K ratio handling logic (#2509) (#2511)
Change default image tag from latest to nightly (#2516) (#2518)
Bugfix that caused an error when argument has 3 or more nil arguments (#2517) (#2520)
add faiss in values.yaml & valdrelease.yaml (#2514) (#2519)
capitalize faq (#2512) (#2522)
Backport docs updates to release/v1.7 (#2521)
[CI] Add workflow to synchronize ubuntu base image (#2526) (#2527)
fix: update schedule (#2528) (#2530)
refactor index manager service add index service API to expose index informations (#2525) (#2532)
fix conflict bug (#2537)
fix: make format (#2534) (#2540)
Backport PR #2542, #2538 to release/v1.7 (#2543)
fix: add checkout option (#2545) (#2546)
Implement ngt Statistics API (#2539) (#2547)
Add workflow to check git conflict for backport PR (#2548) (#2550)
[create-pull-request] automated change (#2552) (#2556)
Update dependencies, C++ standard, and improve Dockerfiles for better build systems and localization (#2549) (#2557)
Backport #2559 (#2560)
[BUGFIX] index correction process (#2565) (#2566)
change external docker image reference to ghcr.io registry (#2567) (#2568)
[patch] Release v1.7.13 (#2569)
:bookmark: :robot: Release v1.7.13 (#2570)
add HTTP2 support for http.Client and Vald HTTP Server (#2572) (#2575)

Signed-off-by: kpango <[email protected]>
kpango added a commit that referenced this pull request Aug 8, 2024
fix: git add chart directory for release (#2356) (#2357)
[patch] release v1.7.11 (#2358)
:bookmark: :robot: Release v1.7.11 (#2360)
Change docker scan timeout longer (#2363) (#2364)
refactor code using golangci-lint (#2362) (#2365)
Create SECURITY.md (#2367) (#2368)
add commit hash build image (#2359) (#2371)
update docker build target platform selection rules (#2370) (#2374)
Make agent export index metrics to Pod k8s resource (#2319) (#2372)
backport ci deps others (#2386)
Update workflow to release readreplica chart (#2383) (#2387)
:green_heart: :recycle: Add Con-Bench helm chart to the Vald charts (#2388) (#2389)
Delete unnecessary code for mirror (#2366) (#2391)
change JP logo to EN logo (#2369) (#2392)
Add rotate-all option to rotator (#2305) (#2393)
fix: build error of internal kvs test (#2396) (#2398)
Resolve kvs already closed before last saving (#2390) (#2394)
:robot: Update license headers / Format Go codes and YAML files (#2397) (#2400)
create continous benchmark doc (#2352) (#2395)
fix: disable protobuf dispatch for client (#2401) (#2403)
update deps (#2404) (#2405)
[patch] release v1.7.12 (#2406)
:bookmark: :robot: Release v1.7.12 (#2408)
:pencil: Fix typo of file name (#2413) (#2415)
Fix agent-faiss build failed (#2418) (#2419)
Add tests for index information export (#2412) (#2414)
Fix the logic to determine docker image (#2410) (#2420)
Update build rule for nightly image (#2421) (#2422)
Fix output settings to determine-docker-image-tag action and release branch build tag name (#2423) (#2425)
Add `index-operator` template implementation (#2375) (#2424)
fix: typo of execution rule (#2426) (#2427)
Backport Flush API (#2434)
update deps & add validation for Flush API when agent is Read Only (#2433) (#2436)
docs: add hrichiksite as a contributor for doc (#2441) (#2442)
fix: bugfix version update for docker build (#2445) (#2446)
Fix index job logic to pass DNS A record (#2438) (#2448)
Added snapshot timestamp annotations to read replica agent (#2428) (#2443)
Fix operator-sdk version (#2447) (#2449)
add file name lint (#2417) (#2450)
fix: add extra option for ci-container build (#2451) (#2452)
Add base of benchmark operator dashboard (#2430) (#2453)
Implement index operator logic for read replica rotation (#2444) (#2456)
add inner product distance type for ngt (#2454) (#2458)
Fix e2e for read replica and add e2e for index operator (#2455) (#2459)
Add unit tests for index operator (#2460) (#2461)
Bugfix recreate benchmark job when operator reboot (#2463) (#2464)
Refactor k8s types (#2462) (#2465)
:robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE (#2457) (#2469)
Fix workflow trigger for backport pr creation (#2471) (#2472)
Automatically add backport main label for release-pr (#2473) (#2475)
update deps (#2468) (#2476)
Implement client metrics interceptor for continuous benchmark job (#2477) (#2480)
:chart_with_upwards_trend: Add client metrics panels for continuous benchmark job (#2481) (#2483)
Update continuous benchmark docs (#2485) (#2486)
Sync release/v1.7 to main (#2495)
add read replica and rotator docs (#2497) (#2499)
add reviewer guideline (#2507) (#2508)
update large top-K ratio handling logic (#2509) (#2511)
Change default image tag from latest to nightly (#2516) (#2518)
Bugfix that caused an error when argument has 3 or more nil arguments (#2517) (#2520)
add faiss in values.yaml & valdrelease.yaml (#2514) (#2519)
capitalize faq (#2512) (#2522)
Backport docs updates to release/v1.7 (#2521)
[CI] Add workflow to synchronize ubuntu base image (#2526) (#2527)
fix: update schedule (#2528) (#2530)
refactor index manager service add index service API to expose index informations (#2525) (#2532)
fix conflict bug (#2537)
fix: make format (#2534) (#2540)
Backport PR #2542, #2538 to release/v1.7 (#2543)
fix: add checkout option (#2545) (#2546)
Implement ngt Statistics API (#2539) (#2547)
Add workflow to check git conflict for backport PR (#2548) (#2550)
[create-pull-request] automated change (#2552) (#2556)
Update dependencies, C++ standard, and improve Dockerfiles for better build systems and localization (#2549) (#2557)
Backport #2559 (#2560)
[BUGFIX] index correction process (#2565) (#2566)
change external docker image reference to ghcr.io registry (#2567) (#2568)
[patch] Release v1.7.13 (#2569)
:bookmark: :robot: Release v1.7.13 (#2570)
add HTTP2 support for http.Client and Vald HTTP Server (#2572) (#2575)

Signed-off-by: kpango <[email protected]>
kpango added a commit that referenced this pull request Aug 8, 2024
fix: git add chart directory for release (#2356) (#2357)
[patch] release v1.7.11 (#2358)
:bookmark: :robot: Release v1.7.11 (#2360)
Change docker scan timeout longer (#2363) (#2364)
refactor code using golangci-lint (#2362) (#2365)
Create SECURITY.md (#2367) (#2368)
add commit hash build image (#2359) (#2371)
update docker build target platform selection rules (#2370) (#2374)
Make agent export index metrics to Pod k8s resource (#2319) (#2372)
backport ci deps others (#2386)
Update workflow to release readreplica chart (#2383) (#2387)
:green_heart: :recycle: Add Con-Bench helm chart to the Vald charts (#2388) (#2389)
Delete unnecessary code for mirror (#2366) (#2391)
change JP logo to EN logo (#2369) (#2392)
Add rotate-all option to rotator (#2305) (#2393)
fix: build error of internal kvs test (#2396) (#2398)
Resolve kvs already closed before last saving (#2390) (#2394)
:robot: Update license headers / Format Go codes and YAML files (#2397) (#2400)
create continous benchmark doc (#2352) (#2395)
fix: disable protobuf dispatch for client (#2401) (#2403)
update deps (#2404) (#2405)
[patch] release v1.7.12 (#2406)
:bookmark: :robot: Release v1.7.12 (#2408)
:pencil: Fix typo of file name (#2413) (#2415)
Fix agent-faiss build failed (#2418) (#2419)
Add tests for index information export (#2412) (#2414)
Fix the logic to determine docker image (#2410) (#2420)
Update build rule for nightly image (#2421) (#2422)
Fix output settings to determine-docker-image-tag action and release branch build tag name (#2423) (#2425)
Add `index-operator` template implementation (#2375) (#2424)
fix: typo of execution rule (#2426) (#2427)
Backport Flush API (#2434)
update deps & add validation for Flush API when agent is Read Only (#2433) (#2436)
docs: add hrichiksite as a contributor for doc (#2441) (#2442)
fix: bugfix version update for docker build (#2445) (#2446)
Fix index job logic to pass DNS A record (#2438) (#2448)
Added snapshot timestamp annotations to read replica agent (#2428) (#2443)
Fix operator-sdk version (#2447) (#2449)
add file name lint (#2417) (#2450)
fix: add extra option for ci-container build (#2451) (#2452)
Add base of benchmark operator dashboard (#2430) (#2453)
Implement index operator logic for read replica rotation (#2444) (#2456)
add inner product distance type for ngt (#2454) (#2458)
Fix e2e for read replica and add e2e for index operator (#2455) (#2459)
Add unit tests for index operator (#2460) (#2461)
Bugfix recreate benchmark job when operator reboot (#2463) (#2464)
Refactor k8s types (#2462) (#2465)
:robot: Automatically update PULL_REQUEST_TEMPLATE and ISSUE_TEMPLATE (#2457) (#2469)
Fix workflow trigger for backport pr creation (#2471) (#2472)
Automatically add backport main label for release-pr (#2473) (#2475)
update deps (#2468) (#2476)
Implement client metrics interceptor for continuous benchmark job (#2477) (#2480)
:chart_with_upwards_trend: Add client metrics panels for continuous benchmark job (#2481) (#2483)
Update continuous benchmark docs (#2485) (#2486)
Sync release/v1.7 to main (#2495)
add read replica and rotator docs (#2497) (#2499)
add reviewer guideline (#2507) (#2508)
update large top-K ratio handling logic (#2509) (#2511)
Change default image tag from latest to nightly (#2516) (#2518)
Bugfix that caused an error when argument has 3 or more nil arguments (#2517) (#2520)
add faiss in values.yaml & valdrelease.yaml (#2514) (#2519)
capitalize faq (#2512) (#2522)
Backport docs updates to release/v1.7 (#2521)
[CI] Add workflow to synchronize ubuntu base image (#2526) (#2527)
fix: update schedule (#2528) (#2530)
refactor index manager service add index service API to expose index informations (#2525) (#2532)
fix conflict bug (#2537)
fix: make format (#2534) (#2540)
Backport PR #2542, #2538 to release/v1.7 (#2543)
fix: add checkout option (#2545) (#2546)
Implement ngt Statistics API (#2539) (#2547)
Add workflow to check git conflict for backport PR (#2548) (#2550)
[create-pull-request] automated change (#2552) (#2556)
Update dependencies, C++ standard, and improve Dockerfiles for better build systems and localization (#2549) (#2557)
Backport #2559 (#2560)
[BUGFIX] index correction process (#2565) (#2566)
change external docker image reference to ghcr.io registry (#2567) (#2568)
[patch] Release v1.7.13 (#2569)
:bookmark: :robot: Release v1.7.13 (#2570)
add HTTP2 support for http.Client and Vald HTTP Server (#2572) (#2575)

Signed-off-by: kpango <[email protected]>
@kpango kpango mentioned this pull request Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants