Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions deploy/firecracker/rootfs/Dockerfile.default
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libfuse3-3 \
&& rm -rf /var/lib/apt/lists/*

# ── GitHub CLI (gh) ──────────────────────────────────────────────────────────
# Agents do GitHub operations (PRs, issues, auth) via `gh`. It isn't in Ubuntu's
# default repos, so add GitHub's apt source (keyring fetched with curl, installed
# above). The signed-by keyring means no apt-key / gnupg is needed, and
# dpkg --print-architecture keeps it correct on both amd64 and arm64 VMs.
RUN install -d -m 755 /etc/apt/keyrings \
&& curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
-o /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
> /etc/apt/sources.list.d/github-cli.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends gh \
&& rm -rf /var/lib/apt/lists/*

# Install rclone from upstream so we track current backend support. The
# version pinned into the rootfs is whatever was current at image build
# time; sandboxes surface it via `mounts.list().rcloneVersion` for ops triage.
Expand Down