Skip to content

LCORE-261: updated OpenAPI#817

Merged
tisnik merged 1 commit intolightspeed-core:mainfrom
tisnik:lcore-261-updated-openapi-json
Nov 20, 2025
Merged

LCORE-261: updated OpenAPI#817
tisnik merged 1 commit intolightspeed-core:mainfrom
tisnik:lcore-261-updated-openapi-json

Conversation

@tisnik
Copy link
Contributor

@tisnik tisnik commented Nov 20, 2025

Description

LCORE-261: updated OpenAPI

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change
  • Unit tests improvement
  • Integration tests improvement
  • End to end tests improvement

Related Tickets & Documents

  • Related Issue #LCORE-261

Summary by CodeRabbit

  • New Features

    • Added Red Hat Identity authentication configuration support with entitlements management.
  • Changes

    • Updated RAG detail endpoint response schema.
    • Made name, last_active_at, and expires_at fields optional in RAG responses.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 20, 2025

Walkthrough

Documentation updates introducing Red Hat Identity authentication configuration support. Adds new RHIdentityConfiguration schema to AuthenticationConfiguration, updates RAG endpoint response schema from RAGResponse to RAGInfoResponse, and removes name, last_active_at, and expires_at from RAGInfoResponse required fields across config diagrams and OpenAPI specifications.

Changes

Cohort / File(s) Change Summary
Configuration diagrams
docs/config.puml
Added RHIdentityConfiguration class extending ConfigurationBase with required_entitlements field; added rh_identity_config member to AuthenticationConfiguration
OpenAPI schema
docs/openapi.json
Added new RHIdentityConfiguration schema; added rh_identity_config field to AuthenticationConfiguration; updated /v1/rags/{rag_id} response schema from RAGResponse to RAGInfoResponse; removed name, last_active_at, expires_at from RAGInfoResponse required fields
OpenAPI documentation
docs/openapi.md, docs/output.md
Updated endpoint documentation and added RHIdentityConfiguration model documentation; documented rh_identity_config field in AuthenticationConfiguration

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Straightforward documentation and schema additions across four files with no code logic changes
  • Changes are consistent and follow existing patterns in the documentation structure
  • Primary focus should be verifying schema consistency between openapi.json and the markdown documentation files

Possibly related PRs

Suggested labels

ok-to-test

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'LCORE-261: updated OpenAPI' is vague and overly broad, lacking specificity about what was actually updated in the OpenAPI documentation. Provide a more specific title describing the key changes, such as 'Add RHIdentityConfiguration to AuthenticationConfiguration' or 'Update RAG endpoint response schema in OpenAPI'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
docs/openapi.md (1)

837-844: Consider specifying the rh_identity_config field type

The new rh_identity_config field is wired correctly, but the Type column is empty like many others. For discoverability, you could set the type to something like [RHIdentityConfiguration](#rhidentityconfiguration) or RHIdentityConfiguration | null.

docs/output.md (1)

837-844: Optional: document rh_identity_config’s concrete type

As in docs/openapi.md, you might want to make the Type column explicit, e.g. [RHIdentityConfiguration](#rhidentityconfiguration) or RHIdentityConfiguration | null, to make the association obvious to readers.

docs/openapi.json (1)

1737-1793: rh_identity_config property wiring looks correct; consider adding a description

The new rh_identity_config field on AuthenticationConfiguration references RHIdentityConfiguration (or null), which matches the desired shape. To make the schema more self‑describing, you might add a short "description" like “Red Hat Identity authentication configuration”.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d5ecd53 and db232f4.

⛔ Files ignored due to path filters (2)
  • docs/config.png is excluded by !**/*.png
  • docs/config.svg is excluded by !**/*.svg
📒 Files selected for processing (4)
  • docs/config.puml (3 hunks)
  • docs/openapi.json (3 hunks)
  • docs/openapi.md (3 hunks)
  • docs/output.md (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Konflux kflux-prd-rh02 / lightspeed-stack-on-pull-request
  • GitHub Check: build-pr
  • GitHub Check: e2e_tests (ci)
  • GitHub Check: e2e_tests (azure)
🔇 Additional comments (9)
docs/openapi.md (2)

223-254: RAG GET /v1/rags/{rag_id} return type now correctly uses RAGInfoResponse

The return annotation and 200‑response component reference are consistent with the RAGInfoResponse schema in docs/openapi.json. No further changes needed here.


1753-1762: RHIdentityConfiguration component docs match the new schema

Name and field layout align with the JSON schema (required_entitlements optional list of strings). Description is clear and consistent with the config diagram.

docs/config.puml (2)

10-20: AuthenticationConfiguration additions follow existing JWK pattern

Adding rh_identity_config : Optional[RHIdentityConfiguration] plus rh_identity_configuration mirrors the existing jwk_config/jwk_configuration pair and keeps the diagram in sync with the underlying model. Looks good.


157-159: RHIdentityConfiguration class and inheritance are consistent

Defining RHIdentityConfiguration with required_entitlements : Optional[list[str]] and making it extend ConfigurationBase matches how other config types are modeled and lines up with the new OpenAPI schema.

Also applies to: 206-206

docs/output.md (2)

223-254: Public docs now reference RAGInfoResponse for single‑RAG lookup

The GET /v1/rags/{rag_id} return description and 200‑response component use RAGInfoResponse, matching the OpenAPI JSON. This keeps the public docs aligned with the actual API surface.


1753-1762: RHIdentityConfiguration section correctly documents the new config

This section’s name and field match the new configuration model and OpenAPI schema; the description clearly signals it is for Red Hat Identity authentication.

docs/openapi.json (3)

351-381: RAG detail endpoint correctly moved to RAGInfoResponse

The /v1/rags/{rag_id} operation now documents RAGInfoResponse in both the narrative description and 200‑response schema, matching the components definition and the markdown docs.


3983-4081: RAGInfoResponse required fields relaxed as intended

name, last_active_at, and expires_at are now optional (via anyOf[..., null] and not listed in required), while id, created_at, usage_bytes, object, and status remain required. This matches the documented behavior and is internally consistent.


4104-4125: RHIdentityConfiguration schema is consistent with the rest of the model

The new schema defines required_entitlements as an optional list of strings and disallows additional properties, which is in line with how other config objects are modeled and with the new auth field that references it.

@tisnik tisnik merged commit 33ca043 into lightspeed-core:main Nov 20, 2025
21 of 23 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Dec 5, 2025
18 tasks
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.

1 participant