Skip to content

Commit 3222441

Browse files
committed
Added review comments
1 parent 9a88f23 commit 3222441

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

toc/rfc/rfc-draft-document-cf-api-with-openapi.md

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,34 @@ Such usecases include for example:
5858

5959
### Phases
6060

61-
**Implementation** - Convert <https://github.com/cloudfoundry-community/capi-openapi-spec> to a repository in the official cloudfoundry organization.Document the CF API V3 using the OpenAPI specification. Also generate a html documentation to replace the current page. Optionally build up, if possible, a validation(integration test) that validates if the OpenAPI spec is in sync with the actual implementation of the CF API V3.
61+
This RFC proposes a phased approach to mitigate risks and allow for early feedback.
6262

63-
**Checkpoint** - TOC review and approval of the project, ensuring the
64-
OpenAPI documentation is complete in comparison to the current one and of appropriate quality. Replacement of the current CF API V3 website with representing the OpenAPI spec. Also release the OpenAPI spec for programmatic access to the CF API V3 documentation.
63+
**Phase 1: Proof of Concept (PoC)**
64+
65+
The initial phase focuses on demonstrating the feasibility and defining the process for creating and maintaining the OpenAPI spec. The goal is to evaluate different approaches for converting the existing implementation into an OpenAPI spec, and to understand how CAPI developers would work with it. One non-trivial endpoint should be implemented completely as part of the PoC.
66+
67+
Key questions to be answered in this phase:
68+
69+
- How can the initial spec be generated from existing API documentation or source code?
70+
- What does the development process for updating the spec look like?
71+
- How can the spec be integrated into the existing CI and CAPI release processes?
72+
- How can we test the spec against the implementation to ensure they are in sync?
73+
- If generating the spec from source code, how can metadata like examples and manually written descriptions be maintained within the sources?
74+
75+
**Phase 2: Implementation and Checkpoint**
76+
77+
Based on the findings of the PoC, the next phase is to complete the implementation of the OpenAPI spec for the entire CF API V3.
78+
79+
A checkpoint with the ARI WG is required before proceeding. This checkpoint will evaluate if the spec is complete, usable, and meets the required quality standards.
80+
The OpenAPI effort should be stopped if the expected spec quality cannot be achieved.
81+
82+
**Phase 3: Rollout and Deprecation**
83+
84+
Once the OpenAPI spec is deemed complete and of good quality, the following steps will be taken:
85+
86+
- The generated HTML documentation will replace the current API documentation website.
87+
- The OpenAPI spec will be published alongside the existing documentation.
88+
- The old API documentation will be archived and made available for reference and all older versions that were released before using the openapi spec.
6589

6690
## Impact and Consequences
6791

@@ -88,5 +112,8 @@ due to better enabling of users to transition to the V3 API.
88112

89113
### Negative
90114

91-
- The CloudFoundry organization will have to invest time and resources
92-
to document the CF API V3 using the OpenAPI specification and work on two documentation formats in parallel until the OpenAPI is so mature that it can fully replace the existing documentation.
115+
- The CloudFoundry organization, and specifically the App Runtime Interfaces (ARI) Working Group, will have to invest time and resources to document the CF API V3 using the OpenAPI specification. This will require working on two documentation formats in parallel until the OpenAPI specification is mature enough to fully replace the existing documentation.
116+
117+
## Future Improvements
118+
119+
This RFC focuses on the initial implementation of the OpenAPI specification for the CF API V3. However, there are several potential future improvements that could be explored once the initial implementation is complete. These MAY be explored as part of this RFCs PoC. However no plans are concretely defined to use/support generation based client libraries.

0 commit comments

Comments
 (0)