Quickstart · Examples · Docs · CLI · Community · Changelog · Hiring
WunderGraph Cosmo is a comprehensive Lifecycle API Management platform tailored for Federated GraphQL. It encompasses everything from Schema Registry, composition checks, and analytics, to metrics, tracing, and routing. Whether you’re looking to deploy 100% on-prem or prefer a Managed Service, Cosmo offers flexibility without vendor lock-in, all under the Apache 2.0 license.
GraphQL Federation empowers organizations to break down their GraphQL schema into multiple smaller, manageable schemas, each maintained by different teams or services. These individual schemas are then combined into a single, unified graph, ensuring that all teams have consistent access to the data they need. In today's data-driven world, where information is often referred to as the new oil, building a unified API that can be consumed by both internal and external teams is more crucial than ever.
Not all companies start with a federated architecture, Cosmo supports both monolithic and federated architectures.
To get started with WunderGraph Cosmo, follow these steps:
- Clone the Repository:
git clone https://github.com/wundergraph/cosmo.git
- Choose your Example: Select the example that best fits your role and use case from the Try Cosmo Now section and follow the instructions.
- Explore Further: Check out the Docs for more information on Cosmo's features and capabilities.
Get started with Cosmo by choosing the example that best fits your role and use case:
- Developer: Quickly start with Cosmo by composing a federated GraphQL schema locally from multiple services and running the Cosmo Router.
- Architect: Evaluate the entire Cosmo Platform for your organization by running it locally with Docker Compose.
- Platform Engineer: Deploy the entire Cosmo Platform to Kubernetes through our official Helm Chart.
- Decision Maker (e.g. Engineering Manager, CTO): Get in touch with the founders to discuss how Cosmo can help your organization.
For any questions, feedback, or support, please contact us.
Here's a selection of blog posts that focus on the technical aspects of Cosmo:
- How we scaled Cosmo Router for the SuperBowl
- The Architecture of our Observability Stack
- How Normalization affects Query Planning
- Zero cost abstraction for the @skip and @include Directives
- Algorithm to minify GraphQL ASTs by up to 99%
- Federated GraphQL Subscriptions with NATS and Event Driven Architecture
- Implementing the viewer pattern in GraphQL Federation
- How we're using Epoll/Kqueue to scale GraphQL Subscriptions
- ASTJSON - A fast way to merge JSON objects
- Dataloader 3.0, an efficient algorithm for Federation data loading
We welcome contributions from the community! Whether it's fixing a bug, adding new features, or improving documentation, your help is greatly appreciated. Please take a look in our Contributing Guide to get started.
Cosmo is licensed under the Apache License, Version 2.0.