diff --git a/src/collections/resources/tutorials/contributor-training-meshery-ci-cd.mdx b/src/collections/resources/tutorials/contributor-training-meshery-ci-cd.mdx
new file mode 100644
index 0000000000000..36b6fad201276
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-ci-cd.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Meshery CI and CD"
+thumbnail: ../../../assets/images/tutorials/github.webp
+darkthumbnail: ../../../assets/images/tutorials/github.webp
+date: 2025-02-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-cli-e2e-testing.mdx b/src/collections/resources/tutorials/contributor-training-meshery-cli-e2e-testing.mdx
new file mode 100644
index 0000000000000..67ba712e4d4ca
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-cli-e2e-testing.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: End-to-end Testing in Meshery CLI"
+thumbnail: ../../../assets/images/tutorials/golang-meshery-ctl.webp
+darkthumbnail: ../../../assets/images/tutorials/golang-meshery-ctl.webp
+date: 2025-03-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-cli.mdx b/src/collections/resources/tutorials/contributor-training-meshery-cli.mdx
new file mode 100644
index 0000000000000..88d753931250b
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-cli.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Meshery CLI"
+thumbnail: ../../../assets/images/tutorials/intro-meshery-ctl.webp
+darkthumbnail: ../../../assets/images/tutorials/intro-meshery-ctl.webp
+date: 2025-01-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-docs.mdx b/src/collections/resources/tutorials/contributor-training-meshery-docs.mdx
new file mode 100644
index 0000000000000..6649fd1619141
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-docs.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Working with Meshery Docs"
+thumbnail: ../../../assets/images/tutorials/docs-jekyll.webp
+darkthumbnail: ../../../assets/images/tutorials/docs-jekyll.webp
+date: 2025-04-11 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-models.mdx b/src/collections/resources/tutorials/contributor-training-meshery-models.mdx
new file mode 100644
index 0000000000000..b1041c8f4a5a0
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-models.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Meshery Models"
+thumbnail: ../../../assets/images/tutorials/swagger-logo.webp
+darkthumbnail: ../../../assets/images/tutorials/swagger-logo.webp
+date: 2024-10-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-server.mdx b/src/collections/resources/tutorials/contributor-training-meshery-server.mdx
new file mode 100644
index 0000000000000..5af925985b6dd
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-server.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Meshery Server"
+thumbnail: ../../../assets/images/tutorials/all-repos-layer5.webp
+darkthumbnail: ../../../assets/images/tutorials/all-repos-layer5.webp
+date: 2024-11-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-ui-playwright.mdx b/src/collections/resources/tutorials/contributor-training-meshery-ui-playwright.mdx
new file mode 100644
index 0000000000000..14a590481d85a
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-ui-playwright.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: End-to-end Testing in Meshery UI using Playwright"
+thumbnail: ../../../assets/images/tutorials/layer5-walkthrough.webp
+darkthumbnail: ../../../assets/images/tutorials/layer5-walkthrough.webp
+date: 2025-01-15 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/contributor-training-meshery-ui.mdx b/src/collections/resources/tutorials/contributor-training-meshery-ui.mdx
new file mode 100644
index 0000000000000..ddc37fc0cba4b
--- /dev/null
+++ b/src/collections/resources/tutorials/contributor-training-meshery-ui.mdx
@@ -0,0 +1,28 @@
+---
+title: "Contributor Training: Meshery UI"
+thumbnail: ../../../assets/images/tutorials/intro-to-gatsby.webp
+darkthumbnail: ../../../assets/images/tutorials/intro-to-gatsby.webp
+date: 2024-12-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+type: Tutorial
+product: Meshery
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Tutorial Slides
+
+ Tutorial Recording
+ VIDEO
+
diff --git a/src/collections/resources/tutorials/deploy-aws-ec2.mdx b/src/collections/resources/tutorials/deploy-aws-ec2.mdx
new file mode 100644
index 0000000000000..cb87ed13acc87
--- /dev/null
+++ b/src/collections/resources/tutorials/deploy-aws-ec2.mdx
@@ -0,0 +1,67 @@
+---
+title: "Deploy AWS EC2 Instances with Meshery"
+thumbnail: ../../../assets/images/tutorials/golang-meshery-ctl.webp
+darkthumbnail: ../../../assets/images/tutorials/golang-meshery-ctl.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - AWS
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we use Meshery Playground to deploy AWS EC2 instances visually using Meshery's AWS provider integration.
+
+Prerequisites
+
+ Basic understanding of AWS EC2 and cloud infrastructure concepts.
+ Access to Meshery Playground .
+
+
+Objective
+Learn how to use Meshery to design and deploy AWS EC2 infrastructure visually.
+
+Steps
+
+Access Meshery Playground
+
+ Log in to Meshery Playground .
+ Click Explore to navigate to Kanvas.
+
+
+Add an EC2 Instance Component
+
+ Rename the design to a name of your choice.
+ Search for Instance under the AWS provider in Components.
+ Drag the EC2 Instance component onto the canvas and configure the instance type and region.
+
+
+Configure Credentials
+
+ Search for Secret and drag it onto the canvas.
+ Add your base64-encoded AWS credentials: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.
+ Connect the Secret to the EC2 Instance component.
+
+
+Deploy and Verify
+
+ Click Validate , then Deploy .
+ Click Visualize to monitor provisioned resources.
+
+
+Conclusion
+You have successfully deployed an AWS EC2 instance using Meshery Playground. Continue exploring at Meshery Playground .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/kubernetes-configmaps-secrets.mdx b/src/collections/resources/tutorials/kubernetes-configmaps-secrets.mdx
new file mode 100644
index 0000000000000..35d647d39a869
--- /dev/null
+++ b/src/collections/resources/tutorials/kubernetes-configmaps-secrets.mdx
@@ -0,0 +1,74 @@
+---
+title: "Understanding Kubernetes ConfigMaps and Secrets with Meshery"
+thumbnail: ../../../assets/images/tutorials/badge.webp
+darkthumbnail: ../../../assets/images/tutorials/badge.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Kubernetes
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we explore Kubernetes ConfigMaps and Secrets using Meshery Playground . ConfigMaps store non-sensitive config data while Secrets store sensitive information like passwords.
+
+Prerequisites
+
+ Basic understanding of Kubernetes Pods and Deployments.
+ Access to Meshery Playground .
+
+
+Objective
+Learn how to create and use Kubernetes ConfigMaps and Secrets to manage application configuration and sensitive data.
+
+Steps
+
+Access Meshery Playground
+
+ Log in to Meshery Playground .
+ Click Explore to navigate to Kanvas.
+
+
+Create a ConfigMap
+
+ Rename the design to a name of your choice.
+ Search for ConfigMap in Components and drag it onto the canvas.
+ Click the component and add a data entry with key ENVIRONMENT and value production.
+
+
+Create a Secret
+
+ Search for Secret and drag it onto the canvas.
+ Add a data entry with key DB_PASSWORD and value cGFzc3dvcmQ= (base64 for password).
+
+
+Mount into a Pod
+
+ Search for Pod and drag it onto the canvas.
+ Add a container with image nginx:latest.
+ Add environment variables sourced from the ConfigMap and Secret.
+ Connect the ConfigMap and Secret to the Pod using relationship arrows.
+
+
+Deploy and Verify
+
+ Click Validate , then Deploy .
+ Click Visualize , open an Interactive Terminal on the Pod and run env to confirm values are injected.
+
+
+Conclusion
+You have successfully created Kubernetes ConfigMaps and Secrets and mounted them into a Pod. Continue exploring at Meshery Playground .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/kubernetes-cronjobs.mdx b/src/collections/resources/tutorials/kubernetes-cronjobs.mdx
new file mode 100644
index 0000000000000..a4725f937476a
--- /dev/null
+++ b/src/collections/resources/tutorials/kubernetes-cronjobs.mdx
@@ -0,0 +1,61 @@
+---
+title: "Exploring Kubernetes CronJobs with Meshery"
+thumbnail: ../../../assets/images/tutorials/intro-to-gatsby.webp
+darkthumbnail: ../../../assets/images/tutorials/intro-to-gatsby.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Kubernetes
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we explore Kubernetes CronJobs using Meshery Playground . CronJobs run Jobs on a scheduled basis, similar to cron tasks in Unix systems.
+
+Prerequisites
+
+ Basic understanding of Kubernetes Jobs and scheduling concepts.
+ Access to Meshery Playground .
+
+
+Objective
+Learn how to create and manage Kubernetes CronJobs to schedule recurring tasks within a cluster.
+
+Steps
+
+Access Meshery Playground
+
+ Log in to Meshery Playground .
+ Click Explore to navigate to Kanvas.
+
+
+Create a CronJob
+
+ Rename the design to a name of your choice.
+ Search for CronJob in Components and drag it onto the canvas.
+ Configure: schedule * * * * *, image busybox:latest, command /bin/sh -c "echo Hello from CronJob", label app: my-cronjob.
+
+
+Deploy and Observe
+
+ Click Validate , then Deploy .
+ Click Visualize and filter by your label to see the CronJob and its spawned Jobs.
+ Select a completed Pod and click Stream Container Logs to verify the output.
+
+
+Conclusion
+You have successfully created and observed a Kubernetes CronJob using Meshery Playground. Continue exploring at Meshery Playground .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/kubernetes-deployments.mdx b/src/collections/resources/tutorials/kubernetes-deployments.mdx
new file mode 100644
index 0000000000000..18ded54542e43
--- /dev/null
+++ b/src/collections/resources/tutorials/kubernetes-deployments.mdx
@@ -0,0 +1,67 @@
+---
+title: "Exploring Kubernetes Deployments with Meshery"
+thumbnail: ../../../assets/images/tutorials/github.webp
+darkthumbnail: ../../../assets/images/tutorials/github.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Kubernetes
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we explore Kubernetes Deployments using Meshery Playground . Deployments provide declarative updates for Pods and ReplicaSets.
+
+Prerequisites
+
+
+Objective
+Learn how to create, scale, and update Kubernetes Deployments using Meshery Playground.
+
+Steps
+
+Access Meshery Playground
+
+ Log in to Meshery Playground .
+ Click Explore to navigate to Kanvas.
+
+
+Create a Deployment
+
+ Rename the design to a name of your choice.
+ Search for Deployment in Components and drag it onto the canvas.
+ Configure: name nginx-deployment, replicas 2, image nginx:latest, label app: nginx.
+ Click outside to close the modal.
+
+
+Deploy and Visualize
+
+ Click Validate , then Deploy .
+ Click Visualize and filter by app: nginx to see your Deployment and Pods.
+
+
+Scale the Deployment
+
+ Go back to Design and change replicas to 4.
+ Undeploy and Deploy again, then verify 4 Pods are running in Visualize.
+
+
+Conclusion
+You have successfully created and scaled a Kubernetes Deployment using Meshery Playground. Continue exploring at Meshery Playground .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/kubernetes-pods.mdx b/src/collections/resources/tutorials/kubernetes-pods.mdx
new file mode 100644
index 0000000000000..dd2efd80cf44b
--- /dev/null
+++ b/src/collections/resources/tutorials/kubernetes-pods.mdx
@@ -0,0 +1,103 @@
+---
+title: "Exploring Kubernetes Pods with Meshery"
+thumbnail: ../../../assets/images/tutorials/layer5-walkthrough.webp
+darkthumbnail: ../../../assets/images/tutorials/layer5-walkthrough.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Kubernetes
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+
+In this tutorial, we'll learn the fundamentals of Pods, the smallest deployable units in the Kubernetes ecosystem. Using Meshery Playground , an interactive live cluster environment, we'll perform hands-on labs to gain practical experience in deploying, managing, and understanding Pods.
+
+NOTE: This tutorial demonstrates stand-alone pods, i.e. pods not managed through deployments.
+
+Prerequisites
+
+
+ Basic understanding of containerization and Kubernetes concepts.
+ Access to the Meshery Playground . If you don't have an account, sign up at Meshery Playground .
+
+Lab Scenario
+
+Deploy and explore an NGINX pod in a Kubernetes cluster. Additionally, expose the pod through a service.
+
+Objective
+
+Learn how to create, manage, and explore Kubernetes Pods and Services within the context of a microservices architecture.
+
+Steps
+
+Access Meshery Playground
+
+
+ Log in to the Meshery Playground using your credentials.
+ Click Explore in the Cloud Native Playground tile to navigate to Kanvas .
+
+Create a Simple Stand-alone Pod
+
+
+ In the Kanvas screen, rename the design from Untitled Design to a name of your choice.
+ Click the Components tab and search for Pod .
+ Drag the Pod component from the search results to the design canvas.
+ Click the pod component to load the configuration modal and rename the pod if necessary.
+
+Add a Container to the Pod
+
+
+ Scroll down to the Containers section in the modal. Click + to add a container.
+ Expand Containers-0 and enter the container image: nginx:latest.
+ Give the container a name and add a unique label (e.g., app: my-pod). This helps filter your resources in a shared playground environment.
+ Click outside to close the modal.
+
+Validate and Deploy the Pod
+
+
+ Click Validate on the top toolbar. Ensure there are no errors.
+ Click the Deploy tab in the popup modal, then click Deploy again.
+
+Visualize the Pod
+
+
+ Click Visualize to open the visualization view.
+ Click the filter icon and select the label you set in step 7 to filter your resources.
+ Select the Details tab and click the pod to see its state, namespace, image details, restarts, and uptime.
+
+Connect to the Pod
+
+
+ Select the pod, then click the Actions tab.
+ Click Open Interactive Terminal to connect to the container.
+ Click Stream Container Logs to view live logs alongside the terminal.
+
+Expose the Pod with a Service
+
+
+ Go back to the Design view. Search for service in Components and drag it to the canvas.
+ Click the service component, rename it, and set Type to NodePort .
+ Click + to add a Port. Set both Port and Target Port to 80.
+ Add a Selector with the same key-value pair used as the pod label (e.g., app: my-pod).
+ Link the service to the pod by hovering over the service component's green dot, clicking the arrow, selecting Network , and connecting it to the pod.
+ Undeploy and Deploy again to apply the updated design.
+
+Conclusion
+
+Congratulations! You've successfully explored Kubernetes Pods using Meshery Playground. You deployed a pod, connected to it via terminal, streamed its logs, and exposed it through a NodePort service. Continue exploring more cloud native scenarios at Meshery Playground .
+
+This tutorial is sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/kubernetes-services.mdx b/src/collections/resources/tutorials/kubernetes-services.mdx
new file mode 100644
index 0000000000000..a7698b2e202c1
--- /dev/null
+++ b/src/collections/resources/tutorials/kubernetes-services.mdx
@@ -0,0 +1,73 @@
+---
+title: "Exploring Kubernetes Services with Meshery"
+thumbnail: ../../../assets/images/tutorials/intro-meshery-ctl.webp
+darkthumbnail: ../../../assets/images/tutorials/intro-meshery-ctl.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Kubernetes
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we explore Kubernetes Services using Meshery Playground . Services provide stable network endpoints for Pods.
+
+Prerequisites
+
+ Basic understanding of Kubernetes Pods and Deployments.
+ Access to Meshery Playground .
+
+
+Objective
+Learn how to create and configure Kubernetes Services to expose applications inside a cluster.
+
+Steps
+
+Access Meshery Playground
+
+ Log in to Meshery Playground .
+ Click Explore to navigate to Kanvas.
+
+
+Create a Deployment
+
+ Rename the design to a name of your choice.
+ Search for Deployment in Components and drag it onto the canvas.
+ Configure: name web-deployment, replicas 2, image nginx:latest, label app: web.
+
+
+Create a ClusterIP Service
+
+ Search for Service and drag it onto the canvas.
+ Configure: name web-clusterip, type ClusterIP, port 80, targetPort 80, selector app: web.
+ Connect the Service to the Deployment using the relationship arrow.
+
+
+Create a NodePort Service
+
+ Drag another Service onto the canvas.
+ Configure: name web-nodeport, type NodePort, port 80, targetPort 80, selector app: web.
+
+
+Deploy and Visualize
+
+ Click Validate , then Deploy .
+ Click Visualize and filter by app: web to inspect resources.
+
+
+Conclusion
+You have successfully created Kubernetes Services using Meshery Playground. Continue exploring at Meshery Playground .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/collections/resources/tutorials/layer5-academy-learning-paths.mdx b/src/collections/resources/tutorials/layer5-academy-learning-paths.mdx
new file mode 100644
index 0000000000000..0808a44209b25
--- /dev/null
+++ b/src/collections/resources/tutorials/layer5-academy-learning-paths.mdx
@@ -0,0 +1,56 @@
+---
+title: "Layer5 Academy: Learning Paths and Challenges"
+thumbnail: ../../../assets/images/tutorials/all-repos-layer5.webp
+darkthumbnail: ../../../assets/images/tutorials/all-repos-layer5.webp
+date: 2024-06-01 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - Tutorial
+ - Academy
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+ Overview
+ Layer5 Academy is a structured learning platform built into Layer5 Cloud. It offers three types of content to help you skill up in cloud native technologies:
+
+ Learning Paths — Comprehensive curricula that build knowledge from the ground up, covering topics from Kubernetes fundamentals to advanced Meshery usage.
+ Challenges — Hands-on, practical exercises focused on solving specific problems in a scenario-based format. Completing a challenge earns you a digital badge.
+ Certifications — Formal assessments that validate your skills and provide recognized credentials, including the Certified Meshery Contributor (CMC) certification.
+
+ All learning materials — learning paths, challenges, and exams — are completely free. The only optional paid item is the issuance of an official certificate after passing a Certification exam.
+ Getting Started
+
+ Sign up or log in at Layer5 Cloud .
+ Navigate to the Academy overview .
+ Browse the catalog — use the Content Type filter to choose between Learning Paths, Challenges, and Certifications.
+ Enroll in a learning path or challenge that matches your goals.
+
+ Featured Learning Paths
+
+ Cloud Native Fundamentals — Covers Kubernetes core concepts, workloads, networking, and storage. Ideal for beginners.
+ Meshery Playground Hands-on — Guided labs using Meshery Playground to deploy and manage cloud native infrastructure visually.
+ Contributing to Meshery — Walks through the contributor journey, from setting up your environment to submitting your first pull request.
+
+ Challenges
+ Challenges are practical exercises structured around specific problem scenarios. Each completed challenge earns a digital badge you can share on your professional profile.
+ Browse all available challenges at cloud.layer5.io/academy/overview .
+ Certified Meshery Contributor (CMC)
+ The CMC certification validates technical proficiency in contributing to the Meshery open source project. It consists of five exams covering Meshery's major architectural domains:
+
+ Meshery Server
+ Meshery CLI (mesheryctl)
+ Meshery UI
+ Meshery Models
+ Meshery Extensibility
+
+ Learn more and start your certification journey at Layer5 Academy .
+
diff --git a/src/collections/resources/tutorials/publish-to-artifacthub.mdx b/src/collections/resources/tutorials/publish-to-artifacthub.mdx
new file mode 100644
index 0000000000000..9774fbcbaf8f8
--- /dev/null
+++ b/src/collections/resources/tutorials/publish-to-artifacthub.mdx
@@ -0,0 +1,65 @@
+---
+title: "Publishing Meshery Designs to ArtifactHub"
+thumbnail: ../../../assets/images/tutorials/swagger-logo.webp
+darkthumbnail: ../../../assets/images/tutorials/swagger-logo.webp
+date: 2024-02-22 10:30:05 -0530
+category: Cloud Native
+tags:
+ - Meshery
+ - ArtifactHub
+ - Tutorial
+type: Tutorial
+product: Meshery
+technology: Kubernetes
+featured: false
+published: true
+resource: true
+---
+
+import { ResourcesWrapper } from "../Resources.style.js";
+
+
+
+Introduction
+In this tutorial, we learn how to publish Meshery Designs to ArtifactHub , a platform for finding and sharing cloud native packages and configurations.
+
+Prerequisites
+
+ A Meshery design ready to publish.
+ A GitHub account and a public repository.
+ An ArtifactHub account.
+
+
+Objective
+Learn how to export a Meshery Design and publish it to ArtifactHub so others can discover and reuse your infrastructure patterns.
+
+Steps
+
+Export Your Meshery Design
+
+ Log in to Meshery Playground and open your design in Kanvas.
+ Click the Export button in the toolbar.
+ Save the exported .yaml file to your local machine.
+
+
+Set Up a GitHub Repository
+
+ Create a new public GitHub repository (e.g., my-meshery-designs).
+ Add your exported .yaml design file to the repository.
+ Create an artifacthub-repo.yml file in the repository root.
+ Commit and push both files to the repository.
+
+
+Register Your Repository on ArtifactHub
+
+ Log in to ArtifactHub .
+ Click your profile icon and select Control Panel .
+ Click Add repository , enter a display name and the GitHub URL to your designs directory.
+ Click Add . ArtifactHub will index your designs within a few minutes.
+
+
+Conclusion
+Your Meshery Design is now published on ArtifactHub and discoverable by the cloud native community. Continue sharing at ArtifactHub .
+Sourced from the Meshery documentation .
+
+
diff --git a/src/utils/redirects.yaml b/src/utils/redirects.yaml
index 2e7c94f642045..c053035dbfd03 100644
--- a/src/utils/redirects.yaml
+++ b/src/utils/redirects.yaml
@@ -28,7 +28,7 @@ redirects:
redirectInBrowser: true
isPermanent: true
- fromPath: "/learn/service-mesh-labs"
- toPath: "/learn/kanvas-labs"
+ toPath: "/learn/cloud-native-labs"
redirectInBrowser: true
isPermanent: true
- fromPath: "/meshery"
@@ -227,3 +227,7 @@ redirects:
toPath: "/cloud-native-management/kanvas/collaborate/peer-reviews"
redirectInBrowser: true
isPermanent: true
+ - fromPath: "/learn/cloud-native-labs"
+ toPath: "/learn/kanvas-labs"
+ redirectInBrowser: true
+ isPermanent: true