GitHunt
FC

fchouteau/isae-cloud-computing-codespace

GitHub Codespace template forn ISAE-SUPAERO SDD Cloud Systems Class

GitHub Codespace Environment for the Data Engineering Class

User Notes

This codespace is intended for use with the Data Engineering class located SupaeroDataScience/DE, most notably the data computation section.

The class resources are available at the following website.

Start a GitHub Codespace from this repository to get all the resources required to do the hands-on exercises as well as a computing environment pre-configured.

Developer Notes: Dev Container Configuration

The .devcontainer/devcontainer.json configures the Codespace environment. Key documentation:

Configuration Choices

Base Image: mcr.microsoft.com/devcontainers/universal:2

  • GitHub's default Codespace image
  • Includes Python, Node.js, Docker, Git, and common dev tools
  • See universal image docs for full list

Google Cloud CLI: Installed via install.sh, which runs on every container start (postStartCommand).

  • The script downloads and extracts the Google Cloud CLI tarball to /opt/google-cloud-sdk
  • This approach was chosen over dev container features for reliability
  • Browse available features at containers.dev/features if you want to add other tools

Lifecycle Commands:

Command When it runs Use case
onCreateCommand Container creation One-time setup
updateContentCommand After create + on rebuild Cached operations
postCreateCommand After container ready Final setup steps
postStartCommand Every container start Runtime config

We use postStartCommand to run install.sh, which installs the Google Cloud CLI.

VS Code Extensions:

"customizations": {
  "vscode": {
    "extensions": ["ms-toolsai.jupyter", "ms-python.python", "ms-azuretools.vscode-docker"]
  }
}

Updating the Configuration

  1. Edit .devcontainer/devcontainer.json
  2. Test by rebuilding: Command Palette > "Codespaces: Rebuild Container"
  3. For new features, search containers.dev/features

Teacher Notes

The teacher/ directory contains infrastructure for preparing and running the course. Students don't need it. See teacher/README.md for details.

Key things to know:

  • This repo is a separate git repo from the course website (isae-data-engineering). The teacher must have push access.
  • Student exercise folders (be-*/, tp-*/) are referenced by path in the course docs — don't rename them.
  • The teacher/mascots/ directory contains the Flask GIF webapps for the Build-Ship-Run workshop. The teacher/build_push_images.sh script builds and pushes all Docker images in one shot.
  • Year-specific values (project IDs, registry paths, bucket names) are hardcoded in several files — see the handover README in isae-data-engineering/src/teacher/README.md Section 4 for the full list and grep commands.

Languages

Python64.9%Jupyter Notebook14.2%Shell12.6%Jinja4.0%Dockerfile3.3%Makefile1.0%

Contributors

Created November 20, 2023
Updated February 28, 2026
fchouteau/isae-cloud-computing-codespace | GitHunt