Skip to content

Conversation

Mossaka
Copy link
Collaborator

@Mossaka Mossaka commented Oct 13, 2025

  • Introduced Dockerfile for agent base and proxy-init containers.
  • Implemented proxy initialization script to set up iptables for transparent proxying.
  • Enhanced Claude, Codex, and Copilot engines to support containerized execution with Docker Compose.
  • Added Squid configuration for TPROXY-based proxying, allowing HTTP and HTTPS traffic.
  • Updated workflow compiler to generate inline proxy configuration and Docker Compose files.
  • Implemented logic to determine if engine execution requires proxy setup based on network permissions.
  • Added support for copying logs and handling environment variables in containerized execution.

@Mossaka Mossaka force-pushed the mossaka/firewall-proxy-based branch from 25d97d3 to 58f5e98 Compare October 13, 2025 22:54
@Mossaka Mossaka requested a review from Copilot October 13, 2025 22:54
Copy link

@Copilot 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 pull request introduces containerized execution with proxy-based network traffic control for GitHub Agentic Workflows. The implementation adds transparent proxy support using Squid and iptables to enforce network restrictions at the container level, replacing the previous hook-based approach for network filtering.

Key changes include:

  • Containerized agent execution using Docker Compose with three containers (agent, squid-proxy, proxy-init)
  • TPROXY-based transparent proxying for both HTTP and HTTPS traffic
  • Engine detection logic to automatically switch between direct and containerized execution

Reviewed Changes

Copilot reviewed 47 out of 48 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/workflow/engine_network_proxy.go Core proxy configuration logic and Docker Compose generation
pkg/workflow/engine_docker_compose.go Docker Compose template generation and command formatting
pkg/workflow/copilot_engine.go Copilot engine containerized execution implementation
pkg/workflow/config/squid-tproxy.conf Squid TPROXY proxy configuration template
pkg/workflow/compiler.go Integration of proxy configuration generation into compilation
pkg/workflow/codex_engine.go Codex engine containerized execution implementation
pkg/workflow/claude_engine.go Claude engine containerized execution implementation with file close fix
containers/proxy-init/proxy-init.sh Iptables and routing setup script for transparent proxy
containers/proxy-init/Dockerfile Proxy initialization container definition
containers/agent-base/Dockerfile Base agent container with Node.js and dependencies
Comments suppressed due to low confidence (3)

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

@Mossaka Mossaka marked this pull request as draft October 13, 2025 23:15
- Introduced Dockerfile for agent base and proxy-init containers.
- Implemented proxy initialization script to set up iptables for transparent proxying.
- Enhanced Claude, Codex, and Copilot engines to support containerized execution with Docker Compose.
- Added Squid configuration for TPROXY-based proxying, allowing HTTP and HTTPS traffic.
- Updated workflow compiler to generate inline proxy configuration and Docker Compose files.
- Implemented logic to determine if engine execution requires proxy setup based on network permissions.
- Added support for copying logs and handling environment variables in containerized execution.

Signed-off-by: Jiaxiao Zhou <duibao55328@gmail.com>
Signed-off-by: Jiaxiao Zhou <duibao55328@gmail.com>
Signed-off-by: Jiaxiao Zhou <duibao55328@gmail.com>
@Mossaka Mossaka force-pushed the mossaka/firewall-proxy-based branch from 1b84393 to f19505b Compare October 13, 2025 23:39
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