Developer Guide
Learn how to create, test, and contribute new challenges to the Kubeasy platform.
Last updated: October 23, 2025View 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 rules - Criteria that define what "solved" means
- Metadata - Title, description, difficulty, estimated time
- Documentation - Context and learning objectives (optional)
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 validation - Specify what "fixed" looks like
- 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
- Testing - Testing challenges locally before submission
- Contributing - Guidelines for submitting challenges to the official repository
- Operator API - Technical reference for the Challenge Operator
Repository structure
The Kubeasy ecosystem consists of several repositories:
| Repository | Purpose |
|---|---|
| challenges | Challenge definitions and manifests |
| challenge-operator | Kubernetes operator for validation |
| kubeasy-cli | CLI tool for local development |
| website | Web platform and API |
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.