This repository was archived by the owner on Oct 13, 2026. It is now read-only.
Repository navigation
Check the rest of what the labs need: push auth, Python, Docker memory, ports, all images - #2
Merged
Merged
Conversation
…r memory, ports, all images Grounded in what the lab repos actually require: - git commit identity (user.name/user.email): Lab 01 starts with a commit. - python3 >= 3.10 that can create a venv with pip: lab scripts hard-exit without python3 and Lab 03 installs ign-lint/yamllint into a venv; on Ubuntu/WSL the venv module is a separate package, and macOS's system python is 3.9, so we actually create a venv rather than trust `command -v`. - Memory available to Docker >= 8 GB (recommended): labs 04-06 run three 1 GB gateways + TimescaleDB + the runner, and Docker Desktop's VM allocation is independent of host RAM. - Docker Hub login (recommended): anonymous pulls are rate-limited per IP and the classroom shares one. - gh token scopes include repo and workflow: Lab 03 pushes workflow files, which GitHub rejects without `workflow`. - git push can authenticate: gh credential helper or a working SSH key; gh being logged in says nothing about plain `git push`. - Local Ignition install (recommended): its service takes 8088 at boot. - Lab ports 8088-8090, 8060-8062, 5432 are free, tested by binding them through Docker's real publish path so Windows-side listeners count too; the report names the owning container or process. - Pull every laptop-side course image (ignition, timescaledb, github-runner), not just the smoke-test image, so the multi-GB download happens a week early and not over classroom Wi-Fi. README table and troubleshooting sections updated for each new message. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Recognise gh's credential helper where `gh auth setup-git` actually puts it (credential "https://github.com"), not only credential.helper; the recommended fix was being reported as a failure. - A passphrase-protected SSH key with no agent fails BatchMode ssh but works at the prompt: warn instead of failing when a key file exists. - Only report a local Ignition install when the path has gateway markers (data/ignition.conf or lib/core/gateway), so a folder that merely happens to be called ~/ignition doesn't trigger it. - Docker Hub login: also ask the configured credential helper, since signing in through Docker Desktop's UI may leave config.json without an auths entry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
After the corporate-CA check (#1), a pass over what the lab repos actually require turned up several things a student can't discover until a lab is already underway — two of them classroom-wide rather than one-laptop problems (Docker Hub's per-IP pull limit behind the classroom NAT; the
workflowtoken scope Lab 03 needs).What's added
python3≥ 3.10 that can create a venv with pipign-lint(needs 3.10+) into a venv. Ubuntu/WSL shipspython3withoutpython3-venv; macOS system Python is 3.9 — so the check creates a real venvghtoken hasrepo+workflow.github/workflows/*.yml; GitHub rejects that withoutworkflowgit pushcan authenticate (gh helper or SSH)gh auth login≠ git being able to pushignition:8.3.6,timescaledb:latest-pg16,github-runner— the multi-GB download happens a week early, not over classroom Wi-FiREADME table and
troubleshooting.mdupdated with a section per new message.Verified
bash -n+ shellcheck clean.GIT_CONFIG_GLOBAL=/dev/null), a fakeghreturning a token withoutworkflow, and a failingsshfor the git-auth branch.🤖 Generated with Claude Code