Skip to content

Add a team-card Lab 0 to the Cloud course - #7

Merged
sijie merged 2 commits into
mainfrom
worktree-ticklish-nibbling-sutton
Oct 7, 2026
Merged

sijie merged 2 commits into
mainfrom
worktree-ticklish-nibbling-sutton

Conversation

@sijie

@sijie sijie commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Why

The hackathon environments are created for each team, and teams are given access to the environment sheet that the organizers keep. Each team builds its own team card from its row: the addresses of a Kafka cluster, a SQL workspace and an agent workspace, plus an API key the team creates. The existing Lab 0 assumes an instance of your own, snctl lookups, and a topic you create. Teams in a created environment need a Lab 0 that creates nothing but a key.

What changed

  • New page labs/cloud/00-set-up-team-card.md, "Lab 0: Set up from a team card". Step 2 maps six columns of the team row to .env lines, gives the console steps for creating an API key for the team service account, and shows a finished card with placeholders. Step 3 loads the login stream once for the team and runs the doctor. No snctl. The page keeps the step numbers of 00-set-up.md, so every existing "Lab 0, step 2/3" reference holds for both pages.
  • labs/cloud/00-set-up.md and Labs 1 to 4 are unchanged. Troubleshooting has one changed row: with a team card, a rejected key is replaced by creating a new one.
  • Pointers: the three READMEs, .env.cloud.example, and docs/before-you-arrive.md, where step 4 now tells teams in a created environment to skip it and create nothing in the console.
  • Tutor: before Lab 0 of the Cloud course it asks whether the team has a row in the environment sheet, unless the learner said, and uses the matching page. docs/tutor.md has the same menu wording.
  • Linter: scripts/check-labs.sh accepts a page the tutor names with its course folder (labs/cloud/<page>) and checks that it exists there, with a test.

What was run

  • scripts/tests/run.sh (28 pass; the new test failed before the rule existed), scripts/check-labs.sh, and shellcheck.
  • The other suites: CLI 151, Local 44, Python 224, TypeScript 240 and the typecheck.
  • The page against a test instance on StreamNative Cloud, with the seven lines of step 2 filled in: every step and check on the Python path; the doctor and the seeder on the TypeScript path and with the commands of the CLI column. The topic was loaded already, so the seeder printed its "already holds" line.
  • The tutor, one fresh-agent run per case. On the final wording: a team with a row in the sheet, and Cloud without saying. On the first wording: Cloud resuming at Lab 2, and Local from Lab 0.

Not run

  • Reading the values from an environment sheet, and creating the API key. Its steps follow the labels of the console as of 3 October 2026 and were not clicked through; the key used in the walk was an existing one.
  • The seeder on an empty topic from this page.
  • An environment the organizers created.

Before the event

  • The page names a SQL Database column that the environment sheet does not have yet.
  • Participant logins must be able to create an API key for the service account of their team, and that one key has to be accepted by both the Kafka cluster and the agent workspace.

sijie added 2 commits October 6, 2026 22:00
The hackathon environments are now created for each team and handed over
as a team card, so participants need a Lab 0 that creates nothing and
needs no snctl. This adds one beside the existing Lab 0, which is
unchanged.

- labs/cloud/00-set-up-team-card.md: fill in .env from the card, load the
  login stream once for the team, run the doctor. It keeps the step
  numbers of 00-set-up.md, so every "Lab 0, step 2/3" reference holds for
  both pages.
- The READMEs, .env.cloud.example and docs/before-you-arrive.md point at
  it. Before-you-arrive tells card holders to skip creating resources.
- The tutor asks whether the learner has a team card before Lab 0 of the
  Cloud course, and uses the matching page.
- check-labs.sh accepts a lab page the tutor names with its course
  folder, and checks that it exists there.
- What was run: the new page against a test instance on StreamNative
  Cloud, on the Python path, plus the doctor and the seeder on the
  TypeScript path and with the CLI commands.
Teams are given access to the environment sheet that the organizers keep
and build their team card themselves, so the team-card Lab 0 now says
how.

- Step 2 maps six columns of a team row to .env lines, gives the console
  steps for creating an API key for the team service account, and shows
  a finished card with placeholders.
- The READMEs, .env.cloud.example and docs/before-you-arrive.md describe
  a team environment and its sheet instead of a card that is handed over.
- Troubleshooting: with a team card, a rejected key is replaced by
  creating a new one.
- The tutor asks whether the team has a row in the environment sheet.
- What was run: steps 2 and 3 against a test instance with the seven
  lines filled in. The API key steps follow the labels of the console and
  were not clicked through.
@sijie
sijie force-pushed the worktree-ticklish-nibbling-sutton branch from 970304b to e7d7475 Compare October 7, 2026 05:01
@sijie
sijie merged commit d5b4c9c into main Oct 7, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant