diff --git a/README.md b/README.md index fd95e0a..32399f9 100644 --- a/README.md +++ b/README.md @@ -46,42 +46,74 @@ spec: slack: "#api-support" url: "https://example.com/support" status: - observedGeneration: 1 + conditions: + - lastTransitionTime: "2026-01-14T17:02:07Z" + message: Discovered PlanPolicy toystore-plans targeting HTTPRoute toystore + reason: Found + status: "True" + type: PlanPolicyDiscovered + - lastTransitionTime: "2026-01-14T17:02:08Z" + message: Discovered AuthPolicy toystore targeting HTTPRoute toystore + reason: Found + status: "True" + type: AuthPolicyDiscovered + - lastTransitionTime: "2026-01-14T17:02:07Z" + message: HTTPRoute toystore/toystore accepted + reason: HTTPRouteAccepted + status: "True" + type: Ready + discoveredAuthScheme: + authentication: + api-key-users: + apiKey: + allNamespaces: true + selector: + matchLabels: + app: toystore + credentials: + authorizationHeader: + prefix: APIKEY + metrics: false + priority: 0 discoveredPlans: - - tier: gold - limits: - custom: - - limit: 10000 - window: "3600s" - - tier: silver - limits: - daily: 1000 - weekly: 7000 - monthly: 10000 - - tier: bronze - limits: - daily: 100 - weekly: 700 - monthly: 1000 + - limits: + daily: 100 + tier: gold + - limits: + daily: 50 + tier: silver + - limits: + daily: 10 + tier: bronze + observedGeneration: 1 openapi: + lastSyncTime: "2026-01-14T17:02:07Z" raw: | - openapi: 3.0.0 + --- + openapi: "3.0.2" info: - title: Toystore API - version: 1.0.0 - ... - lastSyncTime: "2025-12-09T10:00:00Z" - conditions: - - type: Ready - status: "True" - reason: APIProductReady - message: APIProduct is ready - lastTransitionTime: "2025-12-09T10:00:00Z" - - type: PlanPolicyDiscovered - status: "True" - reason: PlanPolicyFound - message: Successfully discovered plan policies from HTTPRoute - lastTransitionTime: "2025-12-09T10:00:00Z" + title: "Pet Store API" + version: "1.0.0" + servers: + - url: https://toplevel.example.io/v1 + paths: + /cat: + get: + operationId: "getCat" + responses: + 405: + description: "invalid input" + post: + operationId: "postCat" + responses: + 405: + description: "invalid input" + /dog: + get: + operationId: "getDog" + responses: + 405: + description: "invalid input" ``` #### APIProduct Spec Fields diff --git a/docs/references/apiproduct.md b/docs/references/apiproduct.md index f9db68f..f080367 100644 --- a/docs/references/apiproduct.md +++ b/docs/references/apiproduct.md @@ -58,7 +58,8 @@ The APIProduct CRD is part of the Developer Portal extension for Kuadrant. It re |----------------------|----------------------------------------|---------------------------------------------------------------------------------------------------| | `observedGeneration` | Integer | ObservedGeneration reflects the generation of the most recently observed spec | | `conditions` | [][ConditionSpec](#conditionspec) | Represents the observations of the APIProduct's current state | -| `discoveredPlans` | [][DiscoveredPlan](#discoveredplan) | List of PlanPolicies discovered from the HTTPRoute | +| `discoveredPlans` | [][PlanSpec](#planspec) | List of PlanPolicies discovered from the HTTPRoute | +| `discoveredAuthScheme` | [AuthSchemeSpec](https://github.com/Kuadrant/kuadrant-operator/blob/main/doc/reference/authpolicy.md#authscheme) | Authentication scheme discovered from the HTTPRoute's AuthPolicy | | `openapi` | [OpenAPIStatus](#openapistatus) | OpenAPI specification fetched from the API and its sync status | ### ConditionSpec @@ -74,7 +75,7 @@ Standard Kubernetes condition type with the following fields: | `lastTransitionTime` | Timestamp | Last time the condition transitioned from one status to another | | `observedGeneration` | Integer | The .metadata.generation that the condition was set based upon | -### DiscoveredPlan +### PlanSpec | **Field** | **Type** | **Required** | **Description** | |------------------|----------|:------------:|--------------------------------------------------------------------|