wip
Signed-off-by: 35C4n0r <work.jaykumar@gmail.com>
This commit is contained in:
parent
c2fa87aea6
commit
d0ef4f426b
@ -336,17 +336,43 @@ locals {
|
|||||||
var.report_tasks ? format("\n%s\n", local.report_tasks_system_prompt) : "",
|
var.report_tasks ? format("\n%s\n", local.report_tasks_system_prompt) : "",
|
||||||
local.custom_system_prompt != "" ? format("\n%s\n", local.custom_system_prompt) : ""
|
local.custom_system_prompt != "" ? format("\n%s\n", local.custom_system_prompt) : ""
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|
||||||
resource "coder_script" "install_agent" {
|
# Common environment variables for install script
|
||||||
|
install_env_vars = <<-EOT
|
||||||
|
ARG_CLAUDE_CODE_VERSION='${var.claude_code_version}' \
|
||||||
|
ARG_MCP_APP_STATUS_SLUG='${local.app_slug}' \
|
||||||
|
ARG_INSTALL_CLAUDE_CODE='${var.install_claude_code}' \
|
||||||
|
ARG_REPORT_TASKS='${var.report_tasks}' \
|
||||||
|
ARG_WORKDIR='${local.workdir}' \
|
||||||
|
ARG_ALLOWED_TOOLS='${var.allowed_tools}' \
|
||||||
|
ARG_DISALLOWED_TOOLS='${var.disallowed_tools}' \
|
||||||
|
ARG_MCP='${var.mcp != null ? base64encode(replace(var.mcp, "'", "'\\''")) : ""}'
|
||||||
|
EOT
|
||||||
|
|
||||||
count = !var.report_tasks ? 1 : 0
|
# Common environment variables for start script
|
||||||
|
start_env_vars = <<-EOT
|
||||||
|
ARG_MODEL='${var.model}' \
|
||||||
|
ARG_RESUME_SESSION_ID='${var.resume_session_id}' \
|
||||||
|
ARG_CONTINUE='${var.continue}' \
|
||||||
|
ARG_DANGEROUSLY_SKIP_PERMISSIONS='${var.dangerously_skip_permissions}' \
|
||||||
|
ARG_PERMISSION_MODE='${var.permission_mode}' \
|
||||||
|
ARG_WORKDIR='${local.workdir}' \
|
||||||
|
ARG_AI_PROMPT='${base64encode(var.ai_prompt)}' \
|
||||||
|
ARG_REPORT_TASKS='${var.report_tasks}' \
|
||||||
|
ARG_ENABLE_BOUNDARY='${var.enable_boundary}' \
|
||||||
|
ARG_BOUNDARY_VERSION='${var.boundary_version}' \
|
||||||
|
ARG_BOUNDARY_LOG_DIR='${var.boundary_log_dir}' \
|
||||||
|
ARG_BOUNDARY_LOG_LEVEL='${var.boundary_log_level}' \
|
||||||
|
ARG_BOUNDARY_ADDITIONAL_ALLOWED_URLS='${join("|", var.boundary_additional_allowed_urls)}' \
|
||||||
|
ARG_BOUNDARY_PROXY_PORT='${var.boundary_proxy_port}' \
|
||||||
|
ARG_ENABLE_BOUNDARY_PPROF='${var.enable_boundary_pprof}' \
|
||||||
|
ARG_BOUNDARY_PPROF_PORT='${var.boundary_pprof_port}' \
|
||||||
|
ARG_COMPILE_FROM_SOURCE='${var.compile_boundary_from_source}' \
|
||||||
|
ARG_CODER_HOST='${local.coder_host}'
|
||||||
|
EOT
|
||||||
|
|
||||||
agent_id = var.agent_id
|
# Reusable install script command
|
||||||
display_name = "Install agent"
|
install_command = <<-EOT
|
||||||
run_on_start = true
|
|
||||||
log_path = "/home/coder/install.log"
|
|
||||||
script = <<EOF
|
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
set -x
|
set -x
|
||||||
@ -356,48 +382,43 @@ resource "coder_script" "install_agent" {
|
|||||||
|
|
||||||
chmod +x /tmp/install.sh
|
chmod +x /tmp/install.sh
|
||||||
chmod +x /tmp/start.sh
|
chmod +x /tmp/start.sh
|
||||||
ARG_CLAUDE_CODE_VERSION='${var.claude_code_version}' \
|
${local.install_env_vars} \
|
||||||
ARG_MCP_APP_STATUS_SLUG='${local.app_slug}' \
|
|
||||||
ARG_INSTALL_CLAUDE_CODE='${var.install_claude_code}' \
|
|
||||||
ARG_REPORT_TASKS='${var.report_tasks}' \
|
|
||||||
ARG_WORKDIR='${local.workdir}' \
|
|
||||||
ARG_ALLOWED_TOOLS='${var.allowed_tools}' \
|
|
||||||
ARG_DISALLOWED_TOOLS='${var.disallowed_tools}' \
|
|
||||||
ARG_MCP='${var.mcp != null ? base64encode(replace(var.mcp, "'", "'\\''")) : ""}' \
|
|
||||||
/tmp/install.sh
|
/tmp/install.sh
|
||||||
EOF
|
EOT
|
||||||
|
|
||||||
|
# Reusable start script command for agentapi module
|
||||||
|
agentapi_start_command = <<-EOT
|
||||||
|
#!/bin/bash
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
echo -n '${base64encode(local.start_script)}' | base64 -d > /tmp/start.sh
|
||||||
|
echo -n "${local.remove_last_session_id_script_b64}" | base64 -d > "/tmp/remove-last-session-id.sh"
|
||||||
|
chmod +x /tmp/start.sh
|
||||||
|
chmod +x /tmp/remove-last-session-id.sh
|
||||||
|
|
||||||
|
${local.start_env_vars} \
|
||||||
|
/tmp/start.sh
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_script" "install_agent" {
|
||||||
|
count = !var.report_tasks ? 1 : 0
|
||||||
|
|
||||||
|
agent_id = var.agent_id
|
||||||
|
display_name = "Install agent"
|
||||||
|
run_on_start = true
|
||||||
|
log_path = "/home/coder/install.log"
|
||||||
|
script = local.install_command
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "coder_app" "agent_cli" {
|
resource "coder_app" "agent_cli" {
|
||||||
|
|
||||||
count = (!var.report_tasks && var.cli_app) ? 1 : 0
|
count = (!var.report_tasks && var.cli_app) ? 1 : 0
|
||||||
|
|
||||||
|
agent_id = var.agent_id
|
||||||
agent_id = var.agent_id
|
|
||||||
slug = local.app_slug
|
slug = local.app_slug
|
||||||
display_name = var.cli_app_display_name
|
display_name = var.cli_app_display_name
|
||||||
|
|
||||||
command = length(trimprefix(var.cli_command, " ")) > 0 ? var.cli_command : <<-EOT
|
command = length(trimprefix(var.cli_command, " ")) > 0 ? var.cli_command : "${local.start_env_vars} \\\n /tmp/start.sh"
|
||||||
ARG_MODEL='${var.model}' \
|
|
||||||
ARG_RESUME_SESSION_ID='${var.resume_session_id}' \
|
|
||||||
ARG_CONTINUE='${var.continue}' \
|
|
||||||
ARG_DANGEROUSLY_SKIP_PERMISSIONS='${var.dangerously_skip_permissions}' \
|
|
||||||
ARG_PERMISSION_MODE='${var.permission_mode}' \
|
|
||||||
ARG_WORKDIR='${local.workdir}' \
|
|
||||||
ARG_AI_PROMPT='${base64encode(var.ai_prompt)}' \
|
|
||||||
ARG_REPORT_TASKS='${var.report_tasks}' \
|
|
||||||
ARG_ENABLE_BOUNDARY='${var.enable_boundary}' \
|
|
||||||
ARG_BOUNDARY_VERSION='${var.boundary_version}' \
|
|
||||||
ARG_BOUNDARY_LOG_DIR='${var.boundary_log_dir}' \
|
|
||||||
ARG_BOUNDARY_LOG_LEVEL='${var.boundary_log_level}' \
|
|
||||||
ARG_BOUNDARY_ADDITIONAL_ALLOWED_URLS='${join("|", var.boundary_additional_allowed_urls)}' \
|
|
||||||
ARG_BOUNDARY_PROXY_PORT='${var.boundary_proxy_port}' \
|
|
||||||
ARG_ENABLE_BOUNDARY_PPROF='${var.enable_boundary_pprof}' \
|
|
||||||
ARG_BOUNDARY_PPROF_PORT='${var.boundary_pprof_port}' \
|
|
||||||
ARG_COMPILE_FROM_SOURCE='${var.compile_boundary_from_source}' \
|
|
||||||
ARG_CODER_HOST='${local.coder_host}' \
|
|
||||||
/tmp/start.sh
|
|
||||||
EOT
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -405,7 +426,7 @@ module "agentapi" {
|
|||||||
source = "registry.coder.com/coder/agentapi/coder"
|
source = "registry.coder.com/coder/agentapi/coder"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
|
|
||||||
count = var.report_tasks ? 1 : 0
|
count = var.report_tasks ? 1 : 0
|
||||||
agent_id = var.agent_id
|
agent_id = var.agent_id
|
||||||
web_app_slug = local.app_slug
|
web_app_slug = local.app_slug
|
||||||
web_app_order = var.order
|
web_app_order = var.order
|
||||||
@ -422,53 +443,8 @@ module "agentapi" {
|
|||||||
agentapi_version = var.agentapi_version
|
agentapi_version = var.agentapi_version
|
||||||
pre_install_script = var.pre_install_script
|
pre_install_script = var.pre_install_script
|
||||||
post_install_script = var.post_install_script
|
post_install_script = var.post_install_script
|
||||||
start_script = <<-EOT
|
start_script = local.agentapi_start_command
|
||||||
#!/bin/bash
|
install_script = local.install_command
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
echo -n '${base64encode(local.start_script)}' | base64 -d > /tmp/start.sh
|
|
||||||
echo -n "${local.remove_last_session_id_script_b64}" | base64 -d > "/tmp/remove-last-session-id.sh"
|
|
||||||
chmod +x /tmp/start.sh
|
|
||||||
chmod +x /tmp/remove-last-session-id.sh
|
|
||||||
|
|
||||||
ARG_MODEL='${var.model}' \
|
|
||||||
ARG_RESUME_SESSION_ID='${var.resume_session_id}' \
|
|
||||||
ARG_CONTINUE='${var.continue}' \
|
|
||||||
ARG_DANGEROUSLY_SKIP_PERMISSIONS='${var.dangerously_skip_permissions}' \
|
|
||||||
ARG_PERMISSION_MODE='${var.permission_mode}' \
|
|
||||||
ARG_WORKDIR='${local.workdir}' \
|
|
||||||
ARG_AI_PROMPT='${base64encode(var.ai_prompt)}' \
|
|
||||||
ARG_REPORT_TASKS='${var.report_tasks}' \
|
|
||||||
ARG_ENABLE_BOUNDARY='${var.enable_boundary}' \
|
|
||||||
ARG_BOUNDARY_VERSION='${var.boundary_version}' \
|
|
||||||
ARG_BOUNDARY_LOG_DIR='${var.boundary_log_dir}' \
|
|
||||||
ARG_BOUNDARY_LOG_LEVEL='${var.boundary_log_level}' \
|
|
||||||
ARG_BOUNDARY_ADDITIONAL_ALLOWED_URLS='${join("|", var.boundary_additional_allowed_urls)}' \
|
|
||||||
ARG_BOUNDARY_PROXY_PORT='${var.boundary_proxy_port}' \
|
|
||||||
ARG_ENABLE_BOUNDARY_PPROF='${var.enable_boundary_pprof}' \
|
|
||||||
ARG_BOUNDARY_PPROF_PORT='${var.boundary_pprof_port}' \
|
|
||||||
ARG_COMPILE_FROM_SOURCE='${var.compile_boundary_from_source}' \
|
|
||||||
ARG_CODER_HOST='${local.coder_host}' \
|
|
||||||
/tmp/start.sh
|
|
||||||
EOT
|
|
||||||
|
|
||||||
install_script = <<-EOT
|
|
||||||
#!/bin/bash
|
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
echo -n '${base64encode(local.install_script)}' | base64 -d > /tmp/install.sh
|
|
||||||
chmod +x /tmp/install.sh
|
|
||||||
ARG_CLAUDE_CODE_VERSION='${var.claude_code_version}' \
|
|
||||||
ARG_MCP_APP_STATUS_SLUG='${local.app_slug}' \
|
|
||||||
ARG_INSTALL_CLAUDE_CODE='${var.install_claude_code}' \
|
|
||||||
ARG_REPORT_TASKS='${var.report_tasks}' \
|
|
||||||
ARG_WORKDIR='${local.workdir}' \
|
|
||||||
ARG_ALLOWED_TOOLS='${var.allowed_tools}' \
|
|
||||||
ARG_DISALLOWED_TOOLS='${var.disallowed_tools}' \
|
|
||||||
ARG_MCP='${var.mcp != null ? base64encode(replace(var.mcp, "'", "'\\''")) : ""}' \
|
|
||||||
/tmp/install.sh
|
|
||||||
EOT
|
|
||||||
}
|
}
|
||||||
|
|
||||||
output "task_app_id" {
|
output "task_app_id" {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user