You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: toc/rfc/rfc-draft-document-cf-api-with-openapi.md
+32-5Lines changed: 32 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,10 +58,34 @@ Such usecases include for example:
58
58
59
59
### Phases
60
60
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.
62
62
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.
65
89
66
90
## Impact and Consequences
67
91
@@ -88,5 +112,8 @@ due to better enabling of users to transition to the V3 API.
88
112
89
113
### Negative
90
114
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