Skip to content

Developer environment reference


The developer environments are container images that use the builders as a base image. These images are only intended for use by the dda env dev command group.

There is currently only one image available:

Editors

Images come with the following editors ready for remote development via SSH.

Pre-installed extensions

Tools

The following is a non-exhaustive list of available tools.

  • ambr - find and replace like sed but with interactivity
  • bat - show file contents like cat
  • bazel - Bazelisk, ensuring the correct version of the Bazel build system is used
  • btm - system monitor like top
  • dda - Datadog Agent development CLI
  • docker - Docker engine, including the buildx and compose plugins
  • eza - list files like ls
  • fd - find files like find
  • fzf - fuzzy finder
  • gfold - Git status viewer for multiple repositories
  • gitui - Git terminal UI
  • hyperfine - benchmarking tool
  • kubectl - Kubernetes control plane CLI
  • jq - JSON processor
  • pdu - show disk usage like du
  • procs - process viewer like ps
  • rg - search file contents like grep
  • yazi - file manager UI

Git

Git is configured to use SSH for authentication and, upon start, will use the user.name and user.email global settings from your local machine.

Each of the following subcommands are available via git <subcommand>.

  • dd-clone - Performs a shallow clone 1 of a Datadog repository to the proper managed location. The first argument is the repository name and a second optional argument is the branch name. Example invocations:
    • git dd-clone datadog-agent
    • git dd-clone datadog-agent user/feature
  • dd-switch - Emulates the behavior of git switch but smart enough to handle shallow clones. The branch name is the only argument.

Delta is the default pager which provides, as an example, syntax highlighting for git diff and git log commands.

Repositories

Images assume repositories will be cloned to ~/repos. The dd-clone Git extension will clone repositories to this location and gfold is pre-configured to look for repositories in this location.

Shells

Images come with shells based on their platform e.g. Zsh for Linux and PowerShell for Windows. Every image comes with Nushell as well.

All shells are pre-configured with Starship prompt and any local configuration will be copied to the container upon start.

Fonts

Images come with the following fonts.

All fonts have Nerd Font glyphs, and Noto Emoji is installed for emoji support.

Ports

Images expose the following ports.

  • 22 for SSH access
  • 9000 for the dda MCP server

  1. A shallow clone by default matches our use case of ephemeral developer environments. If persistence is desired then developers can easily convert the shallow clone to a full clone by running git fetch --unshallow. More information: