Meshery
- 11.6k
- stars · 3.7k forks on the repository
- 306
- people have ever committed to it
- 835
- of those commits are mine
Context
Meshery is Layer5's cloud native manager and a CNCF project: one place to configure, operate and visualise Kubernetes and everything running on it. I joined as a software engineer in January 2022 and stayed inside the repository long enough to become one of its maintainers.
It is a big, awkward, real codebase — a Next.js UI, a Go server, a GraphQL subscription layer, a Kubernetes operator, an extension surface that commercial builds are loaded through, and an end-to-end suite that has to run against an actual cluster.
What I built
MeshMap and the design configurator: the visual surface where infrastructure is arranged, versioned and deployed. That work runs from the pattern configurator UI through to a schema-driven form layer, so a component's own JSON schema — not a hand-written form — is what a user edits.
The schema layer became its own long thread: migrating RJSF from v3 to v5, crawling oneOf/allOf/anyOf during validation, handling Kubernetes' int-or-string, and keeping non-compliant fields from crashing a form mid-edit.
Then the parts that only show up as an absence when they work: two separate fixes to the GraphQL subscription layer — a bottleneck against the server and a MeshSync memory leak — the OPA policy engine that reasons about relationships between components, and a reusable GitHub Actions workflow so the UI and the server build the same way everywhere.
Enterprise & the playground
Alongside the open repository I built closed tooling for enterprise customers, supporting organisations like Intel, and the capability checks that let the same build serve a signed-in customer and an anonymous visitor on the public playground.
Outcome
168 pull requests merged and 835 commits, the 14th largest contribution of the 306 people who have ever committed to it. MeshMap shipped as part of Meshery and the playground is still open at play.meshery.io.


In public
Selected pull requests. Every one of them can be read.
- #7578Design configurator with MeshModel support
- #7654Initialise the OPA policy evaluation engine
- #7714Fix the MeshSync GraphQL subscription memory leak
- #6244Fix the GraphQL subscription bottleneck to the server
- #6379RJSF migration v3 → v5, with validation fixes
- #4464The pattern configurator UI
- #6460Allow limited functionality in the public playground
- #6141One reusable workflow to build the UI and the server