## Description Enable any agent module to run its AI agent inside Coder's Agent Boundaries. The agentapi module handles boundary installation, config setup, and wrapper script creation, then exports AGENTAPI_BOUNDARY_PREFIX for consuming modules to use in their start scripts. Supports three boundary installation modes: - coder boundary subcommand (default, Coder v2.30+) - Standalone binary via install script (use_boundary_directly) - Compiled from source (compile_boundary_from_source) Users must provide a boundary config.yaml with their allowlist and settings when enabling boundary. Closes #457 ## Type of Change - [x] Feature/enhancement ## Module Information **Path:** `registry/coder/modules/agentapi` **Breaking change:** No ## Testing & Validation - [x] Tests pass (`bun test`) - [x] Code formatted (`bun fmt`) - [x] Changes tested locally --------- Co-authored-by: Shane White <shane.white@cloudsecure.ltd> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: 35C4n0r <70096901+35C4n0r@users.noreply.github.com>
33 lines
1.1 KiB
Bash
33 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -o errexit
|
|
set -o pipefail
|
|
|
|
use_prompt=${1:-false}
|
|
port=${2:-3284}
|
|
|
|
module_path="$HOME/.agentapi-module"
|
|
log_file_path="$module_path/agentapi.log"
|
|
|
|
echo "using prompt: $use_prompt" >> /home/coder/test-agentapi-start.log
|
|
echo "using port: $port" >> /home/coder/test-agentapi-start.log
|
|
|
|
AGENTAPI_CHAT_BASE_PATH="${AGENTAPI_CHAT_BASE_PATH:-}"
|
|
if [ -n "$AGENTAPI_CHAT_BASE_PATH" ]; then
|
|
echo "Using AGENTAPI_CHAT_BASE_PATH: $AGENTAPI_CHAT_BASE_PATH" >> /home/coder/test-agentapi-start.log
|
|
export AGENTAPI_CHAT_BASE_PATH
|
|
fi
|
|
|
|
# Use boundary wrapper if configured by agentapi module.
|
|
# AGENTAPI_BOUNDARY_PREFIX is set by the agentapi module's main.sh
|
|
# and points to a wrapper script that runs the command through coder boundary.
|
|
if [ -n "${AGENTAPI_BOUNDARY_PREFIX:-}" ]; then
|
|
echo "Starting with boundary: ${AGENTAPI_BOUNDARY_PREFIX}" >> /home/coder/test-agentapi-start.log
|
|
agentapi server --port "$port" --term-width 67 --term-height 1190 -- \
|
|
"${AGENTAPI_BOUNDARY_PREFIX}" bash -c aiagent \
|
|
> "$log_file_path" 2>&1
|
|
else
|
|
agentapi server --port "$port" --term-width 67 --term-height 1190 -- \
|
|
bash -c aiagent \
|
|
> "$log_file_path" 2>&1
|
|
fi
|