Files
Cory Waddingham 62b8abef6c feat: Add email-based workshop identifier and configure nbstripout
Implement deterministic resource naming using email-based identifiers
and configure automatic output cell stripping for notebooks.

Changes:
- Add interactive workshop identifier setup in 01_preflight.ipynb
  - Prompts student for email address
  - Hashes email (MD5, 6 chars) for privacy and determinism
  - Creates identifier: -workshop-YYYYMMDD-<hash>
  - Saves to artifacts/workshop_identifier.json

- Update 02_terraform_apply.ipynb to use identifier
  - Loads identifier from artifacts file
  - Passes identifier to Terraform via -var identifier=...
  - Removes incorrect cluster_name variable (not a Terraform input)
  - Computes expected cluster name for validation

- Update 01_preflight.ipynb cluster check
  - Uses identifier to compute cluster name
  - Falls back to CLUSTER_NAME env var if identifier not set

- Configure nbstripout for automatic output cell stripping
  - Add .gitattributes with *.ipynb filter=nbstripout
  - Ensures output cells are never committed

Benefits:
- No additional environment variables required
- Deterministic identifiers (same email = same identifier)
- Idempotent deployments (safe to re-run)
- Unique per student
- Automatic output cell management
2026-01-06 09:27:55 -08:00

4 lines
103 B
Plaintext

# Automatically strip output cells from Jupyter notebooks before committing
*.ipynb filter=nbstripout