Workshop materials for the joint Tailscale + Temporal session at Replay 2026.
A durable AI weather agent powered by Temporal, secured by Tailscale:
- Temporal orchestrates an agentic loop where an LLM autonomously chains tool calls
- Tailscale provides zero-config encrypted networking between your VM and the shared infrastructure
- Aperture proxies LLM calls with rate limiting and shared key management. No OpenAI key needed on your VM
flowchart LR
VM[Your Instruqt VM<br/>Python + Go workers]
TS[Temporal Dev Server<br/>temporal-dev:7233 / :8233]
AP[Aperture<br/>API Gateway]
OAI[OpenAI API<br/>shared key]
VM <-. Tailnet .-> TS
VM <-. Tailnet .-> AP
AP --> OAI
Your Instruqt VM comes pre-configured with everything you need:
- Python 3.13 and
uv - Go 1.26+
- Tailscale, already connected to the workshop tailnet
- Workshop code cloned, dependencies installed
Verify your environment:
uv run scripts/verify_setup.pyThen start with Exercise 1.
| # | Exercise | Time | Description |
|---|---|---|---|
| 1 | Hello Tailnet | 15 min | Run a geo-IP workflow on the shared Temporal server via Tailscale |
| 2 | Explore Tailscale | 15 min | Discover your network, understand Aperture, run a Go worker over tsnet |
| 3 | Weather Agent | 15 min | Build a durable AI agent with LLM calls routed through Aperture |
| 4 | Metrics Watcher | 15 min | Schedule a Go tsnet worker to fetch metrics from a tailnet node and summarize them with Claude |
Once your VM is on the tailnet, open the shared Temporal Web UI:
http://temporal-dev:8233
You'll see everyone's workflows running on the shared server.
- temporal-ts-net - Temporal CLI extension for Tailscale
- Temporal Python SDK
- Temporal Go SDK
- Tailscale docs
- Aperture docs
This repo is also a community asset. If you want to teach the session, run it locally, or remix the stack, see the community guide for instructor walkthroughs (with and without Instruqt), infrastructure setup, and architecture deep-dives.