Skip to content

Repository files navigation

CDC WSL Distribution

semantic-release: conventional-commit latest tag last release total downloads commit history deploy status

Pre-built WSL2 images for CDC developers. Common tools come pre-installed via mise, and enterprise certificates are already trusted so you don't have to fight with SSL certificate issues.

Prerequisites

If wsl is already installed, you may skip these prerequisites.

Running wsl --install requires a Windows elevated privilege account. See Prerequisites for how to request one.

Installation

  1. Open PowerShell with your normal account and confirm WSL2 is ready by running wsl. If it isn't, see Prerequisites for how to request one.

  2. Download the .wsl file for your preferred distro from the latest release:

    File Distro
    ubuntu-24.04-cdc.wsl Ubuntu 24.04
    fedora-43-cdc.wsl Fedora 43
  3. Install it:

    wsl --install --from-file C:\Users\<username>\Downloads\ubuntu-24.04-cdc.wsl

    Or double-click the .wsl file in File Explorer.

  4. Launch the distro. On first boot it will automatically create your user account and configure DNS.

Installed Tools

Tools are managed by mise and configured in /etc/mise/config.toml. To see what's installed:

mise list

To upgrade everything:

mise upgrade

To install a tool or change a version, edit /etc/mise/config.toml or your personal ~/.config/mise/config.toml, then run mise upgrade.

Find the full list of tools and their versions in the config.toml file.

Category Tools
Languages Python 3.13, Node.js, Go, Java, R, Rust
Cloud AWS CLI, Azure CLI, kubectl, Helm, Terraform
Build Gradle, Maven
Linting shellcheck, ruff, black, actionlint, semgrep, checkov
Utilities ripgrep, grype, pre-commit, poetry, uv, pipx

Extra Tools

Some tools are excluded from the base image due to a 2 GB GitHub release limit. All of them are already listed in /etc/mise/config.toml, so running mise upgrade should install everything. If you run into ordering or timeout issues (particularly with Rust behind Zscaler), use the helper script instead:

bash /opt/scripts/add-extra-tools.sh

The script installs foundational tools (Node.js, Java, Go, R, Rust) in the correct order before running mise upgrade for the rest.

Local Development

Build a specific distro image locally:

bash build.sh ubuntu   # builds ubuntu-24.04-cdc
bash build.sh fedora   # builds fedora-43-cdc

Run a quick test against the built image:

podman run -t ubuntu-24.04-cdc bash -c "bash /opt/scripts/check-google.sh"

To debug an image interactively, build it and exec in:

bash build.sh fedora && bash test.sh
podman exec -it fedora-43-cdc-test bash

Note that startup sequences like DNS setup (config/run-once.service) only run under WSL, so testing those requires a real Windows install.

For a quick build-test-cleanup loop:

bash build.sh fedora && bash test.sh fedora && bash cleanup.sh fedora

Documentation

About

This repository build images for Windows Subsystem Linux (WSL2) for CDC developers.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages