Skip to content

Commit 8a054a2

Browse files
committed
last tweaks
1 parent 33610ad commit 8a054a2

3 files changed

Lines changed: 98 additions & 4 deletions

File tree

instruqt/track.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ lab_config:
3535
hideStopButton: false
3636
default_layout: AssignmentRight
3737
default_layout_sidebar_size: 40
38-
checksum: "12877066961412734330"
38+
checksum: "8185294425472381131"
3939
enhanced_loading: false
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#!/bin/bash
2+
set -euxo pipefail
3+
4+
# ============================================================
5+
# Track Setup: Pre-warm the Go module + build cache for ex2 tsnet.
6+
#
7+
# Runs during hot-start pool prewarm, before invite association.
8+
# Runtime parameters (TS_AUTHKEY, INSTRUQT_USER_NAME, etc.) are
9+
# NOT available here, so this script is scoped to work that
10+
# needs only the network and disk.
11+
#
12+
# Challenge 1's setup-workshop runs the same warmup at the end
13+
# as a fallback for cold-start cases (empty pool). When this
14+
# script ran first, ex1's `go mod download` / `go build` are
15+
# no-ops because $GOCACHE / $GOMODCACHE are already populated.
16+
# ============================================================
17+
18+
# Wait for Instruqt host bootstrap before touching the system.
19+
until [ -f /opt/instruqt/bootstrap/host-bootstrap-completed ]; do
20+
sleep 1
21+
done
22+
23+
REPO_URL="https://github.com/temporal-community/workshop-tailscale-replay-2026.git"
24+
WORKSHOP_DIR="/root/workshop"
25+
26+
# --- Install Go ---
27+
# tar -xzf overwrites in place, so ex1 setup re-extracting the
28+
# same archive into /usr/local is idempotent.
29+
30+
GO_VERSION="1.26.2"
31+
curl -LsSf "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -C /usr/local -xzf -
32+
export PATH="/usr/local/go/bin:$PATH"
33+
34+
# --- Sparse-clone the workshop repo with ex2 included ---
35+
# Same target directory as ex1 setup; ex1's `if [ ! -d ... ]`
36+
# guard skips re-cloning when this script already populated it.
37+
# Ex1 setup later resets the sparse-checkout to ex1-only at the
38+
# end of its run, so the attendee's Code Editor tree stays clean.
39+
40+
if [ ! -d "$WORKSHOP_DIR" ]; then
41+
git clone --no-checkout "$REPO_URL" "$WORKSHOP_DIR"
42+
cd "$WORKSHOP_DIR"
43+
git sparse-checkout set --no-cone \
44+
'/pyproject.toml' \
45+
'/uv.lock' \
46+
'/temporal.toml' \
47+
'/exercises/02_explore_tailscale/**'
48+
git checkout
49+
fi
50+
51+
# --- Warm Go module + build cache for ex2 tsnet ---
52+
# tsnet pulls in ~160 transitive Go modules. Compiling them cold
53+
# on n1-standard-2 takes 3-5 minutes. $GOCACHE / $GOMODCACHE
54+
# persist from this prewarm into the participant's challenge
55+
# session (same VM under hot start), so the attendee's first
56+
# `go run` in ex2 is instant.
57+
58+
cd "$WORKSHOP_DIR/exercises/02_explore_tailscale/go-hello-tsnet/solution"
59+
go mod download
60+
go build -o /dev/null .
61+
62+
echo "==> Track-level prewarm complete."

slides/slides.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ layout: two-cols-header
4141
### Mason Egger
4242
Senior Solutions Architect, **Temporal**
4343

44-
"On my business card I am a Solutions Architect. In
45-
my mind I am a programmer. But in my heart I am a
46-
teacher."
44+
"I used to be an SRE, then I realized no one pages you when the docs site is down. That's how I got here."
4745

4846
PSF Fellow. President of the PyTexas Foundation.
4947

@@ -409,6 +407,40 @@ temporal ts-net
409407

410408
# Workshop Environment
411409

410+
<div class="access-cta">
411+
<div class="access-cta-label">Access your Exercise Environment</div>
412+
<a href="https://t.mp/replay26-tailscale">t.mp/replay26-tailscale</a>
413+
</div>
414+
415+
<style>
416+
.access-cta {
417+
text-align: center;
418+
margin: 3rem auto;
419+
padding: 2rem 2.5rem;
420+
border: 3px solid #1a1a1a;
421+
border-radius: 0.75rem;
422+
background: #f4f4f4;
423+
max-width: 90%;
424+
}
425+
.access-cta-label {
426+
font-size: 1.5rem;
427+
color: #555;
428+
margin-bottom: 0.8rem;
429+
letter-spacing: 0.02em;
430+
}
431+
.access-cta a {
432+
font-size: 4.5rem;
433+
font-weight: 600;
434+
color: #1a1a1a;
435+
text-decoration: none;
436+
font-family: 'Noto Sans Mono', monospace;
437+
}
438+
</style>
439+
440+
---
441+
442+
# Environment Variables
443+
412444
Your Exercise Environment already has these exported for you.
413445

414446
<div class="compact-table">

0 commit comments

Comments
 (0)