Developer Guide
Learn how to create, test, and contribute new challenges to the Kubeasy platform.
Last updated: March 31, 2026View on GitHub
Welcome to the Kubeasy Developer Guide!
This guide will walk you through the process of creating new challenges for Kubeasy. Whether you're contributing to the official challenge repository or building custom challenges for your team, this guide covers everything you need to know.
What is a challenge?
A Kubeasy challenge is a self-contained, broken Kubernetes scenario that learners must fix.
Each challenge consists of:
- Initial manifests - The broken or incomplete Kubernetes resources
- Validation objectives - Criteria that define what "solved" means
- Metadata - Title, description, difficulty, estimated time
- Bypass protection - Kyverno policies to prevent cheating
Quick overview
Creating a challenge involves:
- Design the scenario - Identify a realistic Kubernetes problem to teach
- Write the manifests - Create the broken initial state
- Define objectives - Specify what "fixed" looks like
- Add bypass protection - Kyverno policies to prevent shortcuts
- Test locally - Ensure the challenge works as expected
- Submit - Open a pull request to the challenges repository
Who is this guide for?
This guide is for:
- Contributors who want to add new challenges to Kubeasy
- Educators building custom learning paths for their teams
- Kubernetes experts who want to share their experience through practical scenarios
You should have:
- Basic understanding of Kubernetes concepts
- Experience writing Kubernetes manifests
- Familiarity with Git and GitHub
What you'll learn
This guide covers:
- Challenge Structure - Understanding the anatomy of a challenge
- Creating Challenges - Step-by-step guide to building your first challenge
- Validation Rules - How to define success criteria
- Validation Reference - Complete validation type specifications
- Testing - Testing challenges locally before submission
- Contributing - Guidelines for submitting challenges to the official repository
Repository structure
The Kubeasy ecosystem consists of several repositories:
| Repository | Purpose |
|---|---|
| challenges | Challenge definitions and manifests |
| kubeasy-cli | CLI tool for local development and validation |
| website | Web platform and API |
| documentation | Documentation website (this site) |
Getting help
If you need help creating challenges:
- GitHub Issues: kubeasy-dev/challenges/issues
- Discussions: kubeasy-dev/challenges/discussions
Ready to create your first challenge? Start with the Challenge Structure guide.