Skip to content

add Dev Container configuration for reproducible development environment #953

Description

@Princess0407

Description

Setting up a local urunc development environment requires manually installing Docker, QEMU, Firecracker, Solo5, Cloud-Hypervisor, containerd, CNI plugins, and the Go toolchain. This is documented in the installation guide, but there is no reproducible, one-click environment for new contributors or LFX mentees.

Proposed Work

  1. Add .devcontainer/devcontainer.json with:

    • Docker-in-Docker support
    • KVM access for QEMU/Firecracker
    • Pre-installed tools: QEMU, Firecracker, Solo5, Cloud-Hypervisor, containerd, CNI, Go
  2. Add .devcontainer/Dockerfile based on Ubuntu 22.04 with all build and runtime dependencies.

  3. Configure for GitHub Codespaces compatibility.

  4. Document usage in docs/developer-guide/development.md.

Why This Matters

  • Lowers the barrier for new contributors who want to run make unittest or make e2etest without host-level VMM installation.
  • Provides a consistent environment that matches CI runners (Ubuntu 22.04, specific tool versions).
  • Helps LFX mentees and new community members get productive in minutes instead of hours.

Acceptance Criteria

  • make unittest passes inside the dev container without additional setup.
  • make e2etest can run test_ctr successfully inside the container.
  • Documentation explains how to open the project in VS Code Dev Containers or GitHub Codespaces.

Non-Goals

  • Replacing the existing installation guide.
  • Adding new hypervisor or unikernel support.

I can open a PR if agreed on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions