数字海洋云
此包提供了代理工具来创建 App Platface app和 Droplets, 触发部署, 列出或删除资源, 以及管理域和 DNS 记录. 它使用DigitalOcean REST API,具有无记名签名认证.
安装
npm install @framers/agentos-ext-cloud-digitalocean
同伴依赖 : @framers/agentos 有范围 >=0.10.40。 。 。 .
使用量
import { AgentOS } from '@framers/agentos';
const agentos = await AgentOS.create({
extensionManifest: {
packs: [
{
package: '@framers/agentos-ext-cloud-digitalocean',
options: {
token: process.env.DIGITALOCEAN_TOKEN ?? process.env.DO_API_TOKEN,
},
},
],
},
});
配置
| 选项 | 秘密编号 | 环境变量 | 需求 | 默认 |
|---|---|---|---|---|
token | digitalocean.token | DIGITALOCEAN_TOKEN,则 DO_API_TOKEN | 对 | 空字符串 |
secrets | 没有 | context.secrets,则 {} |
明确选项优先于秘密,然后是环境变量. options.secrets 优先于 context.secrets。 。 。 .
工具
| 工具 | 它会做什么 |
|---|---|
doCreateApp | 从 Git 仓库创建 App 平台服务或静态站点. |
doCreateDroplet | 创建带有指定区域、大小、 OS 图像和可选设置字段的 Droplet. |
doListResources | 列出应用, Droplets, 或两者兼有, 并带有可选 Droplet 标签过滤器. |
doDeployApp | 触发对现有应用程序的部署,可选的完整重建. |
doManageDns | 列出或添加域并创建,读取,更新或删除 DNS 记录. |
doDeleteResource | 永久删除 App 平台应用程序或 Droplet . |
doCreateApp
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
name | 字符串 | 对 | 使用小写字母和连字符的 App 名称. |
gitUrl | 字符串 | 对 | Git 仓库克隆 URL . |
branch | 字符串 | 没有 | 要部署的 Git 分支, 默认 main。 。 。 . |
region | 字符串 | 没有 | 区域 sattle, 默认 nyc。 。 。 . |
buildCommand | 字符串 | 没有 | 构建命令覆盖 . |
runCommand | 字符串 | 没有 | 运行服务命令 . |
outputDir | 字符串 | 没有 | 静态站点输出目录. |
isStatic | 布尔 | 没有 | 部署为静态站点, 默认 false,它部署一个服务. |
envVars | 对象 | 没有 | 环境变量作为键值对. |
instanceSizeSlug | 字符串 | 没有 | 弹壳大小. |
doCreateDroplet
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
name | 字符串 | 对 | 滴滴主机名 . |
region | 字符串 | 对 | 区域弹丸. |
size | 字符串 | 对 | 大小弹. |
image | 字符串 | 对 | 图像弹或ID. |
sshKeys | (弦或数) [] | 没有 | SSH 密钥标识或指纹嵌入 Droplet. |
userData | 字符串 | 没有 | Cloud-init 用户数据脚本用于自动设置. |
backups | 布尔 | 没有 | 启用每周备份, 默认 false。 。 。 . |
ipv6 | 布尔 | 没有 | 启用 IPv6 网络, 默认 false。 。 。 . |
tags | 字符串 [] | 没有 | 用于组织和过滤的标记. |
doListResources
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
resourceType | 字符串 : apps, (中文(简体) ), droplets, (中文(简体) ), all | 没有 | 要列出的资源类型, 默认 all。 。 。 . |
page | 编号 | 没有 | 页面编号,默认 1. |
perPage | 编号 | 没有 | 每页项目,默认为20个,计划描述上限为200个. |
tag | 字符串 | 没有 | 通过标签名称过滤 Dropplets . |
doDeployApp
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
appId | 字符串 | 对 | 要部署的 App ID, 可从 doListResources。 。 。 . |
forceBuild | 布尔 | 没有 | 强制进行完整的重建,而不是新建,默认 false。 。 。 . |
doManageDns
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
action | 字符串 : list-domains, (中文(简体) ), add-domain, (中文(简体) ), list, (中文(简体) ), add, (中文(简体) ), update, (中文(简体) ), delete | 对 | 执行DNS的动作. |
domain | 字符串 | 没有 | 域名, 除 list-domains。 。 。 . |
recordId | 编号 | 没有 | 记录身份,更新和删除需要. |
recordType | 字符串 | 没有 | DNS 记录类型, 例如 A, (中文(简体) ), AAAA, (中文(简体) ), CNAME, (中文(简体) ), MX, (中文(简体) ), TXT, (中文(简体) ), SRV, (中文(简体) ), NS,或 CAA。 。 。 . |
name | 字符串 | 没有 | 记录名或主机名. |
data | 字符串 | 没有 | 记录数据或值,例如IP地址,CNAME目标,或MX服务器. |
ttl | 编号 | 没有 | 以秒计的时对活,计划描述默认为1800. |
priority | 编号 | 没有 | MX和SRV记录优先. |
port | 编号 | 没有 | SRV记录端口. |
weight | 编号 | 没有 | SRV记录的重量. |
doDeleteResource
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
resourceType | 字符串 : app, (中文(简体) ), droplet | 对 | 要删除的资源类型 . |
resourceId | 字符串 | 对 | 应用 UUID 或数字 Droplet ID 来删除 . |
页:1
缺少符号时激活失败, 通过获取账户信息来验证所提供的符号 .
App和Droplet创建提供远程资源. 服务应用程序使用固定环境 swit node-js 默认大小 basic-xxs。没有 outputDir 将构建文件夹保存到 App 平台,该平台正在寻找 _static, (中文(简体) ), dist, (中文(简体) ), public 财务报告和审定财务报表 build (单位:千美元)应用程序光谱) (中文(简体) ). App 变量使用类型 GENERAL 有范围 RUN_AND_BUILD_TIME。 。 。 .
部署触发了远程建设,并在不等待完成的情况下返回阶段。 资源删除是永久的,并根据删除工具的描述来销毁相关数据. 当数字返回出错时无法解析 Droplet ID .
DNS动作会添加域并添加,更新或删除记录. 所有动作,但 list-domains 需求 domain; 添加记录也要求 recordType, (中文(简体) ), name,以及 data; 需要更新或删除 recordId。请求代码省略 ttl 当它不存在时; 反应映射使用计数描述在反应省略时的默认.
资源列表会获取请求的页面, 而不执行 schema 描述 perPage 上限。 域和记录列表不遵循页码.
许可证
阿帕奇 - 2.0