Skip to content

Request schema accepts invalid route values without validation #1207

Description

@aidanbruneel

Observed behaviour

The orchestrator supports a top-level route request parameter and uses it to select preprocessors and handlers, but route is not defined in the IMAGE request schema used by the orchestrator.

Because the schema permits properties that it does not explicitly define, requests containing route can pass schema validation without the route value itself being validated. This includes values that do not conform to the intended route format or type.

Expected behaviour

The IMAGE request schema should define the supported route parameter and validate it consistently with the route semantics supported by the orchestrator.

Valid route values should pass request validation, requests may continue to omit route and use the existing default behaviour, and invalid route values should be rejected before service selection.

Reproduction

  1. Submit an otherwise valid IMAGE request containing a route property.
  2. Use a value that should not represent a valid route, such as a non-string value or a malformed route name.
  3. Observe that request-schema validation does not reject the request based on the route property because the property is not defined in request.schema.json.

For comparison, valid values such as "default" or "followup" are consumed by the orchestrator's existing route-selection logic.

Runtime context

  • Affects the request schema used by the IMAGE orchestrator.
  • The orchestrator Docker build copies the repository's schemas directory into src/schemas.
  • Route-selection support is already implemented in the orchestrator.

Additional context

This issue should remain limited to bringing the request schema and validation behaviour into alignment with the already-supported orchestrator interface. Changes to route-based service selection itself are out of scope.

Checks

  • I searched existing issues and kept this report focused on one independently fixable bug.
  • I removed secrets, credentials, personal information, and confidential data.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: infrastructureAffects containers, images, hosts, networking, configuration, or operational infrastructure.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions