apiclarity
openapi-preprocessor
Our great sponsors
apiclarity | openapi-preprocessor | |
---|---|---|
9 | 2 | |
471 | 34 | |
1.7% | - | |
4.0 | 3.7 | |
7 days ago | about 1 month ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
apiclarity
-
Two approaches to make your APIs more secure
We'll install APIClarity into a Kubernetes cluster to test our API documentation. We're using a Kind cluster for demonstration purposes. Of course, if you have another Kubernetes cluster up and running elsewhere, all steps also work there.
-
How to Get Started with Open Source
If you go to APIClarity, the first thing you’ll see is the source code (Figure 1), followed by some documentation at the bottom.
-
Risk scoring your API Specification with Panoptica
This feature is available in the open-source tool APIClarity, as part of the OpenClarity initiative.
-
Show HN: Mitmproxy2swagger – Automagically reverse-engineer REST APIs
Hi, I would also like to add another tool I'm contributing to at work (cisco) called APIClarity [1]. It aims at reconstructing swagger specifications of REST microservices running in K8S, but can also be run locally.
This is a challenging task and we don't support OpenAPI v3 specs yet (we are working on it).
Feel free to have a look, and get ideas from it :)
We'll also be presenting it at next Kubecon 2022.
[1]: https://github.com/openclarity/apiclarity
- Microservices API challenges
-
How to Use OpenAPI for Secure and Robust API Integration
For example, APIClarity is a tool that observes all of the API traffic within your Kubernetes environment. Based on traffic observation, APIClarity infers an OpenAPI description for those APIs. This is especially helpful if the API creator never defined or provided such a description. It also surfaces potential problems with existing APIs, such as requests made to undocumented, shadow APIs or continued use of deprecated, zombie APIs. If you’re getting started on the path toward OAS compliance, then tools like APIClarity can be a great source of insight and observability.
-
Watching the Requests Go By: Reconstructing an API Spec with APIClarity
The fundamental first step to solving this problem is to create an API spec and use it to audit and document the APIs your apps use. Ideally, we would create an API spec simply by observing API traffic in real-world applications. In the past, there was no simple, scalable, and open-source tooling capable of doing this. Now, we have APIClarity—an open-source API traffic visibility tool for Kubernetes (K8s) clusters. It’s purpose-built to address the gap and enable API reconstruction through observation.
- Reconstruct Open API Specifications from real-time workload traffic seamlessly
openapi-preprocessor
-
Show HN: Monocle – bidirectional code generation library
I use a mixed approach for OpenAPI, but not bidirectional.
I have OpenAPI pieces generated from my Go source code (comment, types, function signatures) as JSON.
I also have a manually-edited master YAML document that refers to generated bits via $ref links.
I then use openapi-preprocessor [1] (disclaimer: I wrote it) to produce a final openapi.json file which is committed in the repo.
When I want to extend the API in a spec-first process, I can add the new routes manually in the YAML file. When I do the implementation I replace the manual bits by the generated one when they are ready. When committing I can check the diff of openapi.json to verify I'm not losing in the process.
[1] https://github.com/dolmen-go/openapi-preprocessor
-
JSON Schema bundling finally formalised
Bundling for OpenAPI specification has long been a need for authors to allow to reduce duplication, and to allow to split a big specification in multiples files, but publish a single one.
A few years ago I've written a tool to fit that niche: https://github.com/dolmen-go/openapi-preprocessor
https://github.com/dolmen-go/openapi-preprocessor
I have now to tweak it (well, it will be a major rewrite) to handle $ref relative to $id instead of the file location.
What are some alternatives?
oasdiff - OpenAPI Diff and Breaking Changes
Nacos - an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
zod - TypeScript-first schema validation with static type inference
api-firewall - Fast and light-weight API proxy firewall for request and response validation by OpenAPI specs.
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
microservices-demo - Deployment scripts & config for Sock Shop
kusk - CLI for Kusk Gateway related functionality
io-ts - Runtime type system for IO decoding/encoding
meshery - Meshery, the cloud native manager
gnostic - A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks.