Skip to content

Add support for SSM Port forwarding#60

Merged
ejfine merged 7 commits intomainfrom
ssm
Aug 19, 2025
Merged

Add support for SSM Port forwarding#60
ejfine merged 7 commits intomainfrom
ssm

Conversation

@ejfine
Copy link
Contributor

@ejfine ejfine commented Aug 19, 2025

Why is this change necessary?

Some libraries need it

How does this change address the issue?

Flip the flag in the template to allow using it

What side effects does this change have?

Another question in the template

How is this change tested?

Downstream repo

Other

Pulled in some other misc upstream template changes

Summary by CodeRabbit

  • New Features

    • Added an option to install the AWS SSM Port Forwarding Plugin; related AWS settings now appear when this option is selected.
  • Chores

    • Updated development container tooling and Ruff extension; refined configuration path.
    • Upgraded pre-commit framework and hooks; increased minimum required version.
    • Bumped core tool versions (Copier, pre-commit, Pulumi) and raised the minimum Copier requirement.
  • Tests

    • Extended test data to cover the new plugin option and excluded snapshot files from formatting checks.

@ejfine ejfine requested a review from Copilot August 19, 2025 13:57
@ejfine ejfine self-assigned this Aug 19, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 19, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Caution

Review failed

The pull request is closed.

Walkthrough

This PR bumps multiple tool and dependency versions, updates devcontainer and pre-commit configurations, introduces a new Copier question to optionally install the AWS SSM Port Forwarding Plugin, adjusts visibility conditions for related AWS fields, and updates test data and context defaults accordingly.

Changes

Cohort / File(s) Summary of Changes
Copier metadata and options
'.copier-answers.yml', 'copier.yml'
_commit updated v0.0.63 → v0.0.64; default enablement flag set for AWS SSM port forwarding plugin; new question added: install_aws_ssm_port_forwarding_plugin (bool, default no); expanded when conditions for aws_identity_center_id and aws_org_home_region to also depend on the new flag.
Devcontainer updates
.devcontainer/devcontainer.json, template/.devcontainer/devcontainer.json.jinja
Ruff VS Code extension bumped 2025.22.0 → 2025.24.0; ruff.configuration path switched to absolute (/workspaces/.../ruff-test.toml), with template variant using repo_name; updated context hash comment in root devcontainer.
Pre-commit configuration updates
.pre-commit-config.yaml, template/.pre-commit-config.yaml
minimum_pre_commit_version 4.0.1 → 4.2.0; bumped revs for typos, pre-commit-hooks, ruff-pre-commit, pylint; added exclude patterns to skip tests//snapshots/ for trailing-whitespace, end-of-file-fixer, pretty-format-json.
Tool/version bumps
.devcontainer/install-ci-tooling.py, extensions/context.py, pyproject.toml
COPIER_VERSION 9.8.0 → 9.9.1; PRE_COMMIT_VERSION 4.2.0 → 4.3.0; context defaults updated: pre_commit_version 4.3.0, copier_version 9.9.1, pulumi_version 3.190.0; pyproject requires copier >=9.9.1.
Test data updates
tests/copier_data/data1.yaml, tests/copier_data/data2.yaml, tests/copier_data/data3.yaml
Added install_aws_ssm_port_forwarding_plugin (true/false) across datasets; minor whitespace cleanup in data3.yaml.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor U as User
  participant C as Copier CLI
  participant Q as copier.yml (Questions)
  participant Ctx as Template Context
  participant R as Renderer

  U->>C: Run template generation
  C->>Q: Load questions
  Q->>U: Prompt for install_aws_ssm_port_forwarding_plugin (bool)
  U-->>Q: Supply answer (true/false)
  Q->>Ctx: Evaluate "when" for AWS fields<br/>(visible if python_package_registry == 'AWS CodeArtifact'<br/>or install_aws_ssm_port_forwarding_plugin)
  alt AWS fields visible
    Q->>U: Prompt for aws_identity_center_id, aws_org_home_region
    U-->>Q: Provide values
  end
  C->>R: Render files with context<br/>(devcontainer, pre-commit, etc.)
  R-->>U: Generated project
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

In burrows of bytes I hop and weave,
A port-forward path I now perceive.
Ruff’s new tune, pre-commit’s rhyme,
Copier hums in perfect time.
With toggles set and versions neat—
Thump-thump! My review is fleet. 🐇✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between a312c58 and cbaaadf.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (12)
  • .copier-answers.yml (2 hunks)
  • .devcontainer/devcontainer.json (3 hunks)
  • .devcontainer/install-ci-tooling.py (1 hunks)
  • .pre-commit-config.yaml (9 hunks)
  • copier.yml (2 hunks)
  • extensions/context.py (1 hunks)
  • pyproject.toml (1 hunks)
  • template/.devcontainer/devcontainer.json.jinja (2 hunks)
  • template/.pre-commit-config.yaml (9 hunks)
  • tests/copier_data/data1.yaml (1 hunks)
  • tests/copier_data/data2.yaml (1 hunks)
  • tests/copier_data/data3.yaml (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ssm

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

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

This PR adds support for SSM Port forwarding by introducing a new configuration option install_aws_ssm_port_forwarding_plugin to the Copier template. It also includes various dependency version updates and pre-commit configuration improvements.

  • Adds install_aws_ssm_port_forwarding_plugin boolean configuration option to enable SSM port forwarding
  • Updates multiple dependency versions (copier, pre-commit-hooks, ruff, pylint, typos, pulumi)
  • Improves pre-commit configuration with additional snapshot file exclusions

Reviewed Changes

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

Show a summary per file
File Description
copier.yml Adds new SSM port forwarding configuration option and updates AWS-related question conditions
tests/copier_data/*.yaml Updates test data files to include the new SSM port forwarding configuration
.pre-commit-config.yaml Updates dependency versions and adds snapshot file exclusions
template/.pre-commit-config.yaml Mirror of pre-commit config updates for the template
pyproject.toml Updates copier dependency version
extensions/context.py Updates various tool version constants
.devcontainer/. Updates VS Code extension versions and configuration paths
.copier-answers.yml Updates template configuration to enable SSM port forwarding
Comments suppressed due to low confidence (1)

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

# Reformatting (should generally come before any file format or other checks, because reformatting can change things)
- repo: https://github.com/crate-ci/typos
rev: 392b78fe18a52790c53f42456e46124f77346842 # frozen: v1.34.0
rev: 7fb6e0951ad91e4772a2470012fc1ae621016b80 # frozen: v1
Copy link

Copilot AI Aug 19, 2025

Choose a reason for hiding this comment

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

The version comment says 'v1' but this appears to be a commit hash for a more specific version. Consider updating the comment to reflect the actual version being frozen.

Suggested change
rev: 7fb6e0951ad91e4772a2470012fc1ae621016b80 # frozen: v1
rev: 7fb6e0951ad91e4772a2470012fc1ae621016b80 # frozen: v1.16.20

Copilot uses AI. Check for mistakes.
@ejfine ejfine merged commit 5f0bcae into main Aug 19, 2025
2 of 3 checks passed
@ejfine ejfine deleted the ssm branch August 19, 2025 14:17
@coderabbitai coderabbitai bot mentioned this pull request Jan 24, 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.

2 participants