Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions content/blog/openeverest-cncf-sandbox/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: "OpenEverest Is Now a CNCF Sandbox Project"
date: 2026-03-27T12:00:00
draft: false
image:
url: openeverest-cncf-sandbox.png
attribution:
authors:
- spron-in
tags:
- announcement
- community
- open-source
- cncf
summary: OpenEverest has been accepted as a CNCF Sandbox project — an important milestone on the path toward open, community-driven governance.
---

Back in the days when we just started working on OpenEverest in Percona, we were already thinking about donating it to [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/). We thought that it just makes sense. But as it usually happens a lot of other priorities popped up and the CNCF "project" was put on hold.

After we renamed Percona Everest into OpenEverest and created [Solanica](https://solanica.io) — a separate entity to drive [OpenEverest](https://openeverest.io) — we shared the [new vision](https://vision.openeverest.io) with the world. One of the most important pieces of that vision is fostering the community. Becoming truly open source. And donation to CNCF is an important milestone on this journey.

Today we are happy to share that OpenEverest is now a CNCF Sandbox project.

## Why donate at all?

[CNCF](https://www.cncf.io/) provides a neutral home for cloud-native projects. For OpenEverest, that means decisions are made in the open, not behind corporate walls. The [governance policy](https://github.com/openeverest/governance/blob/main/GOVERNANCE.md) is public, the [list of maintainers](https://github.com/openeverest/governance/blob/main/MAINTAINERS.md) is public, and the [project code](https://github.com/openeverest/openeverest) is there for anyone to read, fork, and contribute to.

It also means sustainability. CNCF projects have access to foundation resources, events, and marketing channels. Users can invest in OpenEverest knowing it has institutional backing — it won't disappear or change licensing overnight.

And there's the network effect. Operating inside the same foundation as Kubernetes, Prometheus, Vitess, and etcd creates natural integration opportunities and puts OpenEverest in front of the right audience.

## What does it mean for users?

Projects inside a foundation are harder to kill and harder to capture. If any single company behind OpenEverest changes direction, the project keeps going under CNCF stewardship. That's a meaningful stability guarantee.

With CNCF oversight, OpenEverest stays truly multi-vendor. You're not tied to [Solanica](https://solanica.io) or [Percona](https://percona.com) or anyone else's roadmap.

It also matters for enterprise adoption. Many organizations have procurement policies that require CNCF-backed projects for production workloads. That door is now open.

## What does it mean for the community?

The [governance model](https://github.com/openeverest/governance/blob/main/GOVERNANCE.md) we've published is the real deal. The project runs on maintainer consensus — decisions and roadmap direction are in the hands of [active maintainers](https://github.com/openeverest/governance/blob/main/MAINTAINERS.md), not any single company. Anyone can get there by contributing and earning a nomination. No single company controls the direction.

CNCF events — KubeCon, CloudNativeCon — give the project a regular stage to meet contributors and users face to face. That kind of exposure compounds over time.

Being inside the foundation also makes collaboration with adjacent CNCF projects more natural. When OpenEverest integrates with Prometheus or Vitess, we're building inside a shared ecosystem rather than knocking on doors from the outside.

## What does it mean for contributors?

Your contributions to [OpenEverest](https://openeverest.io) are now part of the CNCF ecosystem. The [governance document](https://github.com/openeverest/governance/blob/main/GOVERNANCE.md) spells out how to become a maintainer, how decisions are made, and how to propose changes. There's a clear path, not a black box.

Contributions are also protected under [CNCF's IP policies](https://lfprojects.org/policies/) — worth something if you're contributing on behalf of an employer or just care about the legal hygiene around your work.

One practical change that comes with this: all commits now require a [Developer Certificate of Origin (DCO)](https://github.com/apps/dco) sign-off. It's a lightweight mechanism — a `Signed-off-by` line in your commit message — that certifies you have the right to submit the code under the project's license. Standard practice across serious open source projects.

## Thank you

None of this happens without people who showed up. Contributors who sent PRs and reviewed code, users who filed issues and pushed back when things didn't work, early customers who bet on us before the project had a foundation logo. The CNCF acceptance is the result of that collective effort, not just ours. We're grateful.

## Get involved

If you want to get involved, the [repository](https://github.com/openeverest/openeverest) is the place to start.

Come say hello, file an issue, or just lurk for a while.

<div style="display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;">
<a href="https://openeverest.io/#community" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:8px;background-color:#0f6fec;color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-weight:600;font-size:15px;">
Join the Community
</a>
<a href="https://cloud-native.slack.com/archives/C09RRGZL2UX" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:8px;background-color:#4A154B;color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-weight:600;font-size:15px;">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 122.8 122.8"><path d="M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z" fill="#e01e5a"/><path d="M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z" fill="#36c5f0"/><path d="M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z" fill="#2eb67d"/><path d="M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z" fill="#ecb22e"/></svg>
Chat on Slack
</a>
<a href="https://github.com/openeverest/openeverest" target="_blank" rel="noopener noreferrer" style="display:inline-flex;align-items:center;gap:8px;background-color:#24292f;color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-weight:600;font-size:15px;">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 16 16" fill="#fff"><path d="M8 .25a7.75 7.75 0 1 0 0 15.5A7.75 7.75 0 0 0 8 .25zm0 1.5a6.25 6.25 0 0 1 1.97 12.18c-.31.06-.42-.13-.42-.3v-1.05c0-.36-.01-1.02-.49-1.4 1.62-.18 2.5-.88 2.5-2.57 0-.57-.2-1.1-.53-1.49.05-.14.23-.7-.05-1.47 0 0-.44-.14-1.44.54a5.02 5.02 0 0 0-2.62 0C5.93 6.6 5.49 6.74 5.49 6.74c-.28.77-.1 1.33-.05 1.47-.33.39-.53.92-.53 1.49 0 1.69.88 2.39 2.5 2.57-.31.27-.43.67-.47 1.04-.42.19-1.5.52-2.16-.62 0 0-.39-.71-1.13-.76 0 0-.72-.01-.05.45 0 0 .48.23.82 1.08 0 0 .43 1.32 2.49.87v.75c0 .17-.11.36-.42.3A6.25 6.25 0 0 1 8 1.75z"/></svg>
⭐ Star on GitHub
</a>
</div>

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 17 additions & 3 deletions hugo_stats.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
"fegaussianblur",
"femerge",
"femergenode",
"figcaption",
"figure",
"filter",
"footer",
"g",
Expand Down Expand Up @@ -97,6 +95,7 @@
"bg-white/10",
"bg-white/15",
"bg-white/20",
"bg-white/5",
"block",
"border",
"border-2",
Expand All @@ -114,6 +113,7 @@
"border-t-4",
"border-transparent",
"border-white",
"border-white/10",
"border-white/20",
"border-white/30",
"break-words",
Expand All @@ -123,6 +123,7 @@
"disabled:opacity-50",
"divide-gray-100",
"divide-y",
"drop-shadow-md",
"duration-200",
"duration-300",
"features",
Expand Down Expand Up @@ -259,6 +260,7 @@
"max-w-7xl",
"max-w-none",
"mb-1",
"mb-10",
"mb-12",
"mb-16",
"mb-2",
Expand Down Expand Up @@ -297,11 +299,11 @@
"mt-4",
"mt-6",
"mt-8",
"mx-1",
"mx-2",
"mx-4",
"mx-auto",
"my-4",
"my-8",
"object-contain",
"object-cover",
"opacity-0",
Expand All @@ -316,12 +318,16 @@
"p-6",
"p-8",
"pb-0.5",
"pb-16",
"pb-4",
"pb-6",
"pb-8",
"pl-4",
"prose",
"prose-lg",
"pt-10",
"pt-4",
"pt-7",
"pt-8",
"px-2",
"px-3",
Expand All @@ -338,6 +344,7 @@
"py-20",
"py-3",
"py-4",
"py-6",
"py-8",
"recent-posts",
"relative",
Expand Down Expand Up @@ -396,6 +403,7 @@
"text-red-600",
"text-sm",
"text-white",
"text-white/30",
"text-white/70",
"text-white/90",
"text-xl",
Expand All @@ -410,6 +418,7 @@
"top-8",
"tracking-wide",
"tracking-wider",
"tracking-widest",
"transform",
"transition",
"transition-all",
Expand Down Expand Up @@ -592,6 +601,7 @@
"starsNeeded",
"submission-process",
"technical-walkthrough-trying-in-place-scaling",
"thank-you",
"the-challenge-the-weeks-vs-days-problem",
"the-connectivity-challenge",
"the-fine-print-no-images-no-charts",
Expand All @@ -607,13 +617,17 @@
"user-flow",
"vertical-scaling-on-the-fly",
"what-are-the-alternatives",
"what-does-it-mean-for-contributors",
"what-does-it-mean-for-the-community",
"what-does-it-mean-for-users",
"what-is-ingress-and-ingress-nginx",
"what-is-openeverest",
"what-this-means-for-you",
"whats-changing",
"whats-different",
"whats-next",
"why-choose-openeverest",
"why-donate-at-all",
"why-nodeport",
"why-this-matters",
"word-cloud"
Expand Down
64 changes: 50 additions & 14 deletions layouts/_default/single.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,61 @@
{{ define "title" }}{{ .Title }} - {{ .Site.Title }}{{ end }}

{{ define "main" }}
<article class="container mx-auto px-4 py-16 max-w-5xl">
<article class="container mx-auto px-4 pb-16 pt-10 max-w-5xl">

{{ if and .Params.image .Params.image.url }}
<header class="relative mb-10 rounded-xl overflow-hidden shadow-lg" style="height:400px;">
<div class="absolute inset-0"
style="background-image:url('{{ .Params.image.url }}'); background-size:cover; background-position:center; filter:blur(2px) brightness(0.45); transform:scale(1.04);"></div>
<div class="absolute inset-0 flex flex-col justify-between px-8 pt-7 pb-8">
{{ if .Params.tags }}
<div class="flex flex-wrap gap-2">
{{ range .Params.tags }}
<a href="{{ "/tags/" | relURL }}{{ . | urlize }}" class="bg-white/20 text-white text-sm px-3 py-1 rounded-full hover:bg-white/30 transition backdrop-blur-sm">{{ . }}</a>
{{ end }}
</div>
{{ else }}
<div></div>
{{ end }}
<div>
<h1 class="text-4xl md:text-5xl font-bold text-white mb-3 drop-shadow-md">{{ .Title }}</h1>
<div class="text-sm flex flex-wrap items-center gap-1" style="color:#e5e7eb;">
<time datetime="{{ .Date.Format "2006-01-02" }}" style="color:#e5e7eb;">{{ .Date.Format "January 2, 2006" }}</time>
{{ if .Params.authors }}
<span class="mx-1" style="color:#e5e7eb;">•</span>
<span class="inline-flex items-center gap-2" style="color:#e5e7eb;">By
{{ range $index, $author := .Params.authors }}
{{ if $index }}, {{ end }}
{{ $authorSlug := $author | lower | replaceRE "[^a-z0-9]+" "-" }}
{{ $authorPage := $.Site.GetPage (printf "/authors/%s" $authorSlug) }}
{{ if $authorPage }}
<a href="{{ $authorPage.Permalink }}" class="inline-flex items-center gap-1 text-white hover:underline">
{{ if $authorPage.Params.avatar }}
<img src="{{ $authorPage.RelPermalink }}{{ $authorPage.Params.avatar }}" alt="{{ $authorPage.Title }}" class="w-6 h-6 rounded-full object-cover">
{{ end }}
<span>{{ $authorPage.Title }}</span>
</a>
{{ else }}
<span style="color:#e5e7eb;">{{ $author }}</span>
{{ end }}
{{ end }}
</span>
{{ end }}
</div>
{{ if .Params.image.attribution }}
<p class="text-xs mt-2" style="color:#9ca3af;">Image: <a href="{{ .Params.image.attribution }}" class="hover:underline" target="_blank">{{ .Params.image.attribution }}</a></p>
{{ end }}
</div>
</div>
</header>
{{ else }}
<header class="mb-8">
<h1 class="text-5xl font-bold mb-4 text-gray-900">{{ .Title }}</h1>
<div class="text-gray-600 mb-4">
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time>
{{ if .Params.authors }}
<span class="mx-2">•</span>
<span class="inline-flex items-center gap-2">By
<span class="inline-flex items-center gap-2">By
{{ range $index, $author := .Params.authors }}
{{ if $index }}, {{ end }}
{{ $authorSlug := $author | lower | replaceRE "[^a-z0-9]+" "-" }}
Expand All @@ -34,19 +81,8 @@ <h1 class="text-5xl font-bold mb-4 text-gray-900">{{ .Title }}</h1>
{{ end }}
</div>
{{ end }}
{{ if .Params.image }}
{{ if .Params.image.url }}
<figure class="mb-6">
<img src="{{ .Params.image.url }}" alt="{{ .Title }}" class="rounded-lg shadow-md w-full">
{{ if .Params.image.attribution }}
<figcaption class="text-sm text-gray-600 mt-2">
Image source: <a href="{{ .Params.image.attribution }}" class="text-blue-600 hover:underline" target="_blank">{{ .Params.image.attribution }}</a>
</figcaption>
{{ end }}
</figure>
{{ end }}
{{ end }}
</header>
{{ end }}

<div class="prose prose-lg max-w-none">
{{ .Content }}
Expand Down
53 changes: 34 additions & 19 deletions layouts/partials/percona-attribution.html
Original file line number Diff line number Diff line change
@@ -1,24 +1,39 @@

<section class="bg-[#00162b] py-16">
<div class="container mx-auto px-4 text-center">
<p class="text-white text-lg mb-6">
This open source project has been originally created by
</p>

<div class="mb-8 flex justify-center">
<img src="/images/Percona_logo_drk_bkgrd.svg" alt="Percona" class="h-12">
<div class="container mx-auto px-4">

<!-- 100% Open Source headline -->
<div class="text-center mb-12">
<h2 class="mb-4">
<span class="text-[#7790DE] text-5xl font-bold">100%</span>
<span class="text-white text-5xl font-bold ml-2">Open Source</span>
</h2>
<p class="text-white text-lg max-w-3xl mx-auto leading-relaxed">
OpenEverest is 100% open source and community-driven. All components are available under the Apache 2 license on
<a href="https://github.com/openeverest/openeverest" target="_blank" rel="noopener noreferrer" class="text-[#7790DE] hover:text-white underline transition-colors">GitHub</a>.
</p>
</div>

<div class="border-t border-white/10 max-w-4xl mx-auto mb-12"></div>

<!-- Two-column: Percona | CNCF -->
<div class="flex flex-col md:flex-row items-center justify-center max-w-4xl mx-auto">

<!-- Left: Percona -->
<div class="flex-1 flex flex-col items-center text-center px-8 py-6">
<p class="text-white/30 text-xs uppercase tracking-widest mb-6">Originally created by</p>
<img src="/images/Percona_logo_drk_bkgrd.svg" alt="Percona" class="h-12">
</div>

<!-- Vertical divider -->
<div class="w-px bg-white/10" style="min-height: 80px; align-self: stretch;"></div>

<!-- Right: CNCF -->
<div class="flex-1 flex flex-col items-center text-center px-8 py-6">
<p class="text-white/30 text-xs uppercase tracking-widest mb-6">CNCF Sandbox Project</p>
<img class="h-12" src="/images/cncf-logo.svg" alt="CNCF Logo">
</div>

</div>

<div class="border-t border-white/20 my-8 max-w-2xl mx-auto"></div>

<h2 class="mb-4">
<span class="text-[#7790DE] text-5xl font-bold">100%</span>
<span class="text-white text-5xl font-bold ml-2">Open Source</span>
</h2>

<p class="text-white text-lg max-w-3xl mx-auto leading-relaxed">
OpenEverest is 100% open source and community-driven. All components are available under the Apache 2 license on
<a href="https://github.com/openeverest/openeverest" target="_blank" rel="noopener noreferrer" class="text-[#7790DE] hover:text-white underline transition-colors">GitHub</a>.
</p>
</div>
</section>
Loading