preloader
🗓️ January 18, 2024 | 6

Microcks 1.8.1 release 🚀

We are thrilled to start this New Year with a brand new Microcks release! Say hi to the 1.8.1 release of Microcks, the Open-source cloud-native tool for API Mocking and Testing 👏

This release embeds 54 resolved issues as we release an intermediary 1.8.1-M1 version to avoid some users waiting too much time. Here are the highlights of this release:

  • OpenAPI complex structures support was asked to handle edge cases or organizations having a great maturity on OpenAPI,
  • Uber/All-in-one architecture simplification was required to allow further enhancements in our Shift-Left strategy and Testcontainers support,
  • Kubernetes deployments are now better managed with Helm enhancements, enabling greater customization for an enhanced GitOps approach!
microcks-feature

Let’s do a review of what’s new on each one of our highlights without delay.

OpenAPI complex structures

While pretty simple in a self-contained approach, the OpenAPI specification can unveil a lot of complexity when dealing with references! At scale, it’s often common to split your API specification information into different files describing schemas, parameters, and examples in a way that eases reuse and favors consistency.

As Microcks already supported simple cases, we certainly faced limits regarding the depth of dependencies or the exhaustivity of constructions.

With great help from the community - thanks a lot to Apoorva Srinivas Appadoo 🙏 - we successfully enriched the set supported complex structures:

  • The components of an OpenAPI schema are now fully parsed and converted. See #995 ,
  • JSON Pointer is now supported to navigate example files. See #984 ,
  • The discovery of dependencies is now transitive. See #986 ,
  • The imported OpenAPI elements are now fully re-normalized to allow their use for validation purposes. See #1035 and #1037 ,
  • References are now supported at the path/operation level. See #1034 .

We’re looking forward to hearing from our vibrant community if you find some other structures that may not be yet supported. During the development process of these new features, we also set up a new GitLab repository that holds some very complex features we can now support. Have a look at it if you want to check if your case can be handled.

Uber/All-in-one architecture simplification

In the previous 1.8.0 release, we welcomed the Uber image : a stripped-down version of Microcks dedicated to Shift-Left scenarios and Local development approaches . We are going further with this release, extending the concept to the component holding the Async API-related features of Microcks: the Async Minion. And to bring you a lightweight experience, we had to review the way this component integrates with others.

In canonical Microcks architecture , the Async Minion integrates mainly using an Apache Kafka broker. This architecture presents a very nice decoupling, allowing both Sync and Async components to scale independently and to be distributed on different nodes. However, these needs make little sense when Microcks is used locally on your development machine. As a consequence, we changed the Kafka communication channel, switching to simple WebSocket communication as illustrated in the schema below:

As a consequence, a Kafka broker is no longer needed when you want to enable the Async API features of Microcks on your laptop! WebSocket protocol is directly supported by the new Microcks Uber Async Minion and if you’d like to mock or test some other protocols - like Amazon SQS, SNS, or even Kafka - You can, of course, bring and connect to your existing broker!

These essential elements can be also joined together when used in combination within our Testcontainers Module in what we call a Microcks Ensemble. An Ensemble is a simple way to configure them all together while offering a smooth and light experience. More on this in a future blog post 😉

Helm Chart enhancements

Whilst we’re improving Microcks for Shift-Left scenarios, having a top-notch deployment experience on Kubernetes is always a strong priority for us! Hence, we were very happy to welcome three contributions for this release:

  • The ability to disable Keycloak when deploying Microcks to use fewer resources when deploying on your laptop (see #1001 ). Many thanks to Kevin Viet 🙏 for his contribution!
  • The customization of Kubernetes resources labels and annotations (see #1005 ) is important to allow standardization of Kubernetes apps in big companies. You can now label and annotate Microcks resources the way you need to meet your company’s policies. Thanks again to Kevin Viet 🙏 for it!
  • The management of Secrets is always a tricky topic, especially when using a GitOps deployment process. Thanks to Romain Quinio 🙏, we now have a robust Helm Chart (see #1010 ) that can be used in combination with GitOps engines like ArgoCD to deploy Microcks like a breeze!

Community and Events

Reaching, interacting with, and building a strong community is one of our top priorities! For that, we decided to start a new Discord server that offers better support for real-time messaging, support forums, and team coordination around different project’ areas.

You can now join the community here: https://microcks.io/discord-invite

To those who were already chatting with us on our previous Discord chat, please make the switch! We planned to sunset our Discord chat at the end of March.

The last quarter of 2023 was a super-busy one with a lot of travels, conferences, and opportunities to meet passionate and enthusiastic people! We also have a lot of recordings to share then 😉

You’ll find below the available recordings for some of the events we speak at - unfortunately, APIDays conferences are not recorded 😥:

What’s coming next?

As usual, we will eagerly prioritize items according to community feedback. You can check and collaborate via our list of issues on GitHub and the project roadmap .

More than ever, we want to involve community members in design discussions and start some discussion about important additions regarding OpenAPI callbacks, webhooks and AsyncAPI in Microcks. Please join us to shape the future!

Remember that we are an open community, which means you, too, can jump on board to make Microcks even greater! Come and say hi! on our GitHub discussion or Discord chat 👻, send some love through GitHub stars ⭐️ or follow us on Twitter , Mastodon , LinkedIn , and our YouTube channel !

Thanks for reading and supporting us! ❤️

Laurent Broudoux

Laurent Broudoux

Co-founder of Microcks | Director of Engineering at Postman Open Technologies

comments powered by Disqus