Templates#
The framework ships two official templates. Choose the one that matches your delivery mode.
| Template | Delivery mode | Best for |
|---|---|---|
| Codespaces Template | GitHub Codespaces | Labs, workshops, self-paced content delivered via browser Codespace |
| App Training Template | Orbital + Dynatrace app | Scored, interactive trainings rendered inside the Dynatrace product |
Codespaces Template#
The Enablement Codespaces Template
The Enablement Codespaces Template is a ready-to-use GitHub repository designed to help you create, customize, and deliver hands-on enablements using GitHub Codespaces. It provides a robust starting point for trainers, solution architects, and educators to build interactive learning environments with minimal setup.
π What is the Codespaces Template?#
This template repository offers:
- A pre-configured
.devcontainerfor instant Codespaces launches - Example documentation and structure for enablement content
- GitHub Actions for CI/CD and documentation deployment
- Integration with Dynatrace and other cloud-native tools
- A clean starting point for your own enablement projects
π¦ Repository Overview#
Main features:
- .devcontainer/: All configuration for Codespaces and local dev containers
- docs/: MkDocs-based documentation, ready to extend
- .github/workflows/: CI/CD for integration tests and GitHub Pages deployment
- README.md: Project overview and quickstart
- mkdocs.yaml: Navigation and site configuration
For a complete file and folder breakdown, see the repository on GitHub.
π How to Use the Template#
- Create your own enablement repository
- Click "Use this template" on the GitHub repo
- Name your new repository and clone it locally
- Customize the content
- Edit the
docs/folder to add your enablement instructions, labs, and resources - Update
.devcontainer/devcontainer.jsonto add dependencies or secrets as needed
- Edit the
- Launch in Codespaces
- Click the Code button in your repo and select "Open with Codespaces"
- Your environment will be ready in seconds, with all tools and docs pre-installed
- Publish documentation
- Use the
installMKdocsfunction to install MkDocs inside the container and serve the documentation locally on port 8000, making it easy to write and preview your documentation. - Push changes to
mainto trigger GitHub Pages deployment (see Actions tab) - Your docs will be live at
https://<your-org>.github.io/<your-repo>/
- Use the
π TODOs in the Codebase#
Throughout the template repository, you will find TODO comments in various files. These guide you step-by-step as you create your own enablementsβreminding you where to add content, configure secrets, or customize scripts.
Tip: To make working with TODOs easier, install a TODO highlighting extension in VS Code, such as TODO Highlight or TODO Tree. These extensions help you quickly find and manage all TODOs in your project.
By following and resolving these TODOs, you can efficiently adapt the template to your specific enablement scenario.
π§βπ« Who is this for?#
- Trainers and educators creating hands-on labs
- Solution architects building demo environments
- Anyone seeking a fast, reproducible Codespaces-based enablement
π Documentation & Resources#
App Training Template#
The Enablement App Training Template
The Enablement App Training Template is a trainer-authoring scaffold for building interactive, scored trainings that run on the Orbital Operations server and render inside the Dynatrace app. A trainer who follows the template in order can have a working interactive lesson β shell checks, kubectl, DQL validation, and a scored assessment β within approximately 30 minutes.
π What is the App Training Template?#
This template is designed for content authors who want to deliver training inside the Dynatrace product itself, not through a separate browser tab. Learners interact with a live Kubernetes cluster and their Dynatrace tenant, get immediate feedback on every step, and receive a final scored assessment β all within the Dynatrace app.
The template exposes every interactive block type as a live, runnable example:
| Block type | What it does |
|---|---|
shell-verification |
Runs a shell command in the Orbital container and validates the output |
kubectl (interactive) |
Terminal tab β learner types commands against the live cluster |
kubectl (non-interactive) |
shell-verification with jsonpath/grep patterns |
dql-verification |
Runs a DQL query against the learner's Dynatrace tenant |
STEP_SETUP |
Runs framework functions before a page renders (credential loading, DynaKube generation) |
multiple-choice |
Inline knowledge check (no separate file needed) |
boundScenarioId |
Links a full scored assessment from .assessment/*.json |
| Custom functions | .devcontainer/util/my_functions.sh β fault injection, scenario setup, validation helpers |
hs-video |
Embedded video from the Orbital server |
dt-app deep links |
In-lesson buttons that open Dynatrace apps (Kubernetes, Services, Notebooks, etc.) |
π¦ Repository Overview#
- .assessment/: Scored assessment JSON files (MCQ + DQL questions, points, hints)
- .devcontainer/: devcontainer config,
post-create.sh,my_functions.sh - docs/: 5-lesson trainer guide +
AUTHORING.md+ORBITAL_AND_APP.md+REFERENCE_KUBERNETES_101.md - mkdocs.yaml: Nav and site config
- README.md: Trainer quickstart
π How to Use the Template#
- Create your training repository
- Click "Use this template" on the GitHub repo
- Name your new repository
enablement-<topic>in thedynatrace-wwseorg
- Open in Codespaces and follow the 5-lesson guide
00 β Getting Startedβ understand Orbital + Dynatrace app architecture01 β Lesson Anatomyβ block types, lifecycle, nav registration02 β Interactive Building Blocksβ click through every live example03 β Example Lessonβ see a complete lesson end-to-end04 β Publishing & Validationβ deploy to GitHub Pages, register with Orbital
- Replace example content with your training topic
- Publish to GitHub Pages with
deployGhdocs - Register with Orbital β contact the Orbital administrator with your repo URL
π§βπ« Who is this for?#
- Solutions Engineers building scored interactive trainings inside the Dynatrace app
- Content authors who want to use the reference training (
enablement-kubernetes-101) as a pattern without reverse-engineering it - Trainers delivering Orbital-hosted labs with live cluster access and Dynatrace tenant integration
π Documentation & Resources#
- Template Repository
- Trainer Guide (GitHub Pages)
- Authoring Reference
- Orbital & App Runtime
- Reference Training (kubernetes-101)
- Orbital Platform docs