Skip to content

Latest commit

 

History

History
51 lines (29 loc) · 2.54 KB

ROADMAP.md

File metadata and controls

51 lines (29 loc) · 2.54 KB

🗺️🔭 Roadmap

We'll be working to open issues and surface designs about these things and more, as the planning progresses. Follow this file for more details as they become available and we'll link the items below to issues as we create them. We look forward to your participation in those discussions!

  • Apollo Studio integrations

    We'll be building out stories for Apollo Studio, including:

    • Tracing
    • Metrics reporting
    • Schema reporting

    We'd like to make the Apollo Router as much as part of the Studio story as Apollo Gateway is today.

  • Newer Federation 2 features

    As new Apollo Federation 2 features are released, we'll integrate those updates into the Router. In most cases, this will be just as simple as updating the Apollo Router's dependencies.

  • More customizations

    We're excited about a number of opportunities for customizing behavior, including exploring options for:

    • Header manipulation
    • Request context propagation
    • Dynamic routing
    • Authorization
    • Auditing

    We hope to provide first-class experiences for many of the things which required a more-than-ideal amount of configuration.

  • Specification compliance

    We're still working on making the Apollo Router fully GraphQL specification compliant. This will be a continued effort and is also embodied in the Apollo Router's design principles.

    Until we finish this work, there may be responses returned to the clients which are not fully specification compliant, including artifacts of Federation query plan execution. (e.g., the inclusion of additional metadata).

  • OpenTelemetry/Prometheus metrics

    These will compliment the existing OpenTelemetry traces which we already support. It will help to paint a clearer picture of how the Apollo Router is performing and allow you to set alerts in your favorite alerting software.

  • Structured logging

    The logs that are produced from the Apollo Router should integrate well with existing log facilities. We'll be adding configuration to enable this (e.g., JSON-formatted logging).

  • Continued performance tuning

    The Apollo Router is already fast, but we'll be looking for more ways to make it faster. We'll be setting up CI/CD performance measurements to track regressions before they end up in user's deployments and to understand the cost of new features we introduce.

  • Hardening

    The Router will need new functionality to remain performant. This will include exploring options for rate-limiting, payload size checking, reacting to back-pressure, etc.