Skip to content

Commit 4f5a5f1

Browse files
Merge branch 'master' into chore/contributing-version-guardrail
2 parents ff98763 + 129fb81 commit 4f5a5f1

21 files changed

Lines changed: 487 additions & 187 deletions

File tree

gatsby-node.js

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
146146
}
147147
) {
148148
nodes {
149+
frontmatter {
150+
category
151+
}
149152
fields {
150153
slug
151154
}
@@ -386,6 +389,22 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
386389
const blogs = res.data.blogPosts.nodes;
387390
const resources = res.data.resourcePosts.nodes;
388391
const news = res.data.newsPosts.nodes;
392+
393+
const VALID_NEWS_CATEGORIES = new Set(["Coverage", "Press Release"]);
394+
const invalidNewsItems = news.filter(
395+
({ frontmatter }) => !VALID_NEWS_CATEGORIES.has(frontmatter.category),
396+
);
397+
if (invalidNewsItems.length > 0) {
398+
invalidNewsItems.forEach(({ frontmatter, internal }) => {
399+
reporter.error(
400+
`Invalid news category "${frontmatter.category}" in ${internal.contentFilePath}. Must be one of: ${[...VALID_NEWS_CATEGORIES].join(", ")}.`,
401+
);
402+
});
403+
reporter.panicOnBuild(
404+
"News category validation failed. Fix the categories listed above.",
405+
);
406+
return;
407+
}
389408
const books = res.data.bookPosts.nodes;
390409
const events = res.data.eventPosts.nodes;
391410
const programs = res.data.programPosts.nodes;
@@ -863,23 +882,20 @@ exports.onCreateNode = ({ node, actions, getNode }) => {
863882
value: collection,
864883
});
865884

866-
// Normalize blog date to ISO string for stable sort order across build environments (fixes production blog order)
867-
if (collection === "blog") {
868-
let dateForSort = "1970-01-01T00:00:00.000Z";
869-
if (node.frontmatter?.date != null) {
870-
try {
871-
const parsed = new Date(node.frontmatter.date).toISOString();
872-
if (!Number.isNaN(Date.parse(parsed))) dateForSort = parsed;
873-
} catch {
874-
// keep fallback
875-
}
885+
let dateForSort = "1970-01-01T00:00:00.000Z";
886+
if (node.frontmatter?.date != null) {
887+
try {
888+
const parsed = new Date(node.frontmatter.date).toISOString();
889+
if (!Number.isNaN(Date.parse(parsed))) dateForSort = parsed;
890+
} catch {
891+
// Keep fallback.
876892
}
877-
createNodeField({
878-
name: "dateForSort",
879-
node,
880-
value: dateForSort,
881-
});
882893
}
894+
createNodeField({
895+
name: "dateForSort",
896+
node,
897+
value: dateForSort,
898+
});
883899

884900
if (collection !== "content-learn") {
885901
let slug = "";
-1020 KB
Loading
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
---
2+
title: "Meet the Maintainer: Sangram Rath"
3+
subtitle: "An interview series with Layer5 Maintainers"
4+
date: 2026-03-26 10:30:05 -0530
5+
author: Mia Grenell
6+
thumbnail: ./sangram-rath-meshery-maintainer.png
7+
darkthumbnail: ./sangram-rath-meshery-maintainer.png
8+
description: Meet the Maintainer series with Layer5 Maintainer, Sangram Rath
9+
type: Blog
10+
category: Open Source
11+
tags:
12+
- Open Source
13+
- Community
14+
- Meet The Maintainer
15+
featured: false
16+
published: true
17+
---
18+
19+
import { BlogWrapper } from "../../Blog.style.js";
20+
import img from "./sangram-rath-meshery-maintainer.png";
21+
import { MeetTheMaintainer } from "../../MeetTheMaintainer.style.js";
22+
import { Link } from "gatsby";
23+
import ForkLift from "../../../../assets/images/app/hero/forklift.svg";
24+
25+
<BlogWrapper>
26+
<MeetTheMaintainer>
27+
28+
<div className="intro">
29+
Continuing in our Meet the Maintainer series, we have{" "}
30+
<Link to="/community/members/sangram-rath">Sangram Rath</Link>. Sangram is a
31+
maintainer of <Link to="/cloud-native-management/meshery">Meshery CI</Link>.
32+
In this interview, we get to know Sangram a little better and learn about his
33+
journey as an open source project maintainer in the Layer5 community.
34+
</div>
35+
36+
<div className="interviewer">
37+
<span>Mia:</span>
38+
Sangram, thank you for taking the time to join me today. While many people, both within and beyond the Layer5 community, have witnessed the impact of your contributions, they may not know the story behind who you are and how you became a maintainer. Could you share your journey with us? How did you discover the Layer5 community, and what inspired you to stay?
39+
</div>
40+
41+
<div className="interviewee">
42+
<span>Sangram:</span>
43+
"My work requires me to design solutions for cloud and cloud-native platforms like Kubernetes, OpenShift, AWS, Azure, and Google. And to design, visualize and deploy them, I am always exploring different tools, mostly open-source, which is when I stumbled upon Meshery, the community, and Layer5, the company behind it. Kanvas (then MeshMap), the collaborative designing and visualization extension of Mesery, is what I was mostly interested about.
44+
I soon found out that Meshery was extensive, young and provided a lot of opportunities to contribute with minimal red taping. And so it has been over 2 years with the community so far."
45+
</div>
46+
47+
<div className="interviewer">
48+
<span>Mia:</span>
49+
You're a <Link to="/cloud-native-management/meshery">Meshery CI</Link> maintainer. What does being a Meshery CI maintainer mean to you?
50+
</div>
51+
52+
<div className="interviewee">
53+
<span>Sangram:</span>
54+
"Being a maintainer is generally about empowering contributors to be successful and in a project like Meshery which has many sub-projects and numerous extensions, it involves balancing security and stability with agility. This is achieved through automation and observability of various steps using CI pipelines.
55+
Apart from contributing to CI, I also contribute to docs and security."
56+
</div>
57+
58+
<div className="interviewer">
59+
<span>Mia:</span>
60+
Have you worked with any other open source project? How does Layer5 compare?
61+
</div>
62+
63+
<div className="interviewee">
64+
<span>Sangram:</span>
65+
"While I did start contributing to OpenStack many years back, I couldn’t spend much time then due to work and other commitments. Meshery (and Layer5) in many ways is the first open source project I got to meaningfully contribute."
66+
</div>
67+
68+
<div className="interviewer">
69+
<span>Mia:</span>
70+
<Link to="/projects">Layer5 </Link> has a number of active, open source projects. You’ve been consistently contributing to a few of them. Which one(s) are you currently focusing on?
71+
</div>
72+
73+
<div className="interviewee">
74+
<span>Sangram:</span>
75+
"Meshery continues to be the primary project I work on along with Layer5 Cloud."
76+
</div>
77+
78+
<div className="interviewer">
79+
<span>Mia:</span>
80+
What’s the coolest Meshery CI demo you have done/seen?
81+
</div>
82+
83+
<div className="interviewee">
84+
<span>Sangram:</span>
85+
"Deploying the complete discourse stack using Meshery Kanvas has to be one of my favorites since I worked on creating it. The design deploys all components of the stack including persistent storage."
86+
</div>
87+
88+
<div className="interviewer">
89+
<span>Mia:</span>
90+
What is your favorite feature or aspect of the CI/CD pipeline in this project, and why?
91+
</div>
92+
93+
94+
<div className="interviewee">
95+
<span>Sangram:</span>
96+
"The use of GitHub actions for our workflows is my favourite mostly because of its simplicity and tight integration with our VCS, GitHub. GitHub actions provide all of the CI/CD capabilities Meshery needs at the moment like unified identity, pipeline security, native event-driven approach, the availability of community actions that can be simply references and zero infrastructure overhead for runners. The result is a faster feedback loop for the developers."
97+
</div>
98+
99+
<div className="interviewer">
100+
<span>Mia:</span>
101+
What is your hot tip for working with Meshery that others may not know?
102+
</div>
103+
104+
<div className="interviewee">
105+
<span>Sangram:</span>
106+
"Don’t rush to pick an issue and contribute, especially if you are new to open-source contributions and the frameworks/technologies/tools/languages Meshery uses. Explore Meshery, Kanvas and other related extensions to understand how it works. Through this process read the docs, attend weekly meetings and get involved with the community. This helps you find your foot and get clarity on contributions."
107+
</div>
108+
109+
<div className="interviewer">
110+
<span>Mia:</span>
111+
Where do you see opportunities for contributors to actively engage and contribute to the CI pipeline within the Meshery and Layer5 community?
112+
</div>
113+
114+
<div className="interviewee">
115+
<span>Sangram:</span>
116+
"CI pipelines are in many ways the first reviewer contributors encounter and there’s always opportunities to make this experience better. As of this time, there are opportunities to contribute to the BATS (Bash Automated Testing System) tests we use for mesheryctl (CLI) edge cases, improve reusability of GitHub actions, consolidate and/or decouple GitHub actions, improve readability of the CI workflows, and implement deeper security measures into the CI pipelines in line with DevSecOps practices."
117+
</div>
118+
119+
<div className="interviewer">
120+
<span>Mia:</span>
121+
What’s the emoji you use most often? Do you prefer movies or books? Would you consider yourself a morning person or a night owl? Over the past year, what’s a project or accomplishment you’re particularly proud of?
122+
</div>
123+
124+
<div className="interviewee">
125+
<span>Sangram:</span>
126+
"I am not a big fan of emojis but I definitely end up using quite a bit in my interactions with the community on slack. Check mark, +1, thumbs up, and thank you are some common ones. Books first and then movies. "
127+
</div>
128+
129+
130+
131+
<div className="interviewer">
132+
<span>Mia:</span>
133+
Do you have any advice for individuals hopeful to become Meshery CI contributors or potentially maintainers?
134+
</div>
135+
136+
<div className="interviewee">
137+
<span>Sangram:</span>
138+
Focus on making high-quality contributions that add value to the project,
139+
whether they are big or small. Take time to understand the ecosystem, stay
140+
consistent, and contribute in ways that help both the project and the people
141+
working in it.
142+
</div>
143+
144+
<div className="interviewer">
145+
<span>Mia:</span>
146+
In other words, whether your contribution is big or small, it sounds like aiming for high-quality contributions that add value to the projects is key.
147+
</div>
148+
149+
<div className="interviewee">
150+
<span>Sangram:</span>
151+
"Yes, but it is mutually beneficial as well. Contributions also provide value to contributors in many ways. They are a public proof of their skills, provide access to great mentorship, present networking opportunities, scholarships and sometimes even result in career growth through jobs. Projects like Meshery offer paid internships through LFX and GSoC which adds a lot of value to students and early-career professionals."
152+
</div>
153+
154+
<div className="note">
155+
<img src={ForkLift} height="100px" />
156+
The Meshery project moves at an impressive pace thanks to maintainers like Sangram. Be like Sangram. Join the <a href="https://slack.layer5.io">Layer5 Slack</a> and say "hi".
157+
</div>
158+
159+
</MeetTheMaintainer>
160+
</BlogWrapper>
161+
162+
163+
164+
358 KB
Loading

src/collections/integrations/k8gb/index.mdx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ components: [
2020
"colorIcon": "icons/components/gslb/icons/color/gslb-color.svg",
2121
"whiteIcon": "icons/components/gslb/icons/white/gslb-white.svg",
2222
"description": "",
23-
},
24-
{
25-
"name": "zone-delegation",
26-
"colorIcon": "icons/components/zone-delegation/icons/color/zone-delegation-color.svg",
27-
"whiteIcon": "icons/components/zone-delegation/icons/white/zone-delegation-white.svg",
28-
"description": "",
2923
}]
3024
featureList: [
3125
"Provides a security benchmark for Kubernetes",

src/collections/news/2025/2025-11-12-meshery-enterprise/index.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ date: 2025-11-12 19:00:00 +0530
55
author: Cloud Native Now
66
thumbnail: ./Layer5-Kanvas-Designer-img.webp
77
darkthumbnail: ./Layer5-Kanvas-Designer-img.webp
8-
category: "Press Release"
8+
category: Coverage
99
description: "Announced at KubeCon + CloudNativeCon North America 2025, Kanvas extends the Meshery framework with visual tools, collaborative workspaces, and role-based access control for managing Kubernetes environments"
10+
source_url: https://cloudnativenow.com/features/layer5-debuts-enterprise-edition-of-meshery-for-configuring-kubernetes/
1011
tags:
1112
- Announcements
1213
- Kanvas

src/collections/news/2025/2025-11-16-cncf-honors-innovators-and-defenders-community-awards/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
title: "CNCF Honors Innovators and Defenders with 2025 Community Awards at KubeCon + CloudNativeCon North America"
33
subtitle: "CNCF recognizes community leaders across the cloud native ecosystem, including Layer5 founder Lee Calcote with the inaugural Outstanding Mentor Award."
44
date: 2025-11-16 08:00:00 -0530
5-
author: The Newsroom
5+
author: Cloud Native Computing Foundation (CNCF)
66
thumbnail: ./kubecon-2025.webp
77
darkthumbnail: ./kubecon-2025.webp
8-
category: "Community Recognition"
8+
category: Coverage
99
description: "CNCF’s 2025 Community Awards at KubeCon + CloudNativeCon North America spotlights contributors, end users, mentors, and community heroes, with Layer5 founder Lee Calcote honored for his mentorship leadership."
1010
tags:
1111
- Announcements

src/collections/news/2025/2025-11-23-kubecon-2025-cncf-to-standardize-ai-workloads/index.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ date: 2025-11-23 06:00:00 +0530
55
author: ITOps Times
66
thumbnail: ./kubecon25.webp
77
darkthumbnail: ./kubecon25.webp
8-
category: "News Press"
8+
category: Coverage
99
eurl: https://itopstimes.com/kubernetes/kubecon-2025-cncf-to-standardize-ai-workloads/
1010
source_url: https://itopstimes.com/kubernetes/kubecon-2025-cncf-to-standardize-ai-workloads/
1111
tags:
@@ -80,7 +80,7 @@ Buoyant also announced the availability of LinkerD for .NET applications on Wind
8080

8181
---
8282

83-
## **Improving Configuration Management**
83+
## Improving Configuration Management
8484

8585
Founding member of the Technical Oversight Committee (TOC) and GitOps creator Alexis Richardson returned to KubeCon to launch his new product, **ConfigHub**, which provides a “single source of truth” for Kubernetes as well as other infrastructure configuration data.
8686

@@ -98,7 +98,7 @@ Similarly, Lee Calcote, CEO of Layer5, the company behind the CNCF Meshery proje
9898

9999
---
100100

101-
## **Next Level Observability for Kubernetes**
101+
## **Next Level Observability for Kubernetes
102102

103103
A lot of the current projects and vendor product focus appears to be on “next level” capabilities i.e. assuming Kubernetes is already widely used as the cloud deployment platform, and looking to solve next-level challenges.
104104

src/collections/news/2025/2025-12-01-cncf-honours-cloud-native-pioneers-2025-community-awards/index.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
title: "CNCF honours cloud native pioneers at 2025 community awards"
3-
subtitle: "Layer5 founder Lee Calcote receives inaugural Outstanding Mentor Award among diverse honorees shaping cloud native technology."
3+
subtitle: ""
44
date: 2025-12-01 08:00:00 -0530
5-
author: The Newsroom
5+
author: ChannelLife Canada
66
thumbnail: ./channellife-cncf-2025.webp
77
darkthumbnail: ./channellife-cncf-2025.webp
8-
category: "Press Coverage"
9-
description: "ChannelLife covers CNCF's 2025 Community Awards, highlighting Layer5 founder Lee Calcote's recognition with the inaugural Outstanding Mentor Award for supporting over 60 mentees."
8+
category: Coverage
9+
description: "ChannelLife covers CNCF's 2025 Community Awards, highlighting Layer5 founder Lee Calcote's recognition with the inaugural Outstanding Mentor Award for supporting hundreds of mentees."
10+
eurl: https://channellife.ca/story/cncf-honours-cloud-native-pioneers-at-2025-community-awards
1011
tags:
1112
- Press
1213
- CNCF

src/collections/news/2026/2026-01-21-docker-kanvas-kubernetes-dominance/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
title: "Docker Kanvas Challenges Helm and Kustomize for Kubernetes Dominance"
33
subtitle: "InfoQ covers Docker's launch of Kanvas, developed with Layer5, marking a shift toward Infrastructure as Code"
44
date: 2026-01-21 10:00:00 -0530
5-
author: The Newsroom
5+
author: InfoQ
66
thumbnail: ./docker-kanvas-infoq.webp
77
darkthumbnail: ./docker-kanvas-infoq.png
88
eurl: https://www.infoq.com/news/2026/01/docker-kanvas-cloud-deployment/
99
source_url: https://www.infoq.com/news/2026/01/docker-kanvas-cloud-deployment/
10-
category: "Press Coverage"
10+
category: Coverage
1111
description: "Docker has launched Kanvas, a new platform designed to bridge the gap between local development and cloud production. By automating the conversion of Docker Compose files into Kubernetes artefacts, the tool challenges established solutions like Helm and Kustomize. Developed with Layer5, it marks a shift toward Infrastructure as Code, offering visualisations to simplify cloud-native deployments."
1212
tags:
1313
- Press

0 commit comments

Comments
 (0)