schemahero

We’re excited to share that SchemaHero has been accepted by the Cloud Native Computing Foundation (CNCF) as a Sandbox project. While SchemaHero has always been an open source project, we are now transferring ownership to the CNCF and are committing to an open governance model so that it’s not directly tied to our vision at Replicated. We also hope to leverage the vibrant community within the CNCF to foster a diverse community of contributors and end-users.

We created SchemaHero to make database schemas declarative, and have been running it in our production environment and all of our on-prem installations. SchemaHero started as an open source experiment in early 2019 to address messy schema migrations in a Kubernetes-native way. It was an attempt to solve some inefficiencies that we experienced managing Postgresql and MySQL database schemas. We had a few databases, and we had Kubernetes. Our application deployments were declaratively managed by Kubernetes manifests via GitOps, but our database migrations were imperative SQL migration statements. We tried wrapping SQL migrations directly into K8s manifests, but it was impossible to do unless we knew the state of the database to start with. 

Recently, the project has expanded to include other databases including Cassandra, CockroachDB and SQLite, with more in development right now. The roadmap is full of ideas, and we’d love community involvement to prioritize the direction of the project.

At Replicated, we believe that software should continue to be more autonomous and require less human intervention. This goal is much bigger than the code we are writing at Replicated, but we want to contribute to make this future possible. SchemaHero is a small piece of this next-generation software that re-thinks everything in a declarative, Kubernetes-native way. 

We are excited at the opportunity to put SchemaHero out there and see if this idea and implementation resonates. It’s an early project and there’s a lot of work to do. If you have ideas, want to try the project, or just want to discuss database migrations in a cloud-native world, follow the repo, join the slack channel and come to the community meetings. We’d love to hear from you.