Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .devcontainer/post-create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,5 @@ set -euo pipefail

lib/shared/init.sh --version v0.17.0 # https://github.com/charmbracelet/gum/releases

echo "→ Installing mkdocs-material..."
pip install --quiet mkdocs-material mkdocs-monorepo-plugin

echo "✓ Done! Run 'mkdocs serve' to start the docs server."
echo "✓ Done!"

2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ body:
attributes:
label: Where?
description: Link to the relevant page, file, or adventure level.
placeholder: "e.g. https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/beginner"
placeholder: "e.g. https://offon.dev/adventures/echoes-lost-in-orbit/levels/beginner"
validations:
required: true
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/improvement.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ body:
attributes:
label: Where?
description: Link to the relevant page, file, or adventure level.
placeholder: "e.g. https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/beginner"
placeholder: "e.g. https://offon.dev/adventures/echoes-lost-in-orbit/levels/beginner"
validations:
required: true
- type: textarea
Expand Down
30 changes: 0 additions & 30 deletions .github/workflows/deploy-docs.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/idea-tracking-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
'',
'## Want to build it?',
'',
'Comment on this issue to claim it, then follow the [Building Adventures](https://dynatrace-oss.github.io/open-ecosystem-challenges/contributing/adventures/) guide.',
'Comment on this issue to claim it, then follow the [Building Adventures](https://github.com/dynatrace-oss/open-ecosystem-challenges/blob/main/CONTRIBUTING.md#build-a-new-adventure) guide.',
'',
'**Each level should be a separate PR.** Reference this issue with `Part of #<issue>` in earlier PRs and `Closes #<issue>` in the final one.',
].join('\n'),
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/walkthrough-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
'',
'## How to contribute',
'',
'Comment on this issue to claim it, then follow the [Solution Walkthroughs](https://dynatrace-oss.github.io/open-ecosystem-challenges/contributing/solution-walkthroughs/) guide.',
'Comment on this issue to claim it, then follow the [Solution Walkthroughs](https://github.com/dynatrace-oss/open-ecosystem-challenges/blob/main/CONTRIBUTING.md#write-a-solution-walkthrough) guide.',
'',
'A walkthrough can be:',
"- **External content** — a blog post, video, or any public resource. Link to it from the adventure's solutions page.",
Expand Down
365 changes: 352 additions & 13 deletions CONTRIBUTING.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ headaches.

## 🚀 Ready to Start?

[Choose your adventure](https://dynatrace-oss.github.io/open-ecosystem-challenges/) and begin learning!
[Choose your adventure](https://offon.dev/adventures/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/01-echoes-lost-in-orbit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ ready to go.

## 🚀 Ready to Start?

[Choose your level](https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/) and begin learning!
[Choose your level](https://offon.dev/adventures/echoes-lost-in-orbit/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/01-echoes-lost-in-orbit/beginner/smoke-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ OBJECTIVE="By the end of this level, you should:
- Make the system resilient so Argo CD automatically reverts manual changes made to the cluster
- Confirm that updates happen automatically without leaving stale resources behind"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/beginner"
DOCS_URL="https://offon.dev/adventures/echoes-lost-in-orbit/levels/beginner"

print_header \
'Challenge 01: Echoes Lost in Orbit' \
Expand Down
6 changes: 3 additions & 3 deletions adventures/01-echoes-lost-in-orbit/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ independent — pick your level and start wherever you feel comfortable!
The Echo Server is misbehaving. Both environments seem to be down, and messages are silent. Your mission: investigate
the ArgoCD configuration and restore proper multi-environment delivery.

[**Start the Beginner Challenge**](./beginner.md){ .md-button .md-button--primary }
[**Start the Beginner Challenge**](./beginner.md)

### 🟡 Intermediate: The Silent Canary

Expand All @@ -51,7 +51,7 @@ After fixing the communication outage, the Intergalactic Union welcomed a new sp
team attempted to deploy their language files using a progressive delivery system, but the rollout is failing. Your
mission: debug the broken canary deployment and bring the Zephyrians' voices online.

[**Start the Intermediate Challenge**](./intermediate.md){ .md-button .md-button--primary }
[**Start the Intermediate Challenge**](./intermediate.md)

### 🔴 Expert: Echoes in the Dark

Expand All @@ -62,5 +62,5 @@ After fixing the Zephyrian communications, word of your progressive release mast

They want to apply progressive delivery to their mission-critical service: **HotROD** (Hyperspace Operations & Transport - Rapid Orbital Dispatch), an interstellar ride-sharing service handling dispatch requests across thousands of star systems. Every millisecond of latency matters, and any error could strand travelers between dimensions.

[**Start the Expert Challenge**](./expert.md){ .md-button .md-button--primary }
[**Start the Expert Challenge**](./expert.md)

2 changes: 1 addition & 1 deletion adventures/01-echoes-lost-in-orbit/expert/smoke-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ OBJECTIVE="By the end of this level, you should have:
- Error rate thresholds (< 5%)
- Latency thresholds for the 95th percentile (< 1000ms)"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/expert"
DOCS_URL="https://offon.dev/adventures/echoes-lost-in-orbit/levels/expert"

print_header \
'Challenge 01: Echoes Lost in Orbit' \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OBJECTIVE="By the end of this level, you should have:
- Two working PromQL queries in the AnalysisTemplate that validate application health during releases
- All rollouts complete successfully"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/01-echoes-lost-in-orbit/intermediate"
DOCS_URL="https://offon.dev/adventures/echoes-lost-in-orbit/levels/intermediate"

print_header \
'Challenge 01: Echoes Lost in Orbit' \
Expand Down
11 changes: 0 additions & 11 deletions adventures/01-echoes-lost-in-orbit/mkdocs.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion adventures/02-building-cloudhaven/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ The entire **infrastructure is pre-provisioned in your Codespace** — OpenTofu

## 🚀 Ready to Start?

[Choose your level](https://dynatrace-oss.github.io/open-ecosystem-challenges/02-building-cloudhaven/) and begin learning!
[Choose your level](https://offon.dev/adventures/building-cloudhaven/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/02-building-cloudhaven/beginner/smoke-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ OBJECTIVE="By the end of this level, you should:
- Store state remotely in a GCS backend following best practices so the Guild can collaborate
- Resolve all TODOs in the code and successfully run tofu apply"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/02-building-cloudhaven/beginner"
DOCS_URL="https://offon.dev/adventures/building-cloudhaven/levels/beginner"

print_header \
'Challenge 02: Building CloudHaven' \
Expand Down
2 changes: 1 addition & 1 deletion adventures/02-building-cloudhaven/docs/beginner.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Your Codespace comes pre-configured with the following tools to help you solve t

Quick start:

- Fork the [repo](https://dynatrace-oss.github.io/open-ecosystem-challenges/)
- Fork the [repo](https://github.com/dynatrace-oss/open-ecosystem-challenges)
- Create a Codespace
- Select "🌆 Adventure 02 | 🟢 Beginner (The Foundation Stones)"
- Wait ~2 minutes for the environment to initialize (`Cmd/Ctrl + Shift + P` → `View Creation Log` to view progress)
Expand Down
6 changes: 3 additions & 3 deletions adventures/02-building-cloudhaven/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ some services remain half-configured or misconfigured.

Your mission: Complete the OpenTofu configuration and establish proper state management.

[**Start the Beginner Challenge**](./beginner.md){ .md-button .md-button--primary }
[**Start the Beginner Challenge**](./beginner.md)

### 🟡 Intermediate: The Modular Metropolis

Expand All @@ -59,7 +59,7 @@ working tests... and buggy code that doesn't match them.

Your mission: Fix the bugs, complete the integration test, and deploy the infrastructure.

[**Start the Intermediate Challenge**](./intermediate.md){ .md-button .md-button--primary }
[**Start the Intermediate Challenge**](./intermediate.md)

### 🔴 Expert: The Guardian Protocols

Expand All @@ -70,4 +70,4 @@ CloudHaven needs automated guardians: workflows that detect infrastructure drift
integration tests, and security scans, and then apply safe changes. A previous engineer started the setup but left it
incomplete. Your mission: bring the Guardian Protocols online.

[**Start the Expert Challenge**](./expert.md){ .md-button .md-button--primary }
[**Start the Expert Challenge**](./expert.md)
2 changes: 1 addition & 1 deletion adventures/02-building-cloudhaven/expert/smoke-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OBJECTIVE="By the end of this level, your workflows should:
- Validate pull requests (run plan, tests, security scans, comment on PR)
- Apply infrastructure automatically when PR is merged"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/02-building-cloudhaven/expert"
DOCS_URL="https://offon.dev/adventures/building-cloudhaven/levels/expert"

print_header \
'Challenge 02: Building CloudHaven' \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OBJECTIVE="By the end of this level, you should have:
- A completed integration test that applies infrastructure against the mock GCP API
- Three districts deployed with correctly configured infrastructure (vaults and ledgers)"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/02-building-cloudhaven/intermediate"
DOCS_URL="https://offon.dev/adventures/building-cloudhaven/levels/intermediate"

print_header \
'Challenge 02: Building CloudHaven' \
Expand Down
7 changes: 0 additions & 7 deletions adventures/02-building-cloudhaven/mkdocs.yaml

This file was deleted.

3 changes: 1 addition & 2 deletions adventures/03-the-ai-observatory/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ are ready to go.

## 🚀 Ready to Start?

[Choose your level](https://dynatrace-oss.github.io/open-ecosystem-challenges/03-the-ai-observatory/) and begin
learning!
[Choose your level](https://offon.dev/adventures/the-ai-observatory/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/03-the-ai-observatory/beginner/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ OBJECTIVE="By the end of this level, you should:
- See and analyze traces in Jaeger to find out what causes the high bandwidth usage
- Provide the correct answer in quiz.txt"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/03-the-ai-observatory/beginner"
DOCS_URL="https://offon.dev/adventures/the-ai-observatory/levels/beginner"

print_header \
'Challenge 03: The AI Observatory' \
Expand Down
6 changes: 3 additions & 3 deletions adventures/03-the-ai-observatory/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ independent — pick your level and start wherever you feel comfortable!
The HubSystem is running "blind". Your mission: instrument the Python application with OpenLLMetry, send traces to the
collector, and use Jaeger to find out what the AI is actually doing.

[**Start the Beginner Challenge**](./beginner.md){ .md-button .md-button--primary }
[**Start the Beginner Challenge**](./beginner.md)

### 🟡 Intermediate: The Distracted Pilot

Expand All @@ -46,7 +46,7 @@ You've escaped aboard the Perihelion, a research vessel piloted by a very opinio
coordinates to RaviHyral should have been ready an hour ago — but ART is distracted. Your mission: instrument the RAG
pipeline, track what ART is actually retrieving, and fix the navigation system before you miss the jump window.

[**Start the Intermediate Challenge**](./intermediate.md){ .md-button .md-button--primary }
[**Start the Intermediate Challenge**](./intermediate.md)

### 🔴 Expert: The Noise Filter

Expand All @@ -59,5 +59,5 @@ mess. Non-standard span names, missing token usage, and Jaeger drowning in noise
instrumentation to follow GenAI semantic conventions, record errors properly, and configure tail sampling to filter out
the noise.

[**Start the Expert Challenge**](./expert.md){ .md-button .md-button--primary }
[**Start the Expert Challenge**](./expert.md)

2 changes: 1 addition & 1 deletion adventures/03-the-ai-observatory/expert/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ OBJECTIVE="By the end of this level, you should:
- Fix ART's chat span to follow OpenTelemetry GenAI semantic conventions — including token usage
- Configure tail sampling in the OpenTelemetry Collector to only keep traces that contain errors or take longer than 5 seconds"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/03-the-ai-observatory/expert"
DOCS_URL="https://offon.dev/adventures/the-ai-observatory/levels/expert"

print_header \
'Challenge 03: The AI Observatory' \
Expand Down
2 changes: 1 addition & 1 deletion adventures/03-the-ai-observatory/intermediate/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ OBJECTIVE="By the end of this level, you should:
- Create a Prometheus recording rule to calculate ART's 'Distraction Level'
- Restore the navigation system so ART successfully calculates the jump coordinates to RaviHyral"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/03-the-ai-observatory/intermediate"
DOCS_URL="https://offon.dev/adventures/the-ai-observatory/levels/intermediate"

print_header \
'Challenge 03: The AI Observatory' \
Expand Down
7 changes: 0 additions & 7 deletions adventures/03-the-ai-observatory/mkdocs.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion adventures/04-blind-by-design/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ The entire **infrastructure is pre-provisioned in your Codespace**.

## 🚀 Ready to Start?

[Choose your level](https://dynatrace-oss.github.io/open-ecosystem-challenges/04-blind-by-design/) and begin learning!
[Choose your level](https://offon.dev/adventures/blind-by-design/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/04-blind-by-design/beginner/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OBJECTIVE="By the end of this level, you should:
- Confirm the response payload includes the OpenFeature evaluation details — flag key, variant, reason, value
- Edit flags.json to change the defaultVariant, save, and have the next request return the new variant without restarting the app"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/04-blind-by-design/beginner"
DOCS_URL="https://offon.dev/adventures/blind-by-design/levels/beginner"

APP_URL="http://localhost:8080/"
FLAGS_FILE="$SCRIPT_DIR/flags.json"
Expand Down
2 changes: 1 addition & 1 deletion adventures/04-blind-by-design/expert/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ OBJECTIVE="By the end of this level, the lab hits each of these observable outco
- The 'vision_amplifier_v2' rollout is rolled back to 100% off — without redeploying the lab
- HTTP 5xx rate over the last minute drops below 1%"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/04-blind-by-design/expert"
DOCS_URL="https://offon.dev/adventures/blind-by-design/levels/expert"

print_header \
'Adventure 04: Blind by Design' \
Expand Down
2 changes: 1 addition & 1 deletion adventures/04-blind-by-design/intermediate/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ OBJECTIVE="By the end of this level, the lab hits each of these observable outco
- Every evaluation produces an [AUDIT] log line carrying species, country, and dose
- The response is never 'untreated' (provider is wired and reaches flagd)"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/04-blind-by-design/intermediate"
DOCS_URL="https://offon.dev/adventures/blind-by-design/levels/intermediate"

print_header \
'Adventure 04: Blind by Design' \
Expand Down
7 changes: 0 additions & 7 deletions adventures/04-blind-by-design/mkdocs.yaml

This file was deleted.

3 changes: 1 addition & 2 deletions adventures/planned/00-lex-imperfecta/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,4 @@ The entire **infrastructure is pre-provisioned in your Codespace**

## 🚀 Ready to Start?

[Choose your level](https://dynatrace-oss.github.io/open-ecosystem-challenges/00-lex-imperfecta/) and begin
learning!
[Choose your level](https://offon.dev/adventures/lex-imperfecta/) and begin learning!
2 changes: 1 addition & 1 deletion adventures/planned/00-lex-imperfecta/beginner/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OBJECTIVE="By the end of this level, you should have:
- All workloads running as privileged containers blocked at admission with a clear policy violation message
- Confirmed that all other workloads deploy and run successfully in the cluster"

DOCS_URL="https://dynatrace-oss.github.io/open-ecosystem-challenges/00-lex-imperfecta/beginner"
DOCS_URL="https://offon.dev/adventures/lex-imperfecta/levels/beginner"

print_header \
'Challenge 00: Lex Imperfecta' \
Expand Down
2 changes: 1 addition & 1 deletion adventures/planned/00-lex-imperfecta/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ independent — pick your level and start wherever you feel comfortable.

Fix broken Kyverno policies to restore proper admission control.

[**Start the Beginner Challenge**](./beginner.md){ .md-button .md-button--primary }
[**Start the Beginner Challenge**](./beginner.md)
5 changes: 0 additions & 5 deletions adventures/planned/00-lex-imperfecta/mkdocs.yaml

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading