Skip to content

Feature & Quota Extensions #62

@fupelaqu

Description

@fupelaqu

Epic 5: Licensing Infrastructure

User Story

As a developer integrating with the licensing module,
I want the Feature and Quota types to include federation and Flight SQL capabilities,
So that downstream consumers (MV extension, federation server) can check for these features and quotas.

Acceptance Criteria

Given the Feature sealed trait in package.scala
When Feature.FlightSql and Feature.Federation are added
Then they are available as new Feature case objects
And Feature.values includes both new features

Given the Quota case class in package.scala
When a maxClusters: Option[Int] field is added (default Some(2))
Then Quota.Community has maxClusters = Some(2)
And Quota.Pro has maxClusters = Some(5)
And Quota.Enterprise has maxClusters = None (unlimited)

Given the existing LicenseManager trait
When JwtLicenseManager implements it
Then the trait API remains unchanged — no breaking changes for existing consumers (MaterializedViewExtension, FederationLicenseGuard)

Given the LicenseKey case class
When a JWT is parsed
Then LicenseKey.features includes FlightSql and/or Federation based on the JWT features claim
And LicenseKey.metadata can store additional JWT claims (org_name, jti, trial)

Requirements

  • FR30: Feature set extensions (FlightSql, Federation) and quota extensions (maxClusters) in JWT claims

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions