Description
The current kafka tutorials user experience is sub optimal:
- User must install Docker, ccloud CLI, and sometimes other tools
- User must download several GB of docker images
- User must do things like exec into containers in order to use tools installed within
Ideally the user experience would be:
- Click a link to open a remote dev environment with all prerequisites baked in.
- Focus entirely on the learning objective
This more ideal user experience is possible with gitpod workspaces or GitHub Codespaces. In fact, I've already "gitpodified" a kafka tutorial here!
Enabling gitpod would require configuring a .gitpod.yml
file in the repo root. Gitpod doesn't yet support multiple .gitpod.yml files, but as a workaround, we could use environment variables via URL (docs and example) to automatically change into the proper code directory on launch. This would mean we'd need one workspace to be able to run any tutorial which should be fine since everything is on docker. If something's not on docker, we could just install it to the workspace, or alias it with docker underneath (e.g. how the az
CLI is aliased in the kafka docker playground project here)