The agentapi module is a building block for modules that need to run an
agentapi server. It's not meant for end users of Coder.
The agentapi-specific logic is mostly extracted from [the claude-code
module](c0f2d945c5/registry/coder/modules/claude-code).
You can see this module in action in [the goose 2.0
PR](https://github.com/coder/registry/pull/178).
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
---
|
|
display_name: AgentAPI
|
|
description: Building block for modules that need to run an agentapi server
|
|
icon: ../../../../.icons/coder.svg
|
|
maintainer_github: coder
|
|
verified: true
|
|
tags: [internal]
|
|
---
|
|
|
|
# AgentAPI
|
|
|
|
The AgentAPI module is a building block for modules that need to run an agentapi server. It is intended primarily for internal use by Coder to create modules compatible with Tasks.
|
|
|
|
We do not recommend using this module directly. Instead, please consider using one of our [Tasks-compatible AI agent modules](https://registry.coder.com/modules?search=tag%3Atasks).
|
|
|
|
```tf
|
|
module "agentapi" {
|
|
source = "registry.coder.com/coder/agentapi/coder"
|
|
version = "1.0.0"
|
|
|
|
agent_id = var.agent_id
|
|
web_app_slug = local.app_slug
|
|
web_app_order = var.order
|
|
web_app_group = var.group
|
|
web_app_icon = var.icon
|
|
web_app_display_name = "Goose"
|
|
cli_app_slug = "goose-cli"
|
|
cli_app_display_name = "Goose CLI"
|
|
module_dir_name = local.module_dir_name
|
|
install_agentapi = var.install_agentapi
|
|
pre_install_script = var.pre_install_script
|
|
post_install_script = var.post_install_script
|
|
start_script = local.start_script
|
|
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_PROVIDER='${var.goose_provider}' \
|
|
ARG_MODEL='${var.goose_model}' \
|
|
ARG_GOOSE_CONFIG="$(echo -n '${base64encode(local.combined_extensions)}' | base64 -d)" \
|
|
ARG_INSTALL='${var.install_goose}' \
|
|
ARG_GOOSE_VERSION='${var.goose_version}' \
|
|
/tmp/install.sh
|
|
EOT
|
|
}
|
|
```
|
|
|
|
## For module developers
|
|
|
|
For a complete example of how to use this module, see the [goose module](https://github.com/coder/registry/blob/main/registry/coder/modules/goose/main.tf).
|