Skip to content

Add Compose Pull commands for compose files and groups (#414)#438

Open
KevinSailema wants to merge 2 commits intomicrosoft:mainfrom
KevinSailema:feature/issue-414-compose-pull
Open

Add Compose Pull commands for compose files and groups (#414)#438
KevinSailema wants to merge 2 commits intomicrosoft:mainfrom
KevinSailema:feature/issue-414-compose-pull

Conversation

@KevinSailema
Copy link
Copy Markdown

Add Compose Pull commands for Docker Compose projects

Related issue

Fixes #414

Summary

This PR adds full Compose Pull support to Container Tools for Docker Compose workflows, including:

  • Pulling all images from a selected compose file
  • Pulling images for selected services or profiles
  • Pulling images directly from a running Compose Project group in the Containers view

The goal is to remove the need for custom scripts and make image refresh a first-class action in the extension.

User-facing changes

  • New command: Containers: Compose Pull
  • New command: Containers: Compose Pull - Select Services
  • New command on Compose Project nodes: Compose Pull
  • Commands are available from:
  • Command Palette
  • Docker Compose editor context menu
  • Explorer context menu for compose files
  • Containers view context menu for compose groups

Implementation details

  • Added compose pull and compose pull subset command flows to the compose command pipeline
  • Extended compose template selection to support composePull and composePullSubset
  • Extended subset resolution logic to support pull in addition to up and down
  • Added compose group pull execution path that builds the compose CLI command from group metadata
  • Supports compose v1 and compose v2 command styles
  • Added advanced settings templates for pull and pull subset customization
  • Added localization strings for all new commands and template descriptions
  • Added settings migration mappings for legacy compose pull template keys

Validation

The following checks were run successfully:

  • npm run build:esbuild
  • npm run build:check
  • npm run lint
  • npm test

Result:

  • 132 passing
  • 0 failing

Scope notes

Included:

  • Compose Pull end-to-end support for workspace compose files and compose groups
  • Optional service or profile selection for pull

Not included:

  • Post-pull follow-up prompt actions such as automatic compose up or recreate (this is optional in the issue and can be added in a follow-up PR)

Risk and compatibility

  • No breaking changes expected
  • Existing compose up and down behavior remains unchanged
  • New functionality is additive and follows existing command and template patterns

Checklist

  • Feature implemented
  • Commands wired into menus and command contributions
  • Localization added
  • Settings schema updated
  • Legacy setting migration updated
  • Unit tests updated
  • Build, lint, and tests passing

Copilot AI review requested due to automatic review settings April 5, 2026 23:58
@KevinSailema KevinSailema requested a review from a team as a code owner April 5, 2026 23:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds first-class Docker Compose image pulling workflows to the Container Tools extension, enabling users to pull images for compose files (all or subset) and from running Compose Project groups in the Containers view.

Changes:

  • Added new Compose Pull / Compose Pull (Subset) commands and wired them into command registration and VS Code menus.
  • Extended command template selection and settings schema to support composePull / composePullSubset, including migration mappings and localization.
  • Extended subset resolution logic to support pull in addition to up/down, and added a compose-group “pull” execution path.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/utils/migration/settingsMap.ts Adds legacy→new settings migration keys for compose pull templates.
src/test/commands/selectCommandTemplate.test.ts Adds unit coverage ensuring compose pull templates are selectable; improves helper to surface parsed args.
src/commands/selectCommandTemplate.ts Extends template command types and compose command selection to include pull/pullSubset.
src/commands/registerCommands.ts Registers new compose pull commands and compose-group pull command.
src/commands/containers/composeGroup.ts Implements compose-group pull by building a compose CLI command from group metadata.
src/commands/compose/getComposeSubsetList.ts Extends subset discovery to support pull and updates related UX strings.
src/commands/compose/compose.ts Adds composePull / composePullSubset flows into the compose command pipeline.
package.nls.json Adds localization strings for new commands and template setting descriptions.
package.json Adds command contributions, menus, activation events, and settings schema for compose pull templates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/commands/compose/getComposeSubsetList.ts Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@bwateratmsft bwateratmsft self-assigned this Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add “Compose Pull / Update All Images” command for Docker Compose projects

3 participants