Skip to content

Conversation

@kamilkisiela
Copy link
Contributor

It's easier and is similar to what Hive Gateway does gateway.config.ts.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kamilkisiela, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on enhancing the user experience by standardizing and simplifying the default configuration file name for the router. By renaming hive-router.config to router.config, the project aligns with a more concise naming convention, mirroring practices seen in related projects like Hive Gateway. This change is comprehensively applied across the project's documentation and the core configuration loading mechanism, ensuring a seamless transition for users.

Highlights

  • Default Configuration File Renamed: The default configuration file name has been changed from hive-router.config to router.config for simplicity and consistency with the Hive Gateway naming convention.
  • Documentation Updates: The README.md has been updated to reflect the new default configuration file name in all examples and explanations, including usage with curl, bash commands, and Docker.
  • Core Logic Adjustment: The internal logic responsible for identifying default configuration files in lib/router-config/src/lib.rs has been updated to recognize router.config as the new standard prefix across various file extensions (.yaml, .yml, .json, .json5).
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request renames the default configuration file from hive-router.config.* to router.config.*. The changes are applied consistently across the documentation in README.md and the router configuration logic in lib/router-config/src/lib.rs.

My main feedback is to make this change non-breaking to provide a smoother transition for existing users. I've suggested supporting both the old and new configuration file names temporarily. This would improve user experience by not breaking existing setups, while still encouraging the adoption of the new standard through the updated documentation.

Overall, the change is clear and well-motivated.

Comment on lines +81 to +84
"router.config.yaml",
"router.config.yml",
"router.config.json",
"router.config.json5",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This is a breaking change for users relying on the default configuration file name. To provide a smoother migration path and avoid breaking existing setups, I suggest supporting both the old and new file names for a while.

You can achieve this by including the old file names in this list. By placing the new names after the old ones, you ensure they have higher precedence, as the config crate merges sources in order.

This makes the change backward-compatible for existing users, while the updated documentation encourages new users to adopt the new naming convention.

    // Old names (deprecated, for backward compatibility)
    "hive-router.config.yaml",
    "hive-router.config.yml",
    "hive-router.config.json",
    "hive-router.config.json5",
    // New standard names
    "router.config.yaml",
    "router.config.yml",
    "router.config.json",
    "router.config.json5"

@github-actions
Copy link

github-actions bot commented Oct 20, 2025

k6-benchmark results

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     █ setup

     checks.........................: 100.00% ✓ 232806      ✗ 0    
     data_received..................: 6.8 GB  227 MB/s
     data_sent......................: 91 MB   3.0 MB/s
     http_req_blocked...............: avg=3.37µs   min=717ns   med=1.7µs   max=14.35ms  p(90)=2.48µs  p(95)=2.84µs  
     http_req_connecting............: avg=764ns    min=0s      med=0s      max=2.44ms   p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=18.89ms  min=1.88ms  med=17.84ms max=111.64ms p(90)=26.2ms  p(95)=29.42ms 
       { expected_response:true }...: avg=18.89ms  min=1.88ms  med=17.84ms max=111.64ms p(90)=26.2ms  p(95)=29.42ms 
     http_req_failed................: 0.00%   ✓ 0           ✗ 77622
     http_req_receiving.............: avg=138.86µs min=27.53µs med=44.27µs max=64.51ms  p(90)=79.45µs p(95)=376.27µs
     http_req_sending...............: avg=22.11µs  min=4.8µs   med=10.07µs max=20.73ms  p(90)=14.85µs p(95)=21.4µs  
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=18.73ms  min=1.81ms  med=17.71ms max=56.74ms  p(90)=25.94ms p(95)=29.13ms 
     http_reqs......................: 77622   2582.290676/s
     iteration_duration.............: avg=19.32ms  min=5.01ms  med=18.16ms max=212.06ms p(90)=26.64ms p(95)=29.9ms  
     iterations.....................: 77602   2581.625326/s
     vus............................: 50      min=50        max=50 
     vus_max........................: 50      min=50        max=50 

@github-actions
Copy link

🐋 This PR was built and pushed to the following Docker images:

Image Names: ghcr.io/graphql-hive/router

Platforms: linux/amd64,linux/arm64

Image Tags: ghcr.io/graphql-hive/router:pr-493 ghcr.io/graphql-hive/router:sha-8ad13ae

Docker metadata
{
"buildx.build.ref": "builder-cb28ea01-aa4a-4165-8d66-e5e4fd780cff/builder-cb28ea01-aa4a-4165-8d66-e5e4fd780cff0/xxi8ruzmso66gah8x754md27s",
"containerimage.descriptor": {
  "mediaType": "application/vnd.oci.image.index.v1+json",
  "digest": "sha256:1b01e5fb2b937cef6b2bd947dd238aae815dba603a1ca9564e13d5372b9719cd",
  "size": 1609
},
"containerimage.digest": "sha256:1b01e5fb2b937cef6b2bd947dd238aae815dba603a1ca9564e13d5372b9719cd",
"image.name": "ghcr.io/graphql-hive/router:pr-493,ghcr.io/graphql-hive/router:sha-8ad13ae"
}

@kamilkisiela kamilkisiela merged commit 704a112 into main Oct 21, 2025
18 checks passed
@kamilkisiela kamilkisiela deleted the kamil-router-not-hive-router branch October 21, 2025 13:49
This was referenced Oct 21, 2025
dotansimha pushed a commit that referenced this pull request Oct 26, 2025
## 🤖 New release

* `hive-router-config`: 0.0.8 -> 0.0.9 (✓ API compatible changes)
* `hive-router`: 0.0.13 -> 0.0.14 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `hive-router-config`

<blockquote>

##
[0.0.8](hive-router-config-v0.0.7...hive-router-config-v0.0.8)
- 2025-10-23

### Added

- *(router)* support `hive` as source for supergraph
([#400](#400))

### Other

- Rename default config file to router.config
([#493](#493))
</blockquote>

## `hive-router`

<blockquote>

##
[0.0.13](hive-router-v0.0.12...hive-router-v0.0.13)
- 2025-10-23

### Added

- *(router)* support `hive` as source for supergraph
([#400](#400))

### Fixed

- *(router)* use 503 instead of 500 when router is not ready
([#512](#512))
- *(executor)* error logging in HTTP executor
([#498](#498))
- *(executor)* handle subgraph errors with extensions correctly
([#494](#494))
- *(ci)* fail when audit tests failing
([#495](#495))
- *(executor)* project scalars with object values correctly
([#492](#492))
- *(query-planner)* inline nested fragment spreads
([#502](#502))

### Other

- Remove mimalloc override feature and use v3
([#497](#497))
- Add affectedPath to GraphQLErrorExtensions
([#510](#510))
- Handle empty responses from subgraphs and failed entity calls
([#500](#500))
- Rename default config file to router.config
([#493](#493))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants