11---
2- display_name : Boundary
3- description : Configures boundary for network isolation in Coder workspaces
2+ display_name : Agent Firewall
3+ description : Configures agent-firewall for network isolation in Coder workspaces
44icon : ../../../../.icons/coder.svg
55verified : true
6- tags : [boundary , ai, agents, firewall]
6+ tags : [agent-firewall , ai, agents, firewall, boundary ]
77---
88
9- # Boundary
9+ # Agent Firewall
1010
11- Installs [ boundary ] ( https://coder.com/docs/ai-coder/agent-firewall ) for network isolation in Coder workspaces.
11+ Installs [ agent-firewall ] ( https://coder.com/docs/ai-coder/agent-firewall ) for network isolation in Coder workspaces.
1212
1313This module:
1414
15- - Installs boundary (via coder subcommand, direct installation, or compilation from source)
16- - Creates a wrapper script at ` $HOME/.coder-modules/coder/boundary /scripts/boundary -wrapper.sh `
17- - Writes a default boundary config to ` $HOME/.coder-modules/coder/boundary /config/config.yaml ` (customizable)
15+ - Installs agent-firewall (via coder subcommand, direct installation, or compilation from source)
16+ - Creates a wrapper script at ` $HOME/.coder-modules/coder/agent-firewall /scripts/agent-firewall -wrapper.sh `
17+ - Writes a [ default agent-firewall config] ( ./config.yaml.tftpl ) to ` $HOME/.coder-modules/coder/agent-firewall /config/config.yaml ` (customizable)
1818- Provides the wrapper path, config path, and script names via outputs
1919- Uses coder-utils and output ` scripts ` for synchronization. https://registry.coder.com/modules/coder/coder-utils?tab=outputs
2020
2121``` tf
22- module "boundary " {
23- source = "registry.coder.com/coder/boundary /coder"
22+ module "agent-firewall " {
23+ source = "registry.coder.com/coder/agent-firewall /coder"
2424 version = "0.0.1"
2525 agent_id = coder_agent.main.id
2626}
2727```
2828
2929## Examples
3030
31- Use the ` boundary_wrapper_path ` output to access the wrapper path and ` boundary_config_path ` to access config path in Terraform and pass it to scripts that should run commands in network isolation.
31+ Use the ` agent_firewall_wrapper_path ` output to access the wrapper path and ` agent_firewall_config_path ` to access config path in Terraform and pass it to scripts that should run commands in network isolation.
3232
3333### With Claude Code
3434
35- Use boundary alongside the ` claude-code ` module to run Claude in a
35+ Use agent-firewall alongside the ` claude-code ` module to run Claude in a
3636network-isolated environment.
3737
3838#### As an automated task
3939
4040``` tf
41- module "boundary " {
42- source = "registry.coder.com/coder/boundary /coder"
41+ module "agent-firewall " {
42+ source = "registry.coder.com/coder/agent-firewall /coder"
4343 version = "0.0.1"
4444 agent_id = coder_agent.main.id
4545}
4646
47- resource "coder_script" "claude_with_boundary " {
47+ resource "coder_script" "claude_with_agent_firewall " {
4848 agent_id = coder_agent.main.id
49- display_name = "Claude (Boundary )"
49+ display_name = "Claude (Agent Firewall )"
5050 run_on_start = true
5151 script = <<-EOT
5252 #!/bin/bash
5353 set -e
54- coder exp sync want claude-boundary \
55- ${join(" ", module.boundary .scripts)} \
54+ coder exp sync want claude-agent-firewall \
55+ ${join(" ", module.agent-firewall .scripts)} \
5656 ${join(" ", module.claude-code.scripts)}
57- coder exp sync start claude-boundary
58- "${module.boundary.boundary_wrapper_path }" --config="${module.boundary.boundary_config_path }" -- claude -p "Fix issue #840 from coder/coder"
57+ coder exp sync start claude-agent-firewall
58+ "${module.agent-firewall.agent_firewall_wrapper_path }" --config="${module.agent-firewall.agent_firewall_config_path }" -- claude -p "Fix issue #840 from coder/coder"
5959 EOT
6060}
6161```
6262
6363#### As a Coder app
6464
6565``` tf
66- module "boundary " {
67- source = "registry.coder.com/coder/boundary /coder"
66+ module "agent-firewall " {
67+ source = "registry.coder.com/coder/agent-firewall /coder"
6868 version = "0.0.1"
6969 agent_id = coder_agent.main.id
7070}
7171
72- resource "coder_app" "claude_with_boundary " {
72+ resource "coder_app" "claude_with_agent_firewall " {
7373 agent_id = coder_agent.main.id
7474 display_name = "Claude Code"
7575 slug = "claude-code"
7676 command = <<-EOT
7777 #!/bin/bash
7878 set -e
7979 exec tmux new-session -A -s claude-code \
80- '"${module.boundary.boundary_wrapper_path }" --config="${module.boundary.boundary_config_path }" -- claude'
80+ '"${module.agent-firewall.agent_firewall_wrapper_path }" --config="${module.agent-firewall.agent_firewall_config_path }" -- claude'
8181 EOT
8282}
8383```
@@ -93,26 +93,26 @@ The Coder deployment domain is automatically added to the allowlist using
9393` data.coder_workspace.me.access_url ` .
9494
9595By default the config is written to
96- ` $HOME/.coder-modules/coder/boundary /config/config.yaml ` . You can
97- access the resolved path via the ` boundary_config_path ` output. Override
96+ ` $HOME/.coder-modules/coder/agent-firewall /config/config.yaml ` . You can
97+ access the resolved path via the ` agent_firewall_config_path ` output. Override
9898it in two ways:
9999
100100### Inline config
101101
102102Pass the full YAML content directly:
103103
104104``` tf
105- module "boundary " {
106- source = "registry.coder.com/coder/boundary /coder"
105+ module "agent-firewall " {
106+ source = "registry.coder.com/coder/agent-firewall /coder"
107107 version = "0.0.1"
108108 agent_id = coder_agent.main.id
109109
110- boundary_config = <<-YAML
110+ agent_firewall_config = <<-YAML
111111 allowlist:
112112 - domain=your-deployment.coder.com
113113 - domain=api.anthropic.com
114114 - domain=api.openai.com
115- log_dir: /tmp/boundary_logs
115+ log_dir: /tmp/agent_firewall_logs
116116 proxy_port: 8087
117117 log_level: warn
118118 YAML
@@ -122,25 +122,25 @@ module "boundary" {
122122### External config file
123123
124124Point to an existing config file in the workspace. The module will not
125- write any config and the ` boundary_config_path ` output will point to
126- your path:
125+ write any config and the ` agent_firewall_config_path ` output will point to
126+ your path. The file must exist on disk before agent-firewall starts.
127127
128128``` tf
129- module "boundary " {
130- source = "registry.coder.com/coder/boundary /coder"
129+ module "agent-firewall " {
130+ source = "registry.coder.com/coder/agent-firewall /coder"
131131 version = "0.0.1"
132132 agent_id = coder_agent.main.id
133133
134- boundary_config_path = "/workspace/my-boundary -config.yaml"
134+ agent_firewall_config_path = "/workspace/my-agent-firewall -config.yaml"
135135}
136136```
137137
138- > ** Note:** ` boundary_config ` and ` boundary_config_path ` are mutually
138+ > ** Note:** ` agent_firewall_config ` and ` agent_firewall_config_path ` are mutually
139139> exclusive, setting both produces a validation error.
140140
141141See the [ Agent Firewall docs] ( https://coder.com/docs/ai-coder/agent-firewall )
142142for the full config reference.
143143
144144## References
145145
146- - [ Boundary Documentation] ( https://coder.com/docs/ai-coder/agent-firewall )
146+ - [ Agent Firewall Documentation] ( https://coder.com/docs/ai-coder/agent-firewall )
0 commit comments